Hi Joachim,
phoenix is able to reload an application or to deploy a new application
without restarting the full container. If you put a new sar file in the
apps folder it try to deploy it.
Maybe we could add some management code to make an sar-restart without a
phoenix restart but keep in mind that OSGi is not the holy grail in
this: just remember that most time you install new plugins or update
plugins in Eclipse you have to restart Eclipse... and eclipse is based
on OSGi. This simply happens because not only the container have to
support dynamic reloading, but the components must be aware of this and
this need work.
Imho we'll stay with Avalon for a lot, and I bet we'll change the
container before removing avalon code from our core components (maybe
we'll try plexus, maybe we'll write something to wrap an avalon
component as an OSGi bundle).
Furthermore I think that Avalon is a simple specification for
components, while OSGi is more a specification for containers. If I
understood it correctly there is nothing that stop you from writing an
Avalon container that is able to reload single services/components on
the fly.
Stefano
Joachim Draeger wrote:
Hi!
Having my hands in Avalon a few thoughts came to my mind concerning
James future and OSGi.
Well I think I have an idea now what OSGi is. But I'm still trying to
find out what it DOES. :-) (I'm really a novice and may be totally wrong)
AFAIK it doesn't help us with DI and IOC and configuration things. It
provides a base for dynamic reconfiguration (setting values) but for
James needs it seems like it would have to be much extended. (But it's
even a good thing to have a standard base)
But what it is able to do is really powerful: assembling and updating
bundles on the fly without any restart.
So it would be possible to change implementation of the different
bundles (services) like spoolmanager, pop3 or imap server. What's even
more interesting: changing implementations of different custom mailets
or adding other extensions without any restart.
And I guess to do so it much messes around with the class loader and
such stuff.
There are many choices of choosing a container for DI/configuration
stuff. And I think even Avalon is not that bad.
But for that life-cycle management on the run there *only* seems to be
OSGi.
Am I missing some other framework?
IMHO restarting servers sucks. ;-)
The following mail was quite informative for me:
http://www.mail-archive.com/server-dev@james.apache.org/msg06460.html
Joachim
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]