Hi all, I've got important issues with OpenEJB, when it's embedded in Tomcat. For some of them, I created a JIRA OPENEJB-1417 OPENEJB-1416 See also http://openejb.979440.n4.nabble.com/TR-jira-Created-OPENEJB-1416-Classloading-performance-issue-in-SAAJFactoryFinder-tp3090548p3090548.html
Since OpenEJB 3.1.4 we also have had bad startup performances. For example, try to add the BcProv 1.5 artifact to a WEB-INF/lib/ directory of a webapp and you will see what happens. I know that this jar is already available in OpenEJB/lib and it should not be included in wars but end users doesn't really know what happens behind the scene with Tomcat + OpenEJB and classloading issue. So, in order to increase deployment time, i managed also to solve: https://issues.apache.org/jira/browse/OPENEJB-1231 https://issues.apache.org/jira/browse/OPENEJB-1230 While digging and fixing those issues with Rniamo, I was repeating again and again the same code. There is already a lot of duplicate code (which I don't like at all) specially in Tomcat integration. So i decided to create https://issues.apache.org/jira/browse/OPENEJB-1418. By refactoring the code, i resolve implicitly https://issues.apache.org/jira/browse/OPENEJB-1417 Another good impact is that EAR integration in Tomcat really works now. Pojo web service management is also better now. Regarding OPENEJB-1230, I noticed that the behavior is not the same in standalone versus embedded mode. In standalone, all is excluded (defaults) and OpenEJB only looks for modules with descriptors whereas in Tomcat, it scans the whole classloader which is very time consuming (test with BouncyCastle). Anyway, now the behavior is the same in Tomcat and in standalone mode. For each webapp we can change include/exclude pattern or for all webapps if you use the default context.xml. We can also now exclude a entire webapp from being deployed by OpenEJB. The question is about defaults now: - for standalone, we have include="" and exclude=".*" which is pretty call for unit tests - for Tomcat, we have the same which is not really spec compliant because AFAIR, descriptors are optional. In standalone mode (MainImpl classes), Tomcat and Jetty, we have the system.properties where we can override with more relevant defaults. In unit test (initial context), we can leave those defaults because there are very useful. Thoughts? Regarding JPA 2 support (https://issues.apache.org/jira/browse/OPENEJB-1236), i think that's now finished. See also http://openejb.979440.n4.nabble.com/Fwd-svn-commit-r1052305-1-3-in-openejb-trunk-openejb3-container-openejb-jee-src-main-java-org-apache-tp3162245p3162245.html Last but not least ;-) Bean Validation integration https://issues.apache.org/jira/browse/OPENEJB-1352 and the related post http://openejb.979440.n4.nabble.com/OPENEJB-1352-Bean-Validation-tp3162301p3162301.html That was a first shoot. It works with some limitations, but before going ahead i'd like to get an input to know if i'm going fine or if it's totally wrong to do so. I order to save my work and allow each one to have a look, I'd like to create a branch and commit all changes to the branch. So we can then merge what we want and "spread" all changes to the right issue. Otherwize, i can commit on the trunk after another full compile/test. By the way, all still works for me. [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] OpenEJB ........................................... SUCCESS [1.062s] [INFO] OpenEJB :: Dependencies ........................... SUCCESS [0.110s] [INFO] OpenEJB :: Dependencies :: JavaEE API ............. SUCCESS [13.265s] [INFO] OpenEJB :: iTests ................................. SUCCESS [0.250s] [INFO] OpenEJB :: iTests Beans ........................... SUCCESS [4.391s] [INFO] OpenEJB :: iTests Servlets ........................ SUCCESS [1.234s] [INFO] OpenEJB :: iTests Client .......................... SUCCESS [6.234s] [INFO] OpenEJB :: iTests Interceptor Beans ............... SUCCESS [1.094s] [INFO] OpenEJB :: iTests App ............................. SUCCESS [3.094s] [INFO] OpenEJB :: iTests Web ............................. SUCCESS [1.125s] [INFO] OpenEJB :: Container .............................. SUCCESS [0.171s] [INFO] OpenEJB :: Container :: API ....................... SUCCESS [0.829s] [INFO] OpenEJB :: Container :: Loader .................... SUCCESS [2.312s] [INFO] OpenEJB :: Container :: Java Agent ................ SUCCESS [1.516s] [INFO] OpenEJB :: Container :: Java EE ................... SUCCESS [35.436s] [INFO] OpenEJB :: Container :: Core ...................... SUCCESS [9:08.162s] [INFO] OpenEJB :: Container :: Spring .................... SUCCESS [11.484s] [INFO] OpenEJB :: Container :: OSGi :: Core .............. SUCCESS [3.781s] [INFO] OpenEJB :: Container :: OSGi ...................... SUCCESS [5.141s] [INFO] OpenEJB :: Container :: ActiveMQ4 ................. SUCCESS [1:20.686s] [INFO] OpenEJB :: Container :: JUnit ..................... SUCCESS [17.437s] [INFO] OpenEJB :: Server ................................. SUCCESS [0.312s] [INFO] OpenEJB :: Server :: Client ....................... SUCCESS [13.625s] [INFO] OpenEJB :: Server :: Core ......................... SUCCESS [7.265s] [INFO] OpenEJB :: Server :: Multicast Discovery .......... SUCCESS [27.516s] [INFO] OpenEJB :: Server :: EJBd ......................... SUCCESS [56.483s] [INFO] OpenEJB :: Server :: Admin ........................ SUCCESS [1.531s] [INFO] OpenEJB :: Server :: Http ......................... SUCCESS [25.578s] [INFO] OpenEJB :: Server :: WebAdmin ..................... SUCCESS [5.921s] [INFO] OpenEJB :: Server :: Telnet ....................... SUCCESS [3.422s] [INFO] OpenEJB :: Server :: ActiveMQ ..................... SUCCESS [3.344s] [INFO] OpenEJB :: Server :: CORBA ........................ SUCCESS [1.187s] [INFO] OpenEJB :: Server :: Derby Network Service ........ SUCCESS [2.985s] [INFO] OpenEJB :: Server :: Hsql ......................... SUCCESS [3.062s] [INFO] OpenEJB :: Server :: Webservices .................. SUCCESS [7.172s] [INFO] OpenEJB :: Server :: Axis ......................... SUCCESS [10.078s] [INFO] OpenEJB :: Server :: Axis2 ........................ SUCCESS [14.281s] [INFO] OpenEJB :: Server :: CXF .......................... SUCCESS [17.921s] [INFO] OpenEJB :: Server :: Daemon ....................... SUCCESS [2.782s] [INFO] OpenEJB :: Examples :: @ApplicationException inheritance SUCCESS [6.749s] [INFO] OpenEJB :: Examples :: Simple Stateful Pojo ....... SUCCESS [4.907s] [INFO] OpenEJB :: Examples :: Simple Stateless Pojo ...... SUCCESS [4.187s] [INFO] OpenEJB :: Examples :: Simple Stateless With Deployment Descriptor SUCCESS [4.781s] [INFO] OpenEJB :: Examples :: Simple Singleton ........... SUCCESS [4.109s] [INFO] OpenEJB :: Examples :: Simple MDB Example ......... SUCCESS [5.500s] [INFO] OpenEJB :: Examples :: Simple MDB Using Deployment Descriptor Example SUCCESS [6.344s] [INFO] OpenEJB :: Examples :: Simple CMP2 Entity ......... SUCCESS [7.719s] [INFO] OpenEJB :: Examples :: Simple Webservice .......... SUCCESS [10.296s] [INFO] OpenEJB :: Examples :: EJB 2.1 Component Interfaces SUCCESS [4.766s] [INFO] OpenEJB :: Examples :: @EJB Injection ............. SUCCESS [4.843s] [INFO] OpenEJB :: Examples :: @Resource env-entry Injection SUCCESS [5.657s] [INFO] OpenEJB :: Examples :: @Resource DataSource Injection SUCCESS [4.249s] [INFO] OpenEJB :: Examples :: @PersistenceContext EntityManager Injection SUCCESS [6.688s] [INFO] OpenEJB :: Examples :: @Resource javax.jms.ConnectionFactory SUCCESS [6.125s] [INFO] OpenEJB :: Examples :: Testing Transactions ....... SUCCESS [7.484s] [INFO] OpenEJB :: Examples :: Testing Security ........... SUCCESS [7.422s] [INFO] OpenEJB :: Examples :: Testing Security ........... SUCCESS [7.234s] [INFO] OpenEJB :: Examples :: TestCase Injection ......... SUCCESS [7.265s] [INFO] OpenEJB :: Examples :: Alternate Descriptors ...... SUCCESS [7.688s] [INFO] OpenEJB :: Examples :: Ear Testing ................ SUCCESS [0.156s] [INFO] OpenEJB :: Examples :: Ear Testing :: Business Model SUCCESS [1.141s] [INFO] OpenEJB :: Examples :: Ear Testing :: Business Logic SUCCESS [6.921s] [INFO] OpenEJB :: Examples :: Interceptors ............... SUCCESS [6.453s] [INFO] OpenEJB :: Examples :: Expanded support for Env Entries SUCCESS [5.266s] [INFO] OpenEJB :: Examples :: Hello World - Weblogic ..... SUCCESS [5.797s] [INFO] OpenEJB :: Examples :: JPA with Hibernate ......... SUCCESS [12.562s] [INFO] OpenEJB :: Examples :: JPA with EclipseLink ....... SUCCESS [9.109s] [INFO] OpenEJB :: Examples :: Spring Integration ......... SUCCESS [11.781s] [INFO] OpenEJB :: Examples :: Telephone Stateful Pojo .... SUCCESS [6.141s] [INFO] OpenEJB :: Examples :: Quartz Application ......... SUCCESS [0.125s] [INFO] Quartz Resource Adapter ........................... SUCCESS [0.937s] [INFO] Quartz Beans ...................................... SUCCESS [9.016s] [INFO] OpenEJB :: Examples :: Webservice Attachments ..... SUCCESS [9.296s] [INFO] OpenEJB :: Web Examples :: EJB Examples War ....... SUCCESS [4.250s] [INFO] OpenEJB :: Web Examples :: EJB WebService ......... SUCCESS [1.375s] [INFO] OpenEJB :: Web Examples :: JSF with MyFaces ....... SUCCESS [6.484s] [INFO] OpenEJB :: Web Examples :: Struts ................. SUCCESS [5.922s] [INFO] OpenEJB :: Web Examples :: EJB WebService ......... SUCCESS [9.937s] [INFO] OpenEJB :: Web Examples ........................... SUCCESS [0.172s] [INFO] OpenEJB :: Web Examples :: EJB WebService with Security SUCCESS [10.188s] [INFO] OpenEJB :: Web Examples :: EJB WebService with WS-Security SUCCESS [20.624s] [INFO] OpenEJB :: Examples :: Webservice Inheritance ..... SUCCESS [12.391s] [INFO] OpenEJB :: Examples :: Transaction Rollback ....... SUCCESS [10.874s] [INFO] OpenEJB :: Examples :: Troubleshooting ............ SUCCESS [8.500s] [INFO] OpenEJB :: Examples ............................... SUCCESS [0.313s] [INFO] OpenEJB :: Assembly ............................... SUCCESS [0.172s] [INFO] OpenEJB :: Assembly :: WebApp :: Common ........... SUCCESS [3.937s] [INFO] OpenEJB :: Assembly :: iTests Standalone Client ... SUCCESS [12.094s] [INFO] OpenEJB :: Assembly :: Tomcat ..................... SUCCESS [0.390s] [INFO] OpenEJB :: Assembly :: Tomcat :: Loader ........... SUCCESS [2.953s] [INFO] OpenEJB :: Assembly :: Tomcat :: Common ........... SUCCESS [7.219s] [INFO] OpenEJB :: Assembly :: Tomcat :: Catalina ......... SUCCESS [6.531s] [INFO] OpenEJB :: Assembly :: Tomcat :: Webapp ........... SUCCESS [29.359s] [INFO] OpenEJB :: Assembly :: Tomcat :: Bundle ........... SUCCESS [2:26.435s] [INFO] OpenEJB :: Assembly :: Webapp ..................... SUCCESS [1:03.108s] [INFO] OpenEJB :: Assembly :: Java EE API Libraries ...... SUCCESS [12.968s] [INFO] OpenEJB :: Assembly :: Standalone ................. SUCCESS [43.640s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 26:13.861s [INFO] Finished at: Thu Dec 30 16:15:21 CET 2010 [INFO] Final Memory: 492M/989M [INFO] ------------------------------------------------------------------------ Regards, Jean-Louis -- View this message in context: http://openejb.979440.n4.nabble.com/Current-tasks-and-status-tp3171647p3171647.html Sent from the OpenEJB Dev mailing list archive at Nabble.com.
