[ 
https://issues.apache.org/jira/browse/QPIDJMS-486?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17019681#comment-17019681
 ] 

Robbie Gemmell commented on QPIDJMS-486:
----------------------------------------

Perhaps also try using the alternative "failover.nested.<foo>" option format to 
set it on the outer section instead, see bottom of the section: 
http://qpid.apache.org/releases/qpid-jms-0.48.0/docs/index.html#failover-configuration-options

> Cannot use connection URL with failover provider and custom cipher suites
> -------------------------------------------------------------------------
>
>                 Key: QPIDJMS-486
>                 URL: https://issues.apache.org/jira/browse/QPIDJMS-486
>             Project: Qpid JMS
>          Issue Type: Bug
>          Components: qpid-jms-client
>    Affects Versions: 0.48.0
>            Reporter: Sebastian T
>            Priority: Major
>
> Example URL:
> {code:java}
> failover:(amqps://mybroker.local:5671?transport.connectTimeout=15000&transport.soLinger=10000&transport.tcpNoDelay=true&transport.sendBufferSize=65536&transport.receiveBufferSize=65536&transport.useOpenSSL=true&transport.contextProtocol=TLSv1.2&transport.enabledCipherSuites=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384&transport.keyStoreType=JKS&transport.keyStoreLocation=/C:/Temp/keystore-store.jks&transport.keyStorePassword=REPLACE_ME&transport.trustStoreType=jks&transport.trustStoreLocation=/C:/Temp/trust-store.jks&transport.trustStorePassword=REPLACE_ME&amqp.maxFrameSize=102400&amqp.vhost=mybroker.local&amqp.drainTimeout=60000&amqp.idleTimeout=60000&amqp.saslLayer=true&amqp.saslMechanisms=EXTERNAL)?failover.maxReconnectAttempts=-1&failover.startupMaxReconnectAttempts=3&failover.warnAfterReconnectAttempts=1&jms.populateJMSXUserID=true&jms.localMessageExpiry=true&jms.requestTimeout=60000&jms.sendTimeout=60000&jms.receiveNoWaitLocalOnly=true&jms.validatePropertyNames=false&jms.redeliveryPolicy.maxRedeliveries=0&jms.redeliveryPolicy.outcome=REJECTED&jms.presettlePolicy.presettleAll=false
> {code}
>  Error Message:
> {code:java}
> [FailoverProvider: async work thread] INFO FailoverProvider - Connection 
> attempt:[1] to: amqps://mybroker.local:5671 failed
> [FailoverProvider: async work thread] ERROR ProviderFactory - Failed to 
> create Provider instance for null, due to: {}
> java.io.IOException: No Provider scheme specified.
>  at 
> org.apache.qpid.jms.provider.ProviderFactory.findProviderFactory(ProviderFactory.java:149)
>  at 
> org.apache.qpid.jms.provider.ProviderFactory.findProviderFactory(ProviderFactory.java:131)
>  at 
> org.apache.qpid.jms.provider.ProviderFactory.create(ProviderFactory.java:102)
>  at 
> org.apache.qpid.jms.provider.failover.FailoverProvider$14.run(FailoverProvider.java:746)
>  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>  at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>  at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>  at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>  at java.lang.Thread.run(Thread.java:748)
> [FailoverProvider: async work thread] INFO FailoverProvider - Connection 
> attempt:[1] to: null://null:-1 failed
> [FailoverProvider: async work thread] WARN FailoverProvider - Failed to 
> connect after: 1 attempt(s) continuing to retry.
> [FailoverProvider: async work thread] INFO FailoverProvider - Connection 
> attempt:[2] to: amqps://mybroker.local:5671 failed
> [FailoverProvider: async work thread] ERROR ProviderFactory - Failed to 
> create Provider instance for null, due to: {}
> java.io.IOException: No Provider scheme specified.
>  at 
> org.apache.qpid.jms.provider.ProviderFactory.findProviderFactory(ProviderFactory.java:149)
>  at 
> org.apache.qpid.jms.provider.ProviderFactory.findProviderFactory(ProviderFactory.java:131)
>  at 
> org.apache.qpid.jms.provider.ProviderFactory.create(ProviderFactory.java:102)
>  at 
> org.apache.qpid.jms.provider.failover.FailoverProvider$14.run(FailoverProvider.java:746)
>  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>  at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>  at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>  at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>  at java.lang.Thread.run(Thread.java:748)
> {code}
>  
> I guess the problem is that the transport.enabledCipherSuites option contains 
> a comma which is interpreted by the failover provider as the start of the URL 
> of a secondary broker address.
>  
> I tried to escape the comma as %26 but that didn't make a difference.
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to