[
https://issues.apache.org/jira/browse/QPIDJMS-113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14900898#comment-14900898
]
Jakub Scholz commented on QPIDJMS-113:
--------------------------------------
Maybe it is the documentation
(http://qpid.apache.org/releases/qpid-jms-0.5.0/docs/index.html) what is a bit
confusing. As I would understand it:
- I should be able to use all the normal options within the single broker URLs
... e.g.
{noformat}
failover:(amqp://server:21415?jms.username=admin&jms.password=admin&amqp.saslMechanisms=PLAIN)?failover.maxReconnectAttempts=5&failover.reconnectDelay=60000
{noformat}
- Or I can configure the options from outside using the failover.nested.* ...
e.g.
{noformat}
failover:(amqp://server:21415)?failover.maxReconnectAttempts=5&failover.reconnectDelay=60000&?failover.nested.jms.username=admin&failover.nested.jms.password=admin&failover.nested.amqp.saslMechanisms=PLAIN
{noformat}
But in reality it looks like:
- All jms.* options should be only on the outside as part of the failover
options, but without the failover.nested. prefix, e.g.:
{noformat}
failover:(amqp://server:21415)?failover.maxReconnectAttempts=5&failover.reconnectDelay=60000&jms.username=admin&jms.password=admin
{noformat}
- All other options (e.g. amqp.* or transport.*) have to part of the URLs
inside the failover, e.g.:
{noformat}
failover:(amqp://server:21415?amqp.idleTimeout=100000)?failover.maxReconnectAttempts=5&failover.reconnectDelay=60000&jms.username=admin&jms.password=admin
{noformat}
- Options like amqp.* and transport.* can be also used as a part of the
failover with failover.nested. prefix, e.g.:
{noformat}
failover:(amqp://server:21415)?failover.maxReconnectAttempts=5&failover.reconnectDelay=60000&jms.username=admin&jms.password=admin&failover.nested.amqp.idleTimeout=100000
{noformat}
- jms.* cannot be used with the failover.nested. prefix ... i.e. the example
failover.nested.jms.clientID=foo from the docu doesn't seem to really work
I think this might actually make sense, because you don't want the JMS options
to change "on the fly". But the documentation might IMHO cause confusion.
> Broker URI options ignored when failover enabled
> ------------------------------------------------
>
> Key: QPIDJMS-113
> URL: https://issues.apache.org/jira/browse/QPIDJMS-113
> Project: Qpid JMS
> Issue Type: Bug
> Components: qpid-jms-client
> Affects Versions: 0.5.0, 0.6.0
> Environment: Java 1.7
> Reporter: Tomas Vavricka
> Labels: connectionfactory
>
> 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}}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]