This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Hi. I want to learn EJB 3.0, and to do that, I need a container. Until yesterday, I had been considering Glassfish / Sun WebApp server or JBoss. However, after downloading those and running, I have to admit that they are real resource hogs (my computer is not so powerful as I would like it to be) and pretty darn complex to start working with (especially JBoss). So, I have been googling for quite some time now, and foud EasyBeans, which is an implementation of EJB 3.0 used in JonAS (whatever it is, I don't know this AS), but which can be used without it, as an embedded container, for example in Tomcat. I must say it is pretty attractive to me, as I have worked with Tomcat before so there would be no learning curve on how to use the web container, or even use the EJB in a plain JSE environment. However, as I want to learn for SCBCD (and more), I need something that is fully compliant, that's why I considered Glassfish, as the reference implementation. Have you ranchers ever used EasyBeans? If so, what are your feelings about it? Do you think it is a good option for me right now? Any problems encountered? Thanks.
I don't know EasyBeans, but if you want to compare Glassfish versus JBoss, I really advice you to choose Glassfish. In my opinion, it is better than JBoss regarding the EJB3 specification. Also, JBoss uses a different JNDI name than the default pattern, it's boring.
In EJB 3.1 there will be a EJB light, where you do not need a full application server to run the EJBs, however it will be release in a soon future.
Give OpenEJB a try. It is super-fast, lightweight and closely integrates with Tomcat. It will also allow you to deploy EJBs directly in WEB-INF/classes.
I am a bit surprised to hear that you are having performance problems with GlassFish. I use it on my desktop without any noticeable impact (2 Gig processor, 515 MB memory). I would say GlassFish performance is on par with Tomcat on my machine. In addition GlassFish has a very polished console for application configuration that JBoss doesn't have. It's also almost a drag-and-drop experience using Java EE 5 annotations, as opposed to older, more XML based solutions.
As to the learning curve, most people I've seen find that Java EE 5 is very easy to pick-up, as is GlassFish. It's even better while using Seam. I would suggest getting a one-or-two days training course on Java EE 5...you'll see the difference pretty quickly :-).
Independent Consultant — Author, EJB 3 in Action — Expert Group Member, Java EE 6 and EJB 3.1