2016-10-13 3 views
0

Ich versuche, mit WMQ und Solace Messaging Framework zu verbinden, um Nachrichten von beiden konsumieren Ich habe mehrere Listener für WMQ, aber beim Versuch, einen anderen Listener zu verbinden, Adapter, Anwendung zu verbinden startet nichtResource Adapter Binding Solace, WMQ, JBOSS EAP 6.4

Da nur letzte Zuhörer Trost binded wird immer

Referenzdatei

<?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> 

Also in diesem Fall JBOSS versucht wird zu assoziieren ListenerX wmq.jmra.rar und schlägt fehl.

In standalone.xml Standardadapter ist wmq aber still, es sollte möglich sein, es in jboss-ejb3.xml zu überschreiben, und es funktioniert gut, wenn ich nur einen Listener für den Troastersatz verwende.

Problem tritt nur auf, wenn ich versuche, mehrere Listener mit Trost als Ressourcenadapter zu verwenden.

Ihre Hilfe wird geschätzt. Vielen Dank.

+0

ich kein Problem mit "@ResourceAdapter (value =" haben com.solacesystems.ra ")" Anmerkung innerhalb der MDB, können Sie versuchen, dass ? Auch, was ist Ihre ejb-jar.xml und gibt es Anmerkungen in der MDB-Quelle? –

+0

Danke für die Antwort Russel. Ich versuche das und werde in diesem Forum aktualisieren –

+0

Dies funktioniert nicht mit Anmerkungen auch, ich musste separate Projekt für einen Listener für Trost erstellen und Adapter in jboss-ejb3.xml-Datei dieses Projekts jedoch innerhalb dieses Projekts konfigurieren Außerdem kann ich keinen Solace-Adapter für 2 Solace-Listener zuordnen, die separate Warteschlangen hören. –

Antwort

1

Ich habe dies jetzt mit dem Assembly-Deskriptor arbeiten. Ich glaube, dass das Problem ist, dass Sie mehrere <assembly-descriptor> Abschnitte haben, die in einem seltsamen Verhalten von JBoss führen.

Hier ist ein Beispiel jboss-ejb3.xml:

<?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

Danke Russel. Es funktionierte nach deinem Vorschlag –

Verwandte Themen