Alan Cabrera was kind enough to point out a good question: Why not use GBeans? There was another component to the conversation regarding this which I neglected to include: It *IS* possible to interface the GBeans for lifecycle, but from what I understand there isn't "orderly" deployment. I don't know this section of things too well, but from what I understand there is a necessity to define various dependencies if you were to use Gbeans for this. By defining a LifecycleInterface, conceivably dependencies could be configured on the fly based on the modules defined in application.xml Dain & Jeremy, can you guys backfill this a bit? I'll go back through the IRC log as well and pull up that piece of the conversation. Thanks, Brendan --- Brendan W. McAdams bmcadams@twodot.org "I am free, no matter what rules surround me. If I find them tolerable, I tolerate them; if I find them too obnoxious, I break them. I am free because I know that I alone am morally responsible for everything I do." --- Professor Bernardo de La Paz Robert A. Heinlein "The Moon Is A Harsh Mistress" On May 1, 2004, at 6:46 PM, Brendan W.McAdams wrote: > I'm doing my best to collate some of the information provided here by > several people ; it's my hope they will put in their two cents as well > in reply and straighten out any misquotes I may make, and help flesh > this idea out. > > I had a conversation with Jeremy Boynes on Thursday Night, to which > Dain gave some input on Friday morning, regarding some of the > Application Level Lifecycle interfacing that BEA provides in their > Weblogic product. > > Using the weblogic-application.xml file (Weblogic's custom supplement > to application.xml for EAR files), one is able to define a Lifecycle > application (or more than one ; there is no limit) which implements a > basic Lifecycle interface: > > preStart - before contents (modules) of application (EAR) are loaded, > this method is invoked > postStart - after all contents (modules - ejbs, etc) are loaded and > initialised, this method is invoked > preStop - when the application (or encompassing appserver) signals it > is being stopped, this is invoked before signalling modules to stop > postStop - once all modules in the application have been shut down, > this method is invoked > > As I stated, once you've written a class that implements the interface > and these methods, you simply declare it in a block in > weblogic-application.xml. When the EAR file is deployed, the > AppServer automatically picks up the Lifecycle app, and sends each > change of status (one of the four) notification through it. > > I realise it may sound like I'm rambling but I do have a point... I > think that a similar facility would help Geronimo greatly. > As a usage example, we use it at my company to preload the entity > cache with the approximately 15,000 bond offers that are active in our > marketplace at a given time. [This way, we load the entity cache > before the system is available, preventing 'database load' slowdown > the first time someone does a large market search]. We are also using > it to initialise certain timer events, and fire off events to our > Message Driven Beans to setup the marketplace. There are, I am sure, > plenty of other beneficial uses that we haven't even begun to touch > on. > > The conversations with Jeremy and Dain yielded some good feedback , > and I believe they agree with the idea. > > One of the things suggested [by Jeremy] was allowing lifecycle > definitions even at the level of individual modules of an application, > to do more fine tuned control. > > On the same lines, we discussed allowing access from the lifecycle > level to the Local interfaces; from what I understand of the EJB > container contract it's ok to let other services in the appserver > access local interfaces [BEA doesn't allow it directly but instead > optimises away the RMI calls on any remote bean invocation within the > AppServer]. This would certainly make the lifecycle even more > powerful [in our case for Beans which are Local only, our lifecycle > invokes a session bean to do the job]. > > I believe I've put a good bit of the information compiled here, of > course if anyone has feedback please post it back to the list. > > Regards, > > Brendan > --- > Brendan W. McAdams > bmcadams@twodot.org > > "I am free, no matter what rules surround me. If I find them > tolerable, I tolerate them; if I find them too obnoxious, I break > them. I am free because I know that I alone am morally responsible for > everything I do." --- Professor Bernardo de La Paz > Robert A. Heinlein "The Moon Is A Harsh Mistress" >