1 Reply Latest reply on Jun 6, 2009 11:50 PM by Pete Muir

    Web Beans with Tomcat (and no EJB in general)

    Arbi Sookazian Master

      In Seam, one of the advantages of using JavaBean Seam components is incremental hot deployment.


      From SiA:



      Seam goes the extra mile to enable live development by using an isolated development
      classloader that supports incremental hot deployment of JavaBean components.
      This classloader is used if the following conditions are satisfied:
      ■ Seam is running in debug mode.
      ■ jboss-seam-debug.jar is on the runtime classpath.
      ■ SeamFilter is registered in web.xml.
      ■ The application is using the WAR archive format.

      So are there any other advantages of using a so-called light-weight container like Tomcat (essentially a servlet container) vs. a full-blown JEE app server like JBoss with ejb container services?


      Since 299 is part of (or will be part of?) EE 6, it seems to me that Web Beans is designed to be used with JSF and EJB3 components.  But the Web Beans user guide covers Wicket and Tomcat integration as well.


      For example, there is the @Transactional annotation in Seam, but is there something equivalent to this in Web Beans?  Or is that outside the scope of 299 (JCDI)?


      A disadvantage of using Tomcat is there is no distributed tx support (XA/2PC) like you have with JTA/EJB container... And I'm guessing JPA is available outside of an EJB container (e.g.. in a Java SE app), so that shouldn't be a problem.


      So what's the official recommendation; EJB container or Tomcat?