Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Invalid
-
5.10.0
-
None
-
None
-
glassfish >= 3.1
activemq-5.10.0
project jee >=5
activemq-ra.5.10.0.rar
ear + ejb + mdb +servlet
Description
In glassfish deploy activemq-ra
create jms connectorFactory jms/testConnectionFactory
with property serverUrl = activemqUrl
create jms queue jms/testQueue
create sessionBean producer with injecteds resources jms/testConnectionFactory and testQueue.
create servlet for launch producer.
This works.
But now create MDB with Activation Spec Properties
destination = "jms/testQueue"
destinationType = "Queue"
in glassfish-ejb-jar.xml configure the mdb
<enterprise-beans> <ejb> <ejb-name>MDB-NAME<ejb-name> <mdb-connection-factory> <jndi-name>jms/testConnectionFactory</jndi-name> </mdb-connection-factory> </ejb> </enterprise-beans>
the MDB doesnt work, I can't use the connectionFactory for MDB why ?
This technic works perfectly with openMQ but not with activeMQ
If I place the conguration on resource-adapter with Resource Adapter Properties and define in glassfish-ejb-jar.xml
<enterprise-beans> <ejb> <ejb-name>MDB-NAME<ejb-name> <mdb-resource-adapter> <resource-adapter-mid>activemq-ra.5.10.0</resource-adapter-mid> </mdb-resource-adapter> </ejb> </enterprise-beans>
this works, but If I want to use 2 differents business activemq for 1 application, how I do ?
The solution is deploy 2 or more resource-adapter, but this is unstable and ugly. The logic is I deploy 1 resource-adapter and configure separatly 2 connectionFactories/pools.
When I look sources of ra, I feel that the MDB doesn't use ra connectionFactory config in glassfish. just adapter config and spec from MDB.