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.

Reply via email to