3

ActivMQ apache-activemq-5.14.3に接続するJBoss EAP 7.0.0.GAの設定があります。私たちは、次のような構成でセットアップするために耐久性のある加入者をしようとしている:我々は次のログを見ればActiveMQ - クライアントが既に同じclientIdエラーで接続されています

@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") 

はしかし、我々は同時に、JBossサーバーコンソールに

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 

を次の例外を取得しています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設定は、(1最大プールサイズを設定しようとしたが、効果なしに)以下の通りである:

/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) 

AMQのエキスパートからのサポートをお願いします。

答えて

-1

おそらく、プロパティ/設定を変更することで問題が解決する可能性があります。 以下の構成を使用して、クライアントIDを変更するには、たとえば試してみてください。

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

これはあなたのclientIdがユニーク

+1

おかげヨーゲッシュであることを保証します、我々はClientIdをされてセットを持っているために、財産の交換方法を試してみました動的に、悲しげに猶予しないでください。それでも同じエラーが発生します。最大1つの接続に対して接続ファクトリプールをセットアップしても、単一のノードセットアップしかありませんが、複数のスレッドが同じClientIdを使用して接続しようとします。 – dchucks

関連する問題