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.