tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vikrant Yagnick <Vikrant.Yagn...@mastek.com>
Subject RE: OpenEJB Startup Performance
Date Tue, 08 Sep 2009 14:34:14 GMT
Not sure if this email reached the lists, sending again.....
-----Original Message-----
From: Vikrant Yagnick
Sent: Tuesday, September 08, 2009 7:45 PM
To: Vikrant Yagnick; 'users@openejb.apache.org'
Subject: RE: OpenEJB Startup Performance

Sorry,

Not sure if the mail-list allows attachments. I am attaching relevant sections (Highlighting
things that seem to take time using ************) :


2009-09-08 19:29:53,319 - INFO  - openejb.home = D:\mobileclient\mobile_client_oc4j\j2ee\mobileclient\applications\mobileclient\eElixir\WEB-INF
2009-09-08 19:29:53,319 - INFO  - openejb.base = D:\mobileclient\mobile_client_oc4j\j2ee\mobileclient\applications\mobileclient\eElixir\WEB-INF
2009-09-08 19:29:53,896 - INFO  - Using 'openejb.validation.skip=false'
2009-09-08 19:29:55,146 - INFO  - Configuring Service(id=Default Security Service, type=SecurityService,
provider-id=Default Security Service)
2009-09-08 19:29:55,146 - INFO  - Configuring Service(id=Default Transaction Manager, type=TransactionManager,
provider-id=Default Transaction Manager)
2009-09-08 19:29:55,146 - INFO  - Configuring Service(id=My Unmanaged DataSource, type=Resource,
provider-id=Default JDBC Database)
2009-09-08 19:29:55,146 - INFO  - Configuring Service(id=My JMS Resource Adapter, type=Resource,
provider-id=Default JMS Resource Adapter)
2009-09-08 19:29:55,162 - INFO  - Configuring Service(id=EElixirDS, type=Resource, provider-id=Default
JDBC Database)
2009-09-08 19:29:55,162 - INFO  - Configuring Service(id=MAYBANSYS, type=Resource, provider-id=Default
JDBC Database)
2009-09-08 19:29:55,162 - INFO  - Configuring Service(id=My JMS Connection Factory, type=Resource,
provider-id=Default JMS Connection Factory)
2009-09-08 19:29:55,162 - INFO  - Configuring Service(id=My CMP Container, type=Container,
provider-id=Default CMP Container)
2009-09-08 19:29:55,177 - INFO  - Configuring Service(id=My BMP Container, type=Container,
provider-id=Default BMP Container)
2009-09-08 19:29:55,177 - INFO  - Configuring Service(id=My Stateful Container, type=Container,
provider-id=Default Stateful Container)
2009-09-08 19:29:55,177 - INFO  - Configuring Service(id=My Stateless Container, type=Container,
provider-id=Default Stateless Container)
2009-09-08 19:29:55,177 - INFO  - Configuring Service(id=My MDB Container , type=Container,
provider-id=Default MDB Container)
************************2009-09-08 19:29:57,427 - INFO  - Configuring enterprise application:
D:\mobileclient\mobile_client_oc4j\j2ee\mobileclient\applications\mobileclient\eElixir\WEB-INF\classes
************************2009-09-08 19:30:22,748 - WARN  - WARN ... OccupationExtraEJB:  Unused
ejbCreate method: ejbCreate()
2009-09-08 19:30:22,748 - WARN  - WARN ... PremiumMasterEJB:    Unused ejbCreate method: ejbCreate()
2009-09-08 19:30:22,748 - WARN  - WARN ... ProductBaseEJB:      Unused ejbCreate method: ejbCreate()
2009-09-08 19:30:22,748 - WARN  - WARN ... ProductCombinationEJB:       Unused ejbCreate method:
ejbCreate()
2009-09-08 19:30:22,748 - WARN  - WARN ... RidersWaivedEJB:     Unused ejbCreate method: ejbCreate()
2009-09-08 19:30:22,764 - WARN  - WARN ... StatusEJB:   Unused ejbCreate method: ejbCreate()
2009-09-08 19:30:22,764 - WARN  - WARN ... CHMInterfaceEJB:     Unused ejbCreate method: ejbCreate()
2009-09-08 19:30:22,764 - WARN  - WARN ... ILinkPolicyEJB:      Unused ejbCreate method: ejbCreate()
2009-09-08 19:30:22,764 - WARN  - WARN ... PCG8DividendEJB:     Unused ejbCreate method: ejbCreate()
2009-09-08 19:30:22,764 - WARN  - WARN ... PCG8DividendEJB:     Unused ejbPostCreate method:
ejbPostCreate(com.mastek.eElixir.finance.common.helper.PCG8Dividend)
2009-09-08 19:30:22,764 - WARN  - WARN ... BenefitRateEJB:      Unused ejbCreate method: ejbCreate()
2009-09-08 19:30:22,764 - WARN  - WARN ... CommissionRuleEJB:   Unused ejbCreate method: ejbCreate()
2009-09-08 19:30:22,764 - WARN  - WARN ... AdjustmentEJB:       Unused ejbCreate method: ejbCreate()
2009-09-08 19:30:22,764 - WARN  - WARN ... RINPremiumMasterEJB: Unused ejbCreate method: ejbCreate()
2009-09-08 19:30:22,764 - INFO  - Enterprise application "D:\mobileclient\mobile_client_oc4j\j2ee\mobileclient\applications\mobileclient\eElixir\WEB-INF\classes"
loaded.
2009-09-08 19:30:22,764 - INFO  - Using 'openejb.deployments.classpath=false'
2009-09-08 19:30:22,764 - INFO  - Creating TransactionManager(id=Default Transaction Manager)
2009-09-08 19:30:23,076 - INFO  - Creating SecurityService(id=Default Security Service)
2009-09-08 19:30:23,138 - INFO  - Creating Resource(id=My Unmanaged DataSource)
2009-09-08 19:30:23,201 - INFO  - Creating Resource(id=EElixirDS)
2009-09-08 19:30:23,263 - INFO  - Creating Resource(id=MAYBANSYS)
2009-09-08 19:30:23,263 - INFO  - Creating Resource(id=My JMS Resource Adapter)
2009-09-08 19:30:24,294 - INFO  - Creating Resource(id=My JMS Connection Factory)
2009-09-08 19:30:24,310 - INFO  - Creating ConnectionManager for Resource(id=My JMS Connection
Factory)
2009-09-08 19:30:24,404 - INFO  - Creating Container(id=My CMP Container)
2009-09-08 19:30:24,482 - INFO  - Creating Container(id=My BMP Container)
2009-09-08 19:30:24,529 - INFO  - Creating Container(id=My Stateful Container)
2009-09-08 19:30:24,966 - INFO  - Creating Container(id=My Stateless Container)
2009-09-08 19:30:24,997 - INFO  - Creating Container(id=My MDB Container )
************************************2009-09-08 19:30:25,013 - INFO  - Assembling app: D:\mobileclient\mobile_client_oc4j\j2ee\mobileclient\applications\mobileclient\eElixir\WEB-INF\classes
********************************2009-09-08 19:31:55,488 - INFO  - Using 'openejb.jndiname.format={interfaceClass}'
2009-09-08 19:31:55,582 - INFO  - Jndi(name=com.mastek.eelixirinterfaceservice.common.ejb.sessionbean.TSARCheckSLLocalHome)
--> Ejb(deployment-id=TSARCheckSLEJB)
2009-09-08 19:31:55,582 - INFO  - Jndi(name=com.mastek.eelixirinterfaceservice.common.ejb.sessionbean.MGCCCommonSLHome)
--> Ejb(deployment-id=MGCCCommonSLEJB)
2009-09-08 19:31:55,597 - INFO  - Jndi(name=com.mastek.eElixir.product.takaful.ejb.session.TakafulSLLocalHome)
--> Ejb(deployment-id=TakafulSLEJB)
2009-09-08 19:31:55,597 - INFO  - Jndi(name=com.mastek.eElixir.policyservicing.TakafulTopUp.ejb.sessionbean.TakafulTopUpSLLocalHome)
--> Ejb(deployment-id=PSTakafulTopUpSLEJB)
2009-09-08 19:31:55,597 - INFO  - Jndi(name=com.mastek.eElixir.reports.ejb.sessionbean.ReportSLHome)
--> Ejb(deployment-id=ReportSLEJB)

............................A lot more of JNDI Names ....followed by...................
2009-09-08 19:31:58,034 - INFO  - Created Ejb(deployment-id=CommissionRuleEJB, ejb-name=CommissionRuleEJB,
container=My BMP Container)
2009-09-08 19:31:58,034 - INFO  - Created Ejb(deployment-id=CatastropheEJB, ejb-name=CatastropheEJB,
container=My BMP Container)
2009-09-08 19:31:58,034 - INFO  - Created Ejb(deployment-id=BillingFrequencySLEJB, ejb-name=BillingFrequencySLEJB,
container=My Stateless Container)
2009-09-08 19:31:58,034 - INFO  - Created Ejb(deployment-id=UnclaimedMoneyPVSLEJB, ejb-name=UnclaimedMoneyPVSLEJB,
container=My Stateless ........................Lots of these................and in the end...................
2009-09-08 19:31:58,565 - INFO  - Created Ejb(deployment-id=ProductPrmMapEJB, ejb-name=ProductPrmMapEJB,
container=My BMP Container)
2009-09-08 19:31:58,565 - INFO  - Created Ejb(deployment-id=ClawbackEJB, ejb-name=ClawbackEJB,
container=My BMP Container)
2009-09-08 19:31:58,612 - INFO  - Deployed Application(path=D:\mobileclient\mobile_client_oc4j\j2ee\mobileclient\applications\mobileclient\eElixir\WEB-INF\classes)



-----Original Message-----
From: Vikrant Yagnick
Sent: Tuesday, September 08, 2009 7:38 PM
To: users@openejb.apache.org
Subject: RE: OpenEJB Startup Performance

Hi Quintin,

Here is a typical startup log. There are a lot of EJB's for sure, but significant time is
taken while assembling the app. (Is that when it searches for the EJB classes?)

Cheers,
Vikrant

-----Original Message-----
From: Quintin Beukes [mailto:quintin@skywalk.co.za]
Sent: Tuesday, September 08, 2009 7:15 PM
To: users@openejb.apache.org
Subject: Re: OpenEJB Startup Performance

Like mentioned.

Can you perhaps send us a log output of when OpenEJB starts up.

Q

On Tue, Sep 8, 2009 at 2:50 PM, Vikrant Yagnick <Vikrant.Yagnick@mastek.com> wrote:
> Hi All,
>
> Thanks for the replies.
>
> We already have a ejb-jar.xml since we have been using EJB 2.1(not 3.0 unfortunately...:().
> The number of EJB's are going to remain pretty static since it has already been developed.
>
> This won't really be that big a problem in Production, as once openejb initializes there
is no more delay. I need to figure out a way to initialize it automatically when the main
container starts-up (rather than on the first request to the application).



>
> The pain really is while we are in development as for any small change requiring a container
re-start openEJB needs to re-create the entire application assembly.
>
> We initialize openEJB using openejb.conf and set the following:
> <Deployments dir="classes" />
>
> The "classes" folder contains a META-INF folder which in-turn has the ejb-jar.xml.
>
> I apologize if this sounds like a real newbie question, but is there a better way for
us to do this?
>
> Cheers,
> Vikrant
>
> -----Original Message-----
> From: Jonathan Gallimore [mailto:jonathan.gallimore@gmail.com]
> Sent: Tuesday, September 08, 2009 6:01 PM
> To: users@openejb.apache.org
> Subject: Re: OpenEJB Startup Performance
>
> On Mon, Sep 7, 2009 at 10:30 PM, Quintin Beukes <quintin@skywalk.co.za>wrote:
>
>> Hey,
>>
>> I'm no EJB master either, but I can answer your questions with what I
>> do know.
>>
>> 1. Perfectly fine. If you run it in something like Geronimo, it's
>> basically just embedded in Geronimo. Your web server is nothing more
>> than a Java Application, and OpenEJB has 2 modes, Standalone and
>> Embedded (I think there is another one I can't recall). So you're
>> just initializing the OpenEJB application inside your VM, and have
>> the same stability/functionality provided in any other mode. In fact,
>> I would recommend doing this with OpenEJB any day.
>>
>
> This is absolutely right, it should work fine for you, and will
> basically just run like the Embedded container. I do this at work for
> the day job - we functionally test our app using Jetty and OpenEJB,
> and then we can just access our app as if it were running in JBoss or
> Geronimo. Its not used in production (yet - but we have considered it)
> but it works very well. (I wrote it up here:
> http://openejb.apache.org/functional-testing-with-openejb-jetty-and-se
> lenium.htmlif
> you're interested).
>
> Let us know if have any problems with this setup.
>
>
>
>
>>
>> 2. How many EJBs do you have for it to take this long? If you have a
>> huge classpath you can try trimming down the search to only the
>> desired JARs. See:
>> http://openejb.apache.org/3.0/application-discovery-via-the-classpath
>> .html
>> .
>> Alternatively you can try and specify static bean configurations in
>> ejb-jar.xml. They would be something like this:
>>
>> <?xml version="1.0" encoding="UTF-8" ?> <ejb-jar
>> xmlns="http://java.sun.com/xml/ns/javaee" version="3.0"
>>         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>>         http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">
>>   <enterprise-beans>
>>      <session>
>>         <ejb-name>TestBean</ejb-name>
>>         <local>net.kunye.test.TestLocal</local>
>>         <remote>net.kunye.test.TestRemote</remote>
>>      </session>
>>      <session>
>>         <ejb-name>PersonnelBean</ejb-name>
>>         <local>net.kunye.platform.personnel.PersonnelLocal</local>
>>         <remote>net.kunye.platform.personnel.PersonnelRemote</remote>
>>      </session>
>>   </enterprise-beans>
>> </ejb-jar>
>>
>> When you do this all the beans that are listed will be loaded from
>> XML (no annotation interpretation afaik) and the rest of the beans
>> will be loaded the normal way.
>>
>> What you can do is perhaps hook in a compile-time task to generate
>> this list for you. If you already have such a file with other
>> configurations, you can perhaps make a template and generate the
>> ejb-jar.xml everytime you compile.
>>
>> I'm not sure how much this will help. I've never really had to deal
>> with this problem. The most EJBs I've loaded was around 50 I think,
>> and it went quick. Some of the other guys might be able to help with
>> this.
>>
>> Q
>>
>
> I agree with what others have said here - it might be spending a long
> time searching the classpath for EJBs - changing
> openejb.deployments.classpath.include/exclude settings might help. If
> you can let us know how many EJBs you have, how many Jars are on your
> classpath, and maybe a log as well we might be able to help tune this a bit.
>
> Jon
>
> MASTEK LTD.
> Mastek is in NASSCOM's 'India Top 20' Software Service Exporters List.
> In the US, we're called MAJESCOMASTEK
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Opinions expressed in this e-mail are those of the individual and not that of Mastek
Limited, unless specifically indicated to that effect. Mastek Limited does not accept any
responsibility or liability for it. This e-mail and attachments (if any) transmitted with
it are confidential and/or privileged and solely for the use of the intended person or entity
to which it is addressed. Any review, re-transmission, dissemination or other use of or taking
of any action in reliance upon this information by persons or entities other than the intended
recipient is prohibited. This e-mail and its attachments have been scanned for the presence
of computer viruses. It is the responsibility of the recipient to run the virus check on e-mails
and attachments before opening them. If you have received this e-mail in error, kindly delete
this e-mail from desktop and server.
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>



--
Quintin Beukes

MASTEK LTD.
Mastek is in NASSCOM's 'India Top 20' Software Service Exporters List.
In the US, we're called MAJESCOMASTEK

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Opinions expressed in this e-mail are those of the individual and not that of Mastek Limited,
unless specifically indicated to that effect. Mastek Limited does not accept any responsibility
or liability for it. This e-mail and attachments (if any) transmitted with it are confidential
and/or privileged and solely for the use of the intended person or entity to which it is addressed.
Any review, re-transmission, dissemination or other use of or taking of any action in reliance
upon this information by persons or entities other than the intended recipient is prohibited.
This e-mail and its attachments have been scanned for the presence of computer viruses. It
is the responsibility of the recipient to run the virus check on e-mails and attachments before
opening them. If you have received this e-mail in error, kindly delete this e-mail from desktop
and server.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Mime
View raw message