2016-10-13 18 views
0

両方からのメッセージを消費するためにWMQとSolaceメッセージングフレームワークに接続しようとしています WMQ用に複数のリスナーがありますが、別のリスナーをアダプタ/アプリケーションリソースアダプタバインドSolace、WMQ、JBOSS EAP 6.4

を開始していないとしてだけで最後のリスナーが慰め

リファレンスファイルに

<?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はwmq.jmra.rarするListenerXを関連付けしようとして失敗しています。

standalone.xmlのデフォルトのアダプタはwmqですがstilです。jboss-ejb3.xmlでそれを上書きすることができます。また、唯一のリスナを使用すると正常に動作します。

<mdb> 
       <resource-adapter-ref resource-adapter-name="wmq.jmsra.rar"/> 
       <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/> 
      </mdb> 

問題は、リソースアダプタとして複数のリスナーを使用するときにのみ発生します。

あなたのお手伝いがありがとうございます。ありがとう。

+0

、あなたはそれを試すことができます?また、あなたのejb-jar.xmlは何ですか?また、MDBソースの中に注釈がありますか? –

+0

レスリーに感謝ラッセル。私はこれを試しており、このフォーラムで更新されます –

+0

これは注釈でも機能しませんが、私はこのプロジェクトのjboss-ejb3.xmlファイルでsolersとconfigure adapterのリスナー用に別々のプロジェクトを作成しなければなりませんでしたまた、別のキューを聴いている2人のソルジャーリスナーのためにソルセスアダプターを関連付ける/バインドすることができません。 –

答えて

1

これで、アセンブリ記述子を使用して動作するようになりました。 私はこの問題は、複数の<assembly-descriptor>セクションがあり、その結果JBossから奇妙な動作が起こると考えています。ここで

は、サンプルのjboss-ejb3.xmlです:私はMDB内の "@ResourceAdapter(値=" com.solacesystems.ra ")" アノテーションで何の問題をしたん

<?xml version="1.1" encoding="UTF-8"?> 
<jboss 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>MDB1</ejb-name> 
      <ejb-class>com.test.MDB1</ejb-class> 
      <activation-config> 
       ... 
      </activation-config> 
     </message-driven> 
     <message-driven> 
      <ejb-name>MDB2</ejb-name> 
      <ejb-class>com.test.MDB2</ejb-class> 

      <activation-config> 
       ... 
      </activation-config> 
     </message-driven> 
    </enterprise-beans> 

    <assembly-descriptor> 
     <r:resource-adapter-binding> 
      <ejb-name>MDB1</ejb-name> 
      <r:resource-adapter-name>com.solacesystems.ra</r:resource-adapter-name> 
     </r:resource-adapter-binding> 

     <r:resource-adapter-binding> 
      <ejb-name>MDB2</ejb-name> 
      <r:resource-adapter-name>com.solacesystems.ra</r:resource-adapter-name> 
     </r:resource-adapter-binding> 
    </assembly-descriptor> 
</jboss> 
+0

ありがとうRussel。それはあなたの提案に従って働いた –