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