Have philosophic question.
Why is it worth to have kind of 'enterprise container' in java? Why not support enterprise container features on JVM level? For example what if I want to use some of EJB features in my desktop application. Is here something wrong in architecture point of view? You CAN use Spring 'enterprise features' w开发者_开发知识库ithout 'enterprise container' like Glassfish even without 'servlet container' like Tomcat. And this is good, isn't it?Thanks.
The JVM already gets its beating for starting up slowly. Adding the stuff provided by a J2EE Environment would make this even worse.
Of course you can run a EJB Container (or whatever you need) on the desktop if you want.
Update to answer the question in the comment:
Using Enterprise Server Feature often means that you just configure something (putting a XML at a specific place; put an annotation somewhere else. So the JVM would have to check for these signs to decide if it should fire up its Enterprisy pieces.
I think J2EE container is above the layer of compiled code runtime. There is no clear benefit to integrate J2EE container within JVM itself iregardless is business or technical reasons.
Furthermore, if we get J2EE container embedded within JVM, the deployment runtime and development toolkit binary distribution will become a disaster, there will be so many version to be maintaned and trobleshoot.
Not the least is that JVM is bytecode friendly only, when we code in Java, we are using 6-gen language form.
My 2 cents of opinion only.
精彩评论