Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.5.0
-
Java 1.7
Description
When connection string is for example:
failover:(amqp://server:21415?amqp.idleTimeout=0&jms.username=admin&jms.password=admin&amqp.saslMechanisms=PLAIN&jms.forceAsyncSend=false&jms.alwaysSyncSend=true&jms.sendAcksAsync=false)?failover.maxReconnectAttempts=5&failover.reconnectDelay=60000
URI options jms.admin, jms.password, amqp.saslMechanisms (possibly all of them) are ignored and set to 'null' in class JmsConnectionFactory. Because of that client fails to connect to broker with message (client immediately tries to reconnect with same result):
2015-09-21 15:52:23 +0200 INFO org.apache.qpid.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: null
2015-09-21 15:52:23 +0200 INFO org.apache.qpid.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: null
2015-09-21 15:52:23 +0200 INFO org.apache.qpid.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: null
2015-09-21 15:52:23 +0200 INFO org.apache.qpid.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: null
...
When I use connection string without failover everything goes as is expected. Working connection string below:
connectionfactory.connection=amqp://server:21415?amqp.idleTimeout=0&jms.username=admin&jms.password=admin&jms.forceAsyncSend=false&jms.alwaysSyncSend=true&jms.sendAcksAsync=false