You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Alex Blewitt <Al...@ioshq.com> on 2003/08/09 10:59:07 UTC

Re: [components] [JNDI] [Config] - lazy loading...

> J2EE decomposes nicely into a bunch of APIs javax.xxx.*. We just need 
> a persistant registration service. The first time you run up Geronimo, 
> all services start, declaring that e.g. they implement javax.naming or 
> javax.servlet etc... (package granularity should be enough). Deployers 
> also register their interest in e.g. WebContainer:war etc...

I think that JNDI would provide an excellent registration service, 
especially to follow with previous suggestions about using JNDI for 
storing configuration data. [Of course, it pre-supposes that the JNDI 
service is one of the 'core' services that is already up :-)]

You could then set aside a context, such as geronimo/startup/services/ 
and when installing a new service for the first time (such as during 
application install, or plugin install at a later stage) then it can 
write an entry in there, such as 
geronimo/startup/services/JavaMail=org.apache.mail.Xxxx which is then 
used to register the service and what it can do.

> These deps are saved away, and next time you start Geronimo, put to 
> good use - the dependency tree is shaken out and only services 
> required are loaded. This behaviour could be switchable, to load 
> lazily in development and proactively in production.

It would probably just be a matter of a startup switch that configured 
one behaviour over another. In fact, a generic switch to say 'run in 
development mode' or 'run in server mode' would probably have wider 
ramifications to other services as well, such as whether they cached 
information or dynamically obtained it each time.

> If you upgrade or add new services, jars, their presence would 
> invalidate the relevant part of the cached dependency tree or index.

Installing a plug-in could be a matter of writing a few entries into 
this list :-)

> I don't want something like this to get in the way of getting a server 
> out of the door ASAP, but I'd like it to be considered if anyone 
> starts working, out on  branch, on the ultimate plug-in component 
> system for Geronimo services...

I can see a very easy transition towards this if we go with the JNDI 
representation layer with a configuration interface. We could then move 
the definition of these services into that registry layer ...

Alex.