[ https://issues.apache.org/jira/browse/AMQ-5641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14356359#comment-14356359 ]
Timothy Bish edited comment on AMQ-5641 at 3/11/15 1:17 PM: ------------------------------------------------------------ We have tried different AMQP clients, but received the ”already connected” with all of them. Currently we use a really new (not officially released yet): {code} <dependency> <groupId>org.apache.qpid</groupId> <artifactId>qpid-amqp-1-0-client-jms</artifactId> <version>0.32-SNAPSHOT </version> <scope>compile</scope> </dependency> {code} >From Maven repo: https://repository.apache.org/snapshots/ We are not programming directly towards it, instead we invoke it with Apache Camel and Spring: {code} <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId> <version>2.14.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-spring</artifactId> <version>2.14.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-amqp</artifactId> <version>2.14.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-camel</artifactId> <version>5.10.0</version> <scope>compile</scope> </dependency> {code} Configuration: {code} <bean id="myFailoverAMQPConnectionFactory" class="org.apache.qpid.amqp_1_0.jms.impl.ConnectionFactoryImpl"> <property name="sslContextProtocol" value="TLSv1.2" /> <property name="sslEnabledProtocols" value="TLSv1.2" /> <property name="sslDisabledProtocols" value="" /> <property name="keyStorePath" value="${amqp.router.keystore.path}" /> <property name="keyStorePassword" value="${amqp.router.keystore.password}" /> <property name="keyStoreCertAlias" value="${amqp.router.keystore.certalias}" /> <property name="trustStorePath" value="${amqp.router.truststore.path}" /> <property name="trustStorePassword" value="${amqp.router.truststore.password}" /> <constructor-arg type="java.lang.String" value="${baoxin.amqp.failover.host}" /> <constructor-arg type="int" value="${baoxin.amqp.failover.port}" /> <constructor-arg type="java.lang.String" value="${baoxin.amqp.username}" /> <constructor-arg type="java.lang.String" value="${baoxin.amqp.password}" /> <constructor-arg type="java.lang.String" value="${baoxin.amqp.client.name}" /> <constructor-arg type="boolean" value="${amqp.router.tls.enabled} " /> <!-- Which is currently false --> </bean> {code} Here is what the connect attempt looks like on our side: {noformat} 2015-03-10 00:09:36,959 FINE [RAW] [QpidConnectionInputThread-0] RECV [/101.231.211.148:5672] : AMQP\x00\x01\x00\x00 2015-03-10 00:09:37,005 FINE [RAW] [QpidConnectionInputThread-0] RECV [/101.231.211.148:5672] : \x00\x00\x00e\x02\x00\x00\x00\x00S\x10\xc0X\x0a\xa1\x00\xa1\x00p\xff\xff\xff\xff`\x7f\xff@@@\xe0\x12\x01\xa3\x0fANONYMOUS-RELAY@\xc11\x04\xa3\x0ctopic-prefix\xa1\x08topic://\xa3\x0cqueue-prefix\xa1\x08queue:// 2015-03-10 00:09:37,005 FINE [FRM] [QpidConnectionInputThread-0] RECV[/101.231.211.148:5672|0] : Open{containerId=,hostname=,maxFrameSize=4294967295,channelMax=32767,offeredCapabilities=[ANONYMOUS-RELAY],properties={queue-prefix=queue://, topic-prefix=topic://}} 2015-03-10 00:09:37,020 FINE [RAW] [QpidConnectionInputThread-0] RECV [/101.231.211.148:5672] : \x00\x00\x00\x81\x02\x00\x00\x00\x00S\x18\xc0t\x01\x00S\x1d\xc0n\x02\xa3\x12amqp:invalid-field\xa1WBroker: localhost - Client: XXXXClient already connected from tcp://xxx.xxx.xxx.xxx:50081\x00\x00\x00\x1a\x02\x00\x00\x00\x00S\x11\xc0\x0d\x05`\x00\x00R\x01CCp\x00\x00\x04\x00\x00\x00\x00\x17\x02\x00\x00\x00\x00S\x13\xc0\x0a\x04Cp\x7f\xff\xff\xffR\x01C 2015-03-10 00:09:37,021 FINE [FRM] [QpidConnectionInputThread-0] RECV[/101.231.211.148:5672|0] : Close{error=Error{condition=invalid-field,description=Broker: localhost - Client: XXXXClient already connected from tcp://xxx.xxx.xxx.xxx:50081}} 2015-03-10 00:09:37,024 FINE [FRM] [QpidConnectionOutputThread-0] SEND[/101.231.211.148:5672|0] : Close{} 2015-03-10 00:09:37,024 FINE [FRM] [QpidConnectionInputThread-0] RECV[/101.231.211.148:5672|0] : Begin{remoteChannel=0,nextOutgoingId=1,incomingWindow=0,outgoingWindow=0,handleMax=1024} 2015-03-10 00:09:37,024 FINE [FRM] [QpidConnectionInputThread-0] RECV[/101.231.211.148:5672|0] : Flow{nextIncomingId=0,incomingWindow=2147483647,nextOutgoingId=1,outgoingWindow=0} 2015-03-10 00:09:37,025 FINE [RAW] [QpidConnectionOutputThread-0] SEND[/101.231.211.148:5672] : \x00\x00\x00\x0e\x02\x00\x00\x00\x00S\x18\xc0\x01\x00 {noformat} was (Author: andyshi): We have tried different AMQP clients, but received the ”already connected” with all of them. Currently we use a really new (not officially released yet): <dependency> <groupId>org.apache.qpid</groupId> <artifactId>qpid-amqp-1-0-client-jms</artifactId> <version>0.32-SNAPSHOT </version> <scope>compile</scope> </dependency> >From Maven repo: https://repository.apache.org/snapshots/ We are not programming directly towards it, instead we invoke it with Apache Camel and Spring: <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId> <version>2.14.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-spring</artifactId> <version>2.14.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-amqp</artifactId> <version>2.14.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-camel</artifactId> <version>5.10.0</version> <scope>compile</scope> </dependency> Configuration: <bean id="myFailoverAMQPConnectionFactory" class="org.apache.qpid.amqp_1_0.jms.impl.ConnectionFactoryImpl"> <property name="sslContextProtocol" value="TLSv1.2" /> <property name="sslEnabledProtocols" value="TLSv1.2" /> <property name="sslDisabledProtocols" value="" /> <property name="keyStorePath" value="${amqp.router.keystore.path}" /> <property name="keyStorePassword" value="${amqp.router.keystore.password}" /> <property name="keyStoreCertAlias" value="${amqp.router.keystore.certalias}" /> <property name="trustStorePath" value="${amqp.router.truststore.path}" /> <property name="trustStorePassword" value="${amqp.router.truststore.password}" /> <constructor-arg type="java.lang.String" value="${baoxin.amqp.failover.host}" /> <constructor-arg type="int" value="${baoxin.amqp.failover.port}" /> <constructor-arg type="java.lang.String" value="${baoxin.amqp.username}" /> <constructor-arg type="java.lang.String" value="${baoxin.amqp.password}" /> <constructor-arg type="java.lang.String" value="${baoxin.amqp.client.name}" /> <constructor-arg type="boolean" value="${amqp.router.tls.enabled} " /> <!-- Which is currently false --> </bean> Here is what the connect attempt looks like on our side: 2015-03-10 00:09:36,959 FINE [RAW] [QpidConnectionInputThread-0] RECV [/101.231.211.148:5672] : AMQP\x00\x01\x00\x00 2015-03-10 00:09:37,005 FINE [RAW] [QpidConnectionInputThread-0] RECV [/101.231.211.148:5672] : \x00\x00\x00e\x02\x00\x00\x00\x00S\x10\xc0X\x0a\xa1\x00\xa1\x00p\xff\xff\xff\xff`\x7f\xff@@@\xe0\x12\x01\xa3\x0fANONYMOUS-RELAY@\xc11\x04\xa3\x0ctopic-prefix\xa1\x08topic://\xa3\x0cqueue-prefix\xa1\x08queue:// 2015-03-10 00:09:37,005 FINE [FRM] [QpidConnectionInputThread-0] RECV[/101.231.211.148:5672|0] : Open{containerId=,hostname=,maxFrameSize=4294967295,channelMax=32767,offeredCapabilities=[ANONYMOUS-RELAY],properties={queue-prefix=queue://, topic-prefix=topic://}} 2015-03-10 00:09:37,020 FINE [RAW] [QpidConnectionInputThread-0] RECV [/101.231.211.148:5672] : \x00\x00\x00\x81\x02\x00\x00\x00\x00S\x18\xc0t\x01\x00S\x1d\xc0n\x02\xa3\x12amqp:invalid-field\xa1WBroker: localhost - Client: XXXXClient already connected from tcp://xxx.xxx.xxx.xxx:50081\x00\x00\x00\x1a\x02\x00\x00\x00\x00S\x11\xc0\x0d\x05`\x00\x00R\x01CCp\x00\x00\x04\x00\x00\x00\x00\x17\x02\x00\x00\x00\x00S\x13\xc0\x0a\x04Cp\x7f\xff\xff\xffR\x01C 2015-03-10 00:09:37,021 FINE [FRM] [QpidConnectionInputThread-0] RECV[/101.231.211.148:5672|0] : Close{error=Error{condition=invalid-field,description=Broker: localhost - Client: XXXXClient already connected from tcp://xxx.xxx.xxx.xxx:50081}} 2015-03-10 00:09:37,024 FINE [FRM] [QpidConnectionOutputThread-0] SEND[/101.231.211.148:5672|0] : Close{} 2015-03-10 00:09:37,024 FINE [FRM] [QpidConnectionInputThread-0] RECV[/101.231.211.148:5672|0] : Begin{remoteChannel=0,nextOutgoingId=1,incomingWindow=0,outgoingWindow=0,handleMax=1024} 2015-03-10 00:09:37,024 FINE [FRM] [QpidConnectionInputThread-0] RECV[/101.231.211.148:5672|0] : Flow{nextIncomingId=0,incomingWindow=2147483647,nextOutgoingId=1,outgoingWindow=0} 2015-03-10 00:09:37,025 FINE [RAW] [QpidConnectionOutputThread-0] SEND[/101.231.211.148:5672] : \x00\x00\x00\x0e\x02\x00\x00\x00\x00S\x18\xc0\x01\x00 > Failed to add Connection ID > --------------------------- > > Key: AMQ-5641 > URL: https://issues.apache.org/jira/browse/AMQ-5641 > Project: ActiveMQ > Issue Type: Bug > Components: AMQP, Connector > Affects Versions: 5.11.0 > Environment: windows server 2008 > Reporter: AndyShi > Priority: Critical > > AMQP is used as the following configuraiton. > <transportConnector name="amqp" > uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> > 2015-03-05 16:09:41,175 | WARN | Failed to add Connection > ID:PVVM040012-49713-1425523498161-2:13 | > org.apache.activemq.broker.TransportConnection | ActiveMQ Transport: > tcp:///xxx.xxx.xxx.xxx:34542@5672 > javax.jms.InvalidClientIDException: Broker: localhost - Client: WCarClient9 > already connected from tcp://xxx.xxx.xxx.xxx:33834 > at > org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:255)[activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.jmx.ManagedRegionBroker.addConnection(ManagedRegionBroker.java:231)[activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:97)[activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:92)[activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:97)[activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:97)[activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:97)[activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.security.SimpleAuthenticationBroker.addConnection(SimpleAuthenticationBroker.java:103)[activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:102)[activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:809)[activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(ManagedTransportConnection.java:79)[activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:139)[activemq-client-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:334)[activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188)[activemq-broker-5.11.1.jar:5.11.1] > at > org.apache.activemq.transport.amqp.AmqpTransportFilter.sendToActiveMQ(AmqpTransportFilter.java:114)[activemq-amqp-5.11.1.jar:5.11.1] > at > org.apache.activemq.transport.amqp.AmqpProtocolConverter.sendToActiveMQ(AmqpProtocolConverter.java:1497)[activemq-amqp-5.11.1.jar:5.11.1] > at > org.apache.activemq.transport.amqp.AmqpProtocolConverter.onConnectionOpen(AmqpProtocolConverter.java:525)[activemq-amqp-5.11.1.jar:5.11.1] > at > org.apache.activemq.transport.amqp.AmqpProtocolConverter.processConnectionEvent(AmqpProtocolConverter.java:380)[activemq-amqp-5.11.1.jar:5.11.1] > at > org.apache.activemq.transport.amqp.AmqpProtocolConverter.onFrame(AmqpProtocolConverter.java:325)[activemq-amqp-5.11.1.jar:5.11.1] > at > org.apache.activemq.transport.amqp.AmqpProtocolConverter.onAMQPData(AmqpProtocolConverter.java:275)[activemq-amqp-5.11.1.jar:5.11.1] > at > org.apache.activemq.transport.amqp.AmqpTransportFilter.onCommand(AmqpTransportFilter.java:98)[activemq-amqp-5.11.1.jar:5.11.1] > at > org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)[activemq-client-5.11.1.jar:5.11.1] > at > org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214)[activemq-client-5.11.1.jar:5.11.1] > at > org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)[activemq-client-5.11.1.jar:5.11.1] > at java.lang.Thread.run(Unknown Source)[:1.7.0_65] > 2015-03-05 16:09:41,175 | WARN | Transport Connection to: > tcp://118.145.21.68:34542 failed: java.io.IOException: Broker: localhost - > Client: WCarClient9 already connected from tcp://xxx.xxx.xxx.xxx:33834 | > org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ > Transport: tcp:///xxx.xxx.xxx.xxx:34542@5672 -- This message was sent by Atlassian JIRA (v6.3.4#6332)