geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Guglielmo.Licht...@instinet.com
Subject Re: Start-up classes
Date Wed, 23 Nov 2005 20:14:45 GMT
We have a whole list of classes whose static initialization needs to 
happen in
a specific order. If a thread tries to use any one of them before the 
class initialization
is completed, it can cause deadlocks, which will stop the application from 
starting.

I don't code like this myself, but I inherited this, and my focus here is 
to get this deployed
on Geronimo the fastest way possible. It's about money.

I was thinking that your kernel already has a concept of dependencies, and 
it does have
to figure out the graph of gbeans so that if A references B that start() 
is called on B before
it's called on A.

So maybe I can create two gbeans: one is the one that does the 
initialization (B), and the other
is just empty and references it (A) and is part of the j2ee app 
configuration? Then B should
get initialized before A?

Guglielmo





David Jencks <david_jencks@yahoo.com>
11/23/2005 12:05 PM
Please respond to user

 
        To:     user@geronimo.apache.org
        cc: 
        Subject:        Re: Start-up classes



On Nov 23, 2005, at 11:47 AM, Guglielmo.Lichtner@instinet.com wrote:

>
> I am migrating an application from WebLogic to Geronimo. It consists 
> of EJBs but it also has a "startup" class,
> meaning a class whose main() method has to be invoked before the ejbs 
> are deployed. Unfortunately this class
> performs a huge initialization procedure during class initialization, 
> and it really has to be done before anything else.
>
> In WLS there is a <startup> tag in config.xml, and a similar tag in 
> weblogic-application.xml. To do the same in Geronimo
> I am guessing that I can declare a <gbean> inside 
> geronimo-application.xml. Is that correct?

Yes.  However, I'm not sure what you need in terms of timing or what 
you mean by "before the ejbs are deployed".  Our deployment process 
results in defining gbean instances for each ejb, and the application 
configuration just has all the gbeans in it.  Without doing more, there 
is no guarantee that your startup gbean will start before any ejb 
container gbean.  On the other hand, your custom gbean is fairly 
certain to get started before any ejb instances are created or any 
calls to ejbs occur.  If you need your startup code executed before any 
ejb class is loaded however, we'll need to find another solution.  Can 
you tell us anything more about what kinds of things you need to do and 
when?

thanks
david jencks
>
> Thanks
> Guglielmo
>
> P.S. Your server looks very clean. Thanks for all the work.

Thanks!!!






*****************************************************************
<<<Disclaimer>>>

In compliance with applicable rules and regulations, Instinet
reviews and archives incoming and outgoing email communications,
copies of which may be produced at the request of regulators.
This message is intended only for the personal and confidential
use of the recipients named above.  If the reader of this email
is not the intended recipient, you have received this email in
error and any review, dissemination, distribution or copying is
strictly prohibited. If you have received this email in error,
please notify the sender immediately by return email and
permanently delete the copy you received.  

Instinet accepts no liability for any content contained in the
email, or any errors or omissions arising as a result of email
transmission. Any opinions contained in this email constitute
the sender's best judgment at this time and are subject to change
without notice.   Instinet does not make recommendations of a
particular security and the information contained in this email
should not be considered as a recommendation, an offer or a
solicitation of an offer to buy and sell securities.

*****************************************************************


Mime
View raw message