Good work ! A few remarks: * the native bundle needs some specific headers for loading the native libraries I think * the protocol tracking needs to be done with a real service tracker, shutting down the server if the protocol service is unregistered, and waiting for the protocols needed in the configuration (and printing a log message to know what the configuration is waiting for) * the protocol factory services need to have a list of protocols on the properties (those obtained from ProtocolManagerFactory#getProtocols() so that they can be tracked correctly I think * i think we should provide a ready-to-use feature with default configuration, such as ActiveMQ provides (installing the default config in etc/artemis.xml and needed configadmin config for the broker factory)
2015-11-20 15:17 GMT+01:00 Christian Schneider <[email protected]>: > I created a branch on my github account that shows how we can run Artemis > in OSGi. > I started with the ueber bundle branch of Guillaume but wanted to create a > more modular solution. > > As we have all these duplicate packages I was not able to make each jar a > separate bundle. I needed to combine > the artemis-commons, artemis-core-client and artemis-server as they > contain most of the duplicates. I also added the jms support > as it will probably be always needed. Everything that artemis-server > depends on also needed to be included as else the bundles would have > circular references. > > I split off all protocols though. Each protocol published a service and > the artemis-server-osgi bundle picks up the services to populate the > ProtocolManagerFactory list. > Currently this is done in a very simplistic way but it can be improved to > wait for all needed protocols that are listed in a config. > > Apart from the duplicate packages the Artemis behaves quite well in OSGi. > > See > https://github.com/cschneider/activemq-artemis/tree/OSGi > > You can install Artemis with all protocols using: > feature:repo-add > mvn:org.apache.activemq/artemis-features/1.1.1-SNAPSHOT/xml > feature:install artemis-core artemis-hornetq artemis-stomp artemis-mqtt > artemis-amqp > > I would be happy about your feedback. > > Christian > > -- > Christian Schneider > http://www.liquid-reality.de > > Open Source Architect > http://www.talend.com > >
