For the geronimo 3 amq integration I've been working on getting amq 5.4 to run in de-springified osgi/buleprint using the xbean-blueprint NamespaceHandler I ported. I think I have at least a basic broker starting up.

I'd like to make a few changes so this will work better:

1. Several classes use what I think are obsolete spring-isms namely implementing the spring interfaces InitializingBean, DisposableBean, and FactoryBean to tell spring stuff. IIUC a more up-to-date technique is to set this in the xml or, using xbean, using InitMethod and destroyMethod annotations. For the classes that are otherwise not spring-dependent I'd like to switch to the xbean annotations. The classes involved are:

activemq-pool/src/main/java/org/apache/activemq/pool/ PooledConnectionFactoryBean.java activemq-camel/src/main/java/org/apache/activemq/camel/component/ CamelEndpointLoader.java activemq-core/src/main/java/org/apache/activemq/spring/ ActiveMQConnectionFactory.java activemq-core/src/main/java/org/apache/activemq/spring/ SpringSslContext.java activemq-core/src/main/java/org/apache/activemq/spring/ ActiveMQXAConnectionFactory.java (has other spring-isms) activemq-core/src/main/java/org/apache/activemq/broker/util/ LoggingBrokerPlugin.java activemq-core/src/main/java/org/apache/activemq/broker/util/ CommandAgent.java activemq-core/src/main/java/org/apache/activemq/filter/ DestinationMapEntry.java


In addition, I need to expose
activemq-core/src/main/java/org/apache/activemq/broker/ BrokerService.java
to xbean.

2. To allow other bundles to interact with amq in osgi, it looks like org.apache.activemq.util.osgi.Activator needs to be run. One possibility would be to just install it as the bundle activator for activemq-core, this is what I've tried and appears to work OK. If this doesn't seem like a good idea to everyone I think I can just install it as a blueprint bean in a geronimo bundle.

Comments?

thanks
david jencks

Reply via email to