Honestly, I was never a big fan of Java EE, but we created great applications with it. Node.js is sexy and hip, but it cannot do all the things
J2EE can. Meteor itself is only Node.js in disguise, so you can count it as yet another MEAN variant (MongoDB, ExpressJS,
AngularJS, Node.js, only without Express and Angular).
Similar to what we've seen a while ago with the
SOAP movement we now observe a move to micro services. That means applications are split up into small. independent modules that work together to perform what previously monolithic apps did. Java was often used for those monolithic blocks, the application server received HTTP requests, it did processing of some kind and spit out HTML. I think this will change and Java will lose its position in front of the processing chain - where Node.js fits perfectly.
I think (and lot's of salt required for reading on) that Java still has its place with a lot of tasks (anyone keen on using an ETL written in JavaScript?), but it will lose ground to the immediate processing of client requests where once HTTP requests occurred. There are many advantages using the same language on front and back, but there are also deficits where Java fits in just fine.