Hi Thiago,

We do in fact scan all of WEB-INF/lib/ and WEB-INF/classes for ejbs. The openejb.deployments.classpath.include property applies to boot- time scanning of the system classpath, but we could probably rig up something that allows you to set that and similar flags for an individual webapp.

Filed a jira on it: https://issues.apache.org/jira/browse/OPENEJB-925
 (for notifications:  
https://issues.apache.org/jira/secure/ViewIssue.jspa?id=12406545&watch=true)

-David

On Oct 15, 2008, at 4:29 PM, Thiago Antônio Marafon wrote:

Hello Reza!
Thanks for helping me again.

I made a simple application, using no jars, with only one annotated EJB, and Tomcat loads in +- 25 seconds. If I make this app depend on Hibernate, Struts and some others jars (20 jars total), still with only one EJB, then Tomcat takes 55 seconds to start.

I´ve tried to use the openejb.xml to describe the deployments, tried the "openejb.deployments.classpath.include" system property, and I even tried to put the EJB .class files in a jar with an empty ejb- jar.xml file, but Tomcat still takes more than 50 seconds to start.

We can´t use all of these jars in Tomcat lib because there are many applications running together and each one using different versions of the libs. Even Hibernate, some of them uses 3.1.3, others 3.2.5. Frequently, the apps are so big that we don´t have time to migrate for the new vesions.

It would be possible to put Struts and some others jars in Tomcat/ lib, but that is not really nice, specially during development. It is better to have them within the application, so they stay together in the repository (we still don´t use Maven. I hope we do soon).

".. you can always disable class-path scanning by setting the metadata-complete attribute to "true" in the deployment descriptor. However, that will also turn off annotations processing completely."

You mean I would have to describe the EJBs using XML?

Regards,
Thiago

Reza Rahman escreveu:
Thiago,

What kind of boot times are you seeing? How many jars do you have? Do you need them all in the app or can some of them go in Tomcat/ lib instead? I have to say I haven't seen much of an issue on this, but I am using OpenEJB for unit testing only, not with Tomcat.

If performance is a very critical issue, you can always disable class-path scanning by setting the metadata-complete attribute to "true" in the deployment descriptor. However, that will also turn off annotations processing completely. That should improve performance, right David? Are there any other OpenEJB specific techniques? I am curious to know myself...

Cheers,
Reza


Thiago Antônio Marafon wrote:
Hi all,
I´m evaluation OpenEJB 3.0 with Tomcat 6. Everything is ok, my test application is working great. But, I noticed that the more jars the application has, longer is the Tomcat bootstrap time.
Then I saw this:
http://openejb.apache.org/3.0/application-discovery-via-the-classpath.html

And tried all the alternatives, but it looks like that in Tomcat these don´t work. My beans are annotated, there isn´t a ejb-jar.xml, and the .class files are not in a jar.
Any help?
Cheers,
Thiago







Reply via email to