lib/optional ディレクトリにある activemq が提供するリソース アダプタを使用するように切り替えました。
誰かが興味を持っている場合に備えて、これを機能させるために私が従った手順は次のとおりです
asadmin create-resource-adapter-config --property ServerUrl=failover\:(tcp\://localhost\:61616,tcp\://localhost\:61617) activemqra
asadmin deploy --name activemqra <path to activemq-rar-5.4.2.rar>
次に、リソースを作成します。
asadmin create-connector-connection-pool --raname --connectiondefinition javax.jms.ConnectionFactory --transactionsupport XATransaction jms/MyQueueFactoryPool
asadmin create-connector-resource --poolname jms/MyQueueFactoryPool jms/MyQueueQFactory
asadmin create-admin-object --raname activemqra --restype javax.jms.Queue --property PhysicalName=MyQueue jms/MyQueue
mdb を接続するには、これを sun-ejb-jar.xml に追加する必要がありました
<mdb-resource-adapter>
<resource-adapter-mid>activemqra</resource-adapter-mid>
<activation-config>
<activation-config-property>
<activation-config-property-name>DestinationType
</activation-config-property-name>
<activation-config-property-value>javax.jms.Queue
</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destination
</activation-config-property-name>
<activation-config-property-value>MyQueue
</activation-config-property-value>
</activation-config-property>
</activation-config>
</mdb-resource-adapter>
これを春の JMSTemplate に接続するには:
<bean id="ConFac" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>jms/MyQueueQQFactory</value>
</property>
<property name="resourceRef">
<value>true</value>
</property>
</bean>
<bean id="myqueue" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>jms/MyQueue</value>
</property>
<property name="resourceRef">
<value>true</value>
</property>
</bean>
<bean id="mdbTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="conFac" />
<property name="defaultDestination" ref="myqueue" />
</bean>