On 5/14/07, Bruce Snyder <[EMAIL PROTECTED]> wrote:
On 5/14/07, Guillaume Nodet <[EMAIL PROTECTED]> wrote: > While at JavaOne, we 've discussed using OSGI inside ServiceMix. > There are two areas where it can be used: > * the first one is to replace classworlds / xbean to configure the > container. Please elaborate on the replacement of XBean. I'm fine with replacing ClassWorlds classloader architecture with OSGi because of OSGi's superior model. But I don't want to lose the XBean XML dialect in the config files.
I'm thinking of developing several OSGI modules for the core. For example, bundles for: * jmx / rmi * log config * transaction manager * jndi registry * ActiveMQ * Derby + data source * JBI container So the whole configuration would not rely on XBean but on OSGI, each bundle declaring a few properties to be externalized (like already done in the servicemix.properties). Some modules could internaly use spring/xbean/osgi for the wiring instead of a java config. Thus some modules would contain a spring config file. However, event listeners would be deployed as separate bundles imho. I'm still not sure how to handle flows / permissions yet. I think the goal is to allow reconfiguring everything at runtime with the less disruption as possible.
Using OSGI will enable better classloader control and will allow updates > of JNDI, container and additionnal services at runtime > * the second area would be to use it for deployement too. This would also > give better control on the classloader (share libraries between SU for > example), > better versionning. But I'm not sure yet how this could be compatible > with > ServiceMix yet. I guess we can use the same mechanism we use in the > Geronimo deployer: the components / SAs are deployed as OSGI bundles > and we use an OSGI listener to dynamically add it to ServiceMix. > > I guess the next step is to use OSGI to deploy an artifact to a cluster > of ServiceMix instances, but i've no idea yet how it can be handled. > I will try to look at the container side first and will send an update soon > (I guess i will create a new branch to experiment a bit). > Any thoughts or additionnal ideas ? So we're still thinking about ServiceMix running on top of an OSGi container, not embedding an OSGi container, correct?
Yes. How will the use of OSGi affect the upgrade of various bundles at
runtime? I.e., will we be able to upgrade the servicemix-core bundle on-the-fly?
OSGI enables that as far as I understand. But I think it would require using OSGI bundles for components / SAs and I'm still not sure how it would work. I need to find more informations on how an OSGI container handle updating a bundle with services, or a bundle without services. Bruce
-- perl -e 'print unpack("u30","D0G)[EMAIL PROTECTED]&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*" );' Apache Geronimo - http://geronimo.apache.org/ Apache ActiveMQ - http://activemq.org/ Apache ServiceMix - http://servicemix.org/ Castor - http://castor.org/
-- Cheers, Guillaume Nodet ------------------------ Principal Engineer, IONA Blog: http://gnodet.blogspot.com/