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