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?


David Jencks <david_jencks@yahoo.com>

11/23/2005 12:05 PM
Please respond to user

        To:        user@geronimo.apache.org
        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

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



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.