3

Wir haben ein Setup von JBoss EAP 7.0.0.GA, das eine Verbindung zu ActivMQ apache-activemq-5.14.3 herstellt. Wir versuchen, einen dauerhaften Teilnehmer mit folgenden Konfiguration einzurichten:ActiveMQ - Der Client ist bereits mit demselben Client verbunden. Fehler

@MessageDriven(
     name = "TestListener", 
     activationConfig = { 
     @ActivationConfigProperty(propertyName = "destinationType", 
             propertyValue = "javax.jms.Topic"), 

     @ActivationConfigProperty(propertyName = "subscriptionDurability", 
             propertyValue = "Durable"), 

     @ActivationConfigProperty(propertyName = "subscriptionName", 
       propertyValue = "subscriptionNameTest"), 

     @ActivationConfigProperty(propertyName = "clientId", 
             propertyValue = "2"), 

     @ActivationConfigProperty(propertyName = "destination", 
             propertyValue = "jms/testTopic") 
     } 
) 
@PermitAll 
@ResourceAdapter(value="activemq-rar.rar") 

wir jedoch die folgenden Ausnahme in der JBoss-Server-Konsole

ERROR [org.apache.activemq.ra.ActiveMQEndpointWorker] (default-threads - 4) Failed to connect to broker [tcp://127.0.0.1:61616?jms.rmIdFromConnectionId=true]: Broker: TestBroker - Client: 2 already connected from tcp://127.0.0.1:64246: javax.jms.InvalidClientIDException: Broker: TestBroker - Client: 2 already connected from tcp://127.0.0.1:64246 

Zur gleichen Zeit bekommen, wenn wir die folgenden Protokolle sehen am activmq:

WARN | Failed to add Connection ID: 40600-51:1 due to javax.jms.InvalidClientIDException: Broker: TestBroker - Client: 2 already connected from tcp://127.0.0.1:64246 | org.apache.activemq.broker.TransportConnection | ActiveMQ Transport: tcp:///127.0.0.1:[email protected] 

ActiveMQManagedConnectionFactory die Einstellungen sind wie (versucht, die max-pool-Größe auf 1 setzen, aber ohne Wirkung) folgt:

/subsystem=resource-adapters/resource-adapter=activemq-rar.rar/connection-definitions=ConnectionFactory:add(class-name="org.apache.activemq.ra.ActiveMQManagedConnectionFactory", jndi-name="java:/MyConnectionFactory", enabled=true, min-pool-size=1, max-pool-size=20, pool-prefill=false, same-rm-override=false, recovery-username=ejb_user, recovery-password=xxxxx) 

Fordern Sie bitte Hilfe von AMQ Experten.

Antwort

-1

Vielleicht würde das Ändern Ihrer Eigenschaft/Konfiguration Ihr Problem lösen. zum Beispiel Versuchen Sie, Ihre Client-ID zu ändern, indem Sie die folgende Konfiguration verwenden:

@ActivationConfigProperty(propertyName="clientId", propertyValue = "2-${jboss.node.name}") 

Dadurch wird sichergestellt, dass Ihr clientId einzigartig ist

+1

Dank Yogesh, haben wir die Immobilie Ersetzungsweg versuchen, die ClientId sein Set zu haben dynamisch, leider keine Pause. Wir erhalten immer noch den gleichen Fehler. Wir haben nur Single-Node-Setup mit Connection Factory-Pool-Setup auf Max 1 Verbindung noch mehrere Threads versuchen, die gleiche ClientId Verbindung herzustellen. – dchucks

Verwandte Themen