WMQ と Solace メッセージング フレームワークに接続して、両方からのメッセージを消費しようとしています。WMQ には複数のリスナーがありますが、別のリスナーを Solace アダプターに関連付け/バインドしようとすると、アプリケーションが起動しません。
最後のリスナーだけが慰めに縛られているので
参照ファイル
<?xml version="1.1" encoding="UTF-8"?>
<jboss:ejb-jar xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:c="urn:clustering:1.0" xmlns:r="urn:resource-adapter-binding"
xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-ejb3-2_0.xsd http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"
version="3.1" impl-version="2.0">
<enterprise-beans>
<message-driven>
<ejb-name>CoreMessageEventListener</ejb-name>
<ejb-class>com.slohiya.ListenerA</ejb-class>
<activation-config>
<activation-config-property>
.
.
.
</activation-config-property>
</activation-config>
</message-driven>
<message-driven>
<ejb-name>ListenerB</ejb-name>
<ejb-class>com.slohiya.ListenerB</ejb-class>
<activation-config>
<activation-config-property>
.
.
.
</activation-config-property>
</activation-config>
</message-driven>
<message-driven>
<ejb-name>ListenerX</ejb-name>
<ejb-class>com.slohiya.ListenerX</ejb-class>
<activation-config>
<activation-config-property>
.
.
.
</activation-config-property>
</activation-config>
</message-driven>
<message-driven>
<ejb-name>ListenerY</ejb-name>
<ejb-class>com.slohiya.ListenerY</ejb-class>
<activation-config>
<activation-config-property>
.
.
.
</activation-config-property>
</activation-config>
<message-driven>
</enterprise-beans>
<assembly-descriptor>
<r:resource-adapter-binding>
<ejb-name>ListenerA</ejb-name>
<r:resource-adapter-name>wmq.jmsra.rar</r:resource-adapter-name>
</r:resource-adapter-binding>
</assembly-descriptor>
<assembly-descriptor>
<r:resource-adapter-binding>
<ejb-name>ListenerB</ejb-name>
<r:resource-adapter-name>wmq.jmsra.rar</r:resource-adapter-name>
</r:resource-adapter-binding>
</assembly-descriptor>
<assembly-descriptor>
<r:resource-adapter-binding>
<ejb-name>ListenerX</ejb-name>
<r:resource-adapter-name>com.solacesystems.ra</r:resource-adapter-name>
</r:resource-adapter-binding>
</assembly-descriptor>
<assembly-descriptor>
<r:resource-adapter-binding>
<ejb-name>ListenerY</ejb-name>
<r:resource-adapter-name>com.solacesystems.ra</r:resource-adapter-name>
</r:resource-adapter-binding>
</assembly-descriptor>
</jboss:ejb-jar>
したがって、この場合、JBOSS は ListenerX を wmq.jmra.rar に関連付けようとして失敗します。
standalone.xml では、デフォルトのアダプターは wmq ですが、それでも、jboss-ejb3.xml でオーバーライドできるはずであり、solace アダプターにリスナーを 1 つだけ使用すると正常に動作します。
<mdb>
<resource-adapter-ref resource-adapter-name="wmq.jmsra.rar"/>
<bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
</mdb>
問題が発生するのは、solace をリソース アダプタとして複数のリスナーを使用しようとした場合のみです。
あなたの助けに感謝します。ありがとう。