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

Adel Boutros commented on QPIDJMS-154:
--------------------------------------

I have spoken too soon. Actually, the session is being created but the consumer 
cannot receive any message. Its call to receive is timeouting. In the below 
code, the 2nd test is failing

Successful test Log:
{code}
2016-03-15 17:29:35 DEBUG FailoverProvider:160 - Initiating initial connection 
attempt task
2016-03-15 17:29:35 DEBUG FailoverProvider:653 - Connection attempt:[1] to: 
amqp://localhost:5672?amqp.vhost=weather in-progress
2016-03-15 17:29:35 DEBUG InternalLoggerFactory:71 - Using SLF4J as the default 
logging framework
2016-03-15 17:29:35 DEBUG MultithreadEventLoopGroup:76 - 
-Dio.netty.eventLoopThreads: 24
2016-03-15 17:29:35 DEBUG PlatformDependent:71 - Platform: Windows
2016-03-15 17:29:35 DEBUG PlatformDependent:76 - Java version: 7
2016-03-15 17:29:35 DEBUG PlatformDependent:76 - -Dio.netty.noUnsafe: false
2016-03-15 17:29:35 DEBUG PlatformDependent0:76 - java.nio.ByteBuffer.cleaner: 
available
2016-03-15 17:29:35 DEBUG PlatformDependent0:76 - java.nio.Buffer.address: 
available
2016-03-15 17:29:35 DEBUG PlatformDependent0:76 - sun.misc.Unsafe.theUnsafe: 
available
2016-03-15 17:29:35 DEBUG PlatformDependent0:71 - sun.misc.Unsafe.copyMemory: 
available
2016-03-15 17:29:35 DEBUG PlatformDependent0:76 - java.nio.Bits.unaligned: true
2016-03-15 17:29:35 DEBUG PlatformDependent:76 - sun.misc.Unsafe: available
2016-03-15 17:29:35 DEBUG PlatformDependent:76 - -Dio.netty.noJavassist: false
2016-03-15 17:29:35 DEBUG PlatformDependent:71 - Javassist: available
2016-03-15 17:29:35 DEBUG PlatformDependent:76 - -Dio.netty.tmpdir: 
C:\Users\aboutros\AppData\Local\Temp (java.io.tmpdir)
2016-03-15 17:29:35 DEBUG PlatformDependent:76 - -Dio.netty.bitMode: 64 
(sun.arch.data.model)
2016-03-15 17:29:35 DEBUG PlatformDependent:76 - -Dio.netty.noPreferDirect: 
false
2016-03-15 17:29:35 DEBUG NioEventLoop:76 - -Dio.netty.noKeySetOptimization: 
false
2016-03-15 17:29:35 DEBUG NioEventLoop:76 - 
-Dio.netty.selectorAutoRebuildThreshold: 512
2016-03-15 17:29:35 DEBUG PooledByteBufAllocator:76 - 
-Dio.netty.allocator.numHeapArenas: 12
2016-03-15 17:29:35 DEBUG PooledByteBufAllocator:76 - 
-Dio.netty.allocator.numDirectArenas: 12
2016-03-15 17:29:35 DEBUG PooledByteBufAllocator:76 - 
-Dio.netty.allocator.pageSize: 8192
2016-03-15 17:29:35 DEBUG PooledByteBufAllocator:76 - 
-Dio.netty.allocator.maxOrder: 11
2016-03-15 17:29:35 DEBUG PooledByteBufAllocator:76 - 
-Dio.netty.allocator.chunkSize: 16777216
2016-03-15 17:29:35 DEBUG ThreadLocalRandom:71 - 
-Dio.netty.initialSeedUniquifier: 0xfef29df1ac8a8913
2016-03-15 17:29:35 DEBUG ChannelOutboundBuffer:76 - 
-Dio.netty.threadLocalDirectBufferSize: 65536
2016-03-15 17:29:35 DEBUG ByteBufUtil:76 - -Dio.netty.allocator.type: unpooled
2016-03-15 17:29:35 DEBUG JavassistTypeParameterMatcherGenerator:76 - 
Generated: io.netty.util.internal.__matchers__.io.netty.buffer.ByteBufMatcher
2016-03-15 17:29:35 DEBUG FailoverProvider:963 - Executing Failover Task: 
create -> JmsConnectionInfo {} (1)
2016-03-15 17:29:35 DEBUG ResourceLeakDetector:81 - 
-Dio.netty.leakDetectionLevel: simple
2016-03-15 17:29:35 INFO  SaslMechanismFinder:93 - Best match for SASL auth 
was: SASL-ANONYMOUS
2016-03-15 17:29:35 DEBUG AmqpConnectionBuilder:71 - AmqpConnection { 
ID::37eae8b1-14ce-4809-ba78-35ccddcc8b82:1 } is now open: 
2016-03-15 17:29:35 INFO  JmsConnection:1114 - Connection 
ID::37eae8b1-14ce-4809-ba78-35ccddcc8b82:1 connected to remote Broker: 
amqp://localhost:5672
2016-03-15 17:29:35 DEBUG FailoverProvider:963 - Executing Failover Task: 
create -> JmsSessionInfo {} (2)
2016-03-15 17:29:35 DEBUG FailoverProvider:963 - Executing Failover Task: 
create -> JmsConsumerInfo {} (3)
2016-03-15 17:29:35 DEBUG FailoverProvider:963 - Executing Failover Task: start 
-> JmsConsumerInfo {} (4)
2016-03-15 17:29:35 DEBUG AmqpConsumer:520 - Dispatching received message: 
JmsInboundMessageDispatch {sequence = 1, messageId = 
ID::d1b9561b-d32f-4a0b-a083-70dda07d6675:1:1:1-1, consumerId = 
ID::37eae8b1-14ce-4809-ba78-35ccddcc8b82:1:1:1}
2016-03-15 17:29:35 DEBUG AmqpConsumer:520 - Dispatching received message: 
JmsInboundMessageDispatch {sequence = 2, messageId = 
ID::0f3b2678-1251-4481-b1d5-930f787eec8b:1:1:1-1, consumerId = 
ID::37eae8b1-14ce-4809-ba78-35ccddcc8b82:1:1:1}
2016-03-15 17:29:35 DEBUG AmqpConsumer:520 - Dispatching received message: 
JmsInboundMessageDispatch {sequence = 3, messageId = 
ID::c64f2b79-f126-4ed1-8822-8d9c8f6e784b:1:1:1-1, consumerId = 
ID::37eae8b1-14ce-4809-ba78-35ccddcc8b82:1:1:1}
2016-03-15 17:29:35 DEBUG FailoverProvider:963 - Executing Failover Task: 
create -> JmsProducerInfo {} (5)
2016-03-15 17:29:35 DEBUG AmqpConsumer:520 - Dispatching received message: 
JmsInboundMessageDispatch {sequence = 4, messageId = 
ID::f47b9f24-f740-4b76-b981-de25b91e87df:1:1:1-1, consumerId = 
ID::37eae8b1-14ce-4809-ba78-35ccddcc8b82:1:1:1}
2016-03-15 17:29:35 DEBUG AmqpConsumer:520 - Dispatching received message: 
JmsInboundMessageDispatch {sequence = 5, messageId = 
ID::e8c5f733-7382-4b29-a217-b8f3b5bc4617:1:1:1-1, consumerId = 
ID::37eae8b1-14ce-4809-ba78-35ccddcc8b82:1:1:1}
2016-03-15 17:29:35 DEBUG AmqpConsumer:520 - Dispatching received message: 
JmsInboundMessageDispatch {sequence = 6, messageId = 
ID::666cf19b-9b9e-4d2b-bea8-6572cef030e6:1:1:1-1, consumerId = 
ID::37eae8b1-14ce-4809-ba78-35ccddcc8b82:1:1:1}
2016-03-15 17:29:35 DEBUG AmqpConsumer:520 - Dispatching received message: 
JmsInboundMessageDispatch {sequence = 7, messageId = 
ID::f92beb52-b724-47a7-b3b9-80aa68a37d5d:1:1:1-1, consumerId = 
ID::37eae8b1-14ce-4809-ba78-35ccddcc8b82:1:1:1}
2016-03-15 17:29:35 DEBUG AmqpConsumer:520 - Dispatching received message: 
JmsInboundMessageDispatch {sequence = 8, messageId = 
ID::eed9e416-3a6c-4980-8eb3-dc29ebfeafd4:1:1:1-1, consumerId = 
ID::37eae8b1-14ce-4809-ba78-35ccddcc8b82:1:1:1}
2016-03-15 17:29:35 DEBUG AmqpSession:98 - Creating AmqpFixedProducer for: 
scalabilityQueue
2016-03-15 17:29:35 DEBUG FailoverProvider:963 - Executing Failover Task: send 
-> JmsOutboundMessageDispatch {dispatchId = 
ID::37eae8b1-14ce-4809-ba78-35ccddcc8b82:1:1:1-1 (6)
2016-03-15 17:29:35 DEBUG AmqpConsumer:520 - Dispatching received message: 
JmsInboundMessageDispatch {sequence = 9, messageId = 
ID::37eae8b1-14ce-4809-ba78-35ccddcc8b82:1:1:1-1, consumerId = 
ID::37eae8b1-14ce-4809-ba78-35ccddcc8b82:1:1:1}
2016-03-15 17:29:35 DEBUG FailoverProvider:963 - Executing Failover Task: 
message acknowledge -> JmsInboundMessageDispatch {sequence = 1, messageId = 
ID::d1b9561b-d32f-4a0b-a083-70dda07d6675:1:1:1-1, consumerId = 
ID::37eae8b1-14ce-4809-ba78-35ccddcc8b82:1:1:1} ackType: ACCEPTED (7)
2016-03-15 17:29:35 DEBUG AmqpConsumer:241 - Accepted Ack of message: 
JmsInboundMessageDispatch {sequence = 1, messageId = 
ID::d1b9561b-d32f-4a0b-a083-70dda07d6675:1:1:1-1, consumerId = 
ID::37eae8b1-14ce-4809-ba78-35ccddcc8b82:1:1:1}
{code}

Failing test Log:
{code}
2016-03-15 17:29:35 DEBUG FailoverProvider:160 - Initiating initial connection 
attempt task
2016-03-15 17:29:35 DEBUG FailoverProvider:653 - Connection attempt:[1] to: 
amqp://localhost:10354?amqp.vhost=weather in-progress
2016-03-15 17:29:35 DEBUG FailoverProvider:963 - Executing Failover Task: 
create -> JmsConnectionInfo {} (1)
2016-03-15 17:29:35 INFO  SaslMechanismFinder:93 - Best match for SASL auth 
was: SASL-ANONYMOUS
2016-03-15 17:29:35 INFO  AmqpAbstractResource:127 - Resource JmsConnectionInfo 
{} was remotely closed
2016-03-15 17:29:35 DEBUG FailoverProvider:1078 - Request received error: 
Received error from remote peer without description [condition = amqp:not-found]
2016-03-15 17:29:35 DEBUG FailoverProvider:519 - handling Provider failure: 
Received error from remote peer without description [condition = amqp:not-found]
2016-03-15 17:29:35 DEBUG FailoverProvider:761 - Failover: the provider reports 
failure: Received error from remote peer without description [condition = 
amqp:not-found]
2016-03-15 17:29:35 DEBUG FailoverProvider:519 - handling Provider failure: 
Received error from remote peer without description [condition = amqp:not-found]
2016-03-15 17:29:35 DEBUG FailoverProvider:653 - Connection attempt:[1] to: 
amqp://localhost:10352?amqp.vhost=weather in-progress
2016-03-15 17:29:35 DEBUG FailoverProvider:963 - Executing Failover Task: 
create -> JmsConnectionInfo {} (1)
2016-03-15 17:29:35 DEBUG AmqpProvider:746 - Transport connection remotely 
closed
2016-03-15 17:29:35 DEBUG FailoverProvider:1078 - Request received error: 
Transport connection remotely closed.
2016-03-15 17:29:35 DEBUG FailoverProvider:519 - handling Provider failure: 
Transport connection remotely closed.
2016-03-15 17:29:35 DEBUG FailoverProvider:761 - Failover: the provider reports 
failure: Transport connection remotely closed.
2016-03-15 17:29:35 DEBUG FailoverProvider:653 - Connection attempt:[1] to: 
amqp://localhost:5672?amqp.vhost=weather in-progress
2016-03-15 17:29:35 DEBUG FailoverProvider:519 - handling Provider failure: 
Transport connection remotely closed.
2016-03-15 17:29:35 DEBUG FailoverProvider:963 - Executing Failover Task: 
create -> JmsConnectionInfo {} (1)
2016-03-15 17:29:35 INFO  SaslMechanismFinder:93 - Best match for SASL auth 
was: SASL-ANONYMOUS
2016-03-15 17:29:35 DEBUG AmqpConnectionBuilder:71 - AmqpConnection { 
ID::5f6b0685-5b06-4a24-ae75-8b3bccdc2b1e:1 } is now open: 
2016-03-15 17:29:35 INFO  JmsConnection:1114 - Connection 
ID::5f6b0685-5b06-4a24-ae75-8b3bccdc2b1e:1 connected to remote Broker: 
amqp://localhost:5672
2016-03-15 17:29:35 DEBUG FailoverProvider:963 - Executing Failover Task: 
create -> JmsSessionInfo {} (2)
2016-03-15 17:29:35 DEBUG FailoverProvider:963 - Executing Failover Task: 
create -> JmsConsumerInfo {} (3)
2016-03-15 17:29:35 DEBUG FailoverProvider:963 - Executing Failover Task: start 
-> JmsConsumerInfo {} (4)
2016-03-15 17:29:35 DEBUG FailoverProvider:963 - Executing Failover Task: 
create -> JmsProducerInfo {} (5)
2016-03-15 17:29:35 DEBUG AmqpSession:98 - Creating AmqpFixedProducer for: 
scalabilityQueue
2016-03-15 17:29:35 DEBUG FailoverProvider:963 - Executing Failover Task: send 
-> JmsOutboundMessageDispatch {dispatchId = 
ID::5f6b0685-5b06-4a24-ae75-8b3bccdc2b1e:1:1:1-1 (6)
2016-03-15 17:29:35 DEBUG AmqpConsumer:520 - Dispatching received message: 
JmsInboundMessageDispatch {sequence = 10, messageId = 
ID::5f6b0685-5b06-4a24-ae75-8b3bccdc2b1e:1:1:1-1, consumerId = 
ID::37eae8b1-14ce-4809-ba78-35ccddcc8b82:1:1:1}
2016-03-15 17:29:40 DEBUG FailoverProvider:963 - Executing Failover Task: 
message pull -> ID::5f6b0685-5b06-4a24-ae75-8b3bccdc2b1e:1:1:1 (7)
2016-03-15 17:29:40 DEBUG FailoverProvider:963 - Executing Failover Task: start 
-> JmsConsumerInfo {} (8)

java.lang.AssertionError: expecting actual value not to be null

        at org.fest.assertions.Fail.failure(Fail.java:228)
        at org.fest.assertions.Fail.fail(Fail.java:167)
        at org.fest.assertions.Fail.failIfActualIsNull(Fail.java:100)
        at org.fest.assertions.GenericAssert.isNotNull(GenericAssert.java:238)
        at test.ScalabilityTest.exchangeMessages(ScalabilityTest.java:50)
        at 
test.ScalabilityTest.testScalabilityReversedOrder(ScalabilityTest.java:33)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
        at 
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
        at 
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234)
        at 
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
{code}

{code:java}
import javax.jms.*;

import org.apache.qpid.jms.JmsConnectionFactory;

import static org.fest.assertions.Assertions.assertThat;

import org.junit.Test;


public class ScalabilityTest {

    //~ 
----------------------------------------------------------------------------------------------------------------
    //~ Methods 
    //~ 
----------------------------------------------------------------------------------------------------------------

    @Test
    public void testScalability() throws JMSException {
        String brokerUrl = 
"failover:(amqp://localhost:5672,amqp://localhost:10354,amqp://localhost:10352)?failover.nested.amqp.vhost=weather";
        exchangeMessages(brokerUrl);
    }

    @Test
    public void testScalabilityReversedOrder() throws JMSException {
        String brokerUrl = 
"failover:(amqp://localhost:10354,amqp://localhost:10352,amqp://localhost:5672)?failover.nested.amqp.vhost=weather";
        exchangeMessages(brokerUrl);
    }

    private void exchangeMessages(String brokerUrl) throws JMSException {
        ConnectionFactory connectionFactory = new 
JmsConnectionFactory(brokerUrl);
        Connection connection = connectionFactory.createConnection();
        Session session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
        connection.start();
        Queue queue = session.createQueue("scalabilityQueue");

        MessageConsumer consumer = session.createConsumer(queue);
        TextMessage message = session.createTextMessage("Hello world!");
        MessageProducer producer = session.createProducer(queue);
        producer.send(message);

        TextMessage receivedMessage = (TextMessage) consumer.receive(5000);

        assertThat(receivedMessage).isNotNull();
        assertThat(receivedMessage.getText()).isEqualTo(message.getText());
    }
}
{code}

> Failover mechanism does not handle connection URLs in a predictable way
> -----------------------------------------------------------------------
>
>                 Key: QPIDJMS-154
>                 URL: https://issues.apache.org/jira/browse/QPIDJMS-154
>             Project: Qpid JMS
>          Issue Type: Bug
>          Components: qpid-jms-client
>    Affects Versions: 0.8.0
>            Reporter: Adel Boutros
>            Assignee: Timothy Bish
>         Attachments: Broker1.png, broker2.png
>
>
> As discussed in this 
> [link|http://qpid.2158936.n2.nabble.com/Unhandled-exception-when-using-High-Availabilty-in-Qpid-Java-Broker-6-0-0-td7639896.html],
>  if the links provided in the failover URL are ordered in a way to have the 
> Replicate first and then the Master. Then the connection will fail and an 
> error will be thrown client-side.
> This is because the multi-threading behavior in the FailoverProvider is not 
> correct. The main thread will not wait for the connection trial thread to try 
> and find the active Master node. If we add a Sleep or debug the main thread 
> to give the connection trial thread enough time to find the Master URL then 
> the test works
> *_Log in case of failure:_*
> {code}
> 2016-03-11 10:46:31 DEBUG FailoverProvider:160 - Initiating initial 
> connection attempt task
> 2016-03-11 10:46:33 DEBUG FailoverProvider:653 - Connection attempt:[1] to: 
> amqp://localhost:10352?amqp.vhost=weather in-progress
> 2016-03-11 10:46:34 DEBUG FailoverProvider:963 - Executing Failover Task: 
> create -> JmsConnectionInfo {} (1)
> 2016-03-11 10:46:34 DEBUG FailoverProvider:761 - Failover: the provider 
> reports failure: Received error from remote peer without description 
> [condition = amqp:not-found]
> 2016-03-11 10:46:34 DEBUG FailoverProvider:519 - handling Provider failure: 
> Received error from remote peer without description [condition = 
> amqp:not-found]
> 2016-03-11 10:46:34 DEBUG FailoverProvider:653 - Connection attempt:[1] to: 
> amqp://localhost:5672?amqp.vhost=weather in-progress
> 2016-03-11 10:46:31 DEBUG FailoverProvider:160 - Initiating initial 
> connection attempt task
> 2016-03-11 10:46:33 DEBUG FailoverProvider:653 - Connection attempt:[1] to: 
> amqp://localhost:10352?amqp.vhost=weather in-progress
> 2016-03-11 10:46:34 DEBUG FailoverProvider:963 - Executing Failover Task: 
> create -> JmsConnectionInfo {} (1)
> 2016-03-11 10:46:34 DEBUG FailoverProvider:761 - Failover: the provider 
> reports failure: Received error from remote peer without description 
> [condition = amqp:not-found]
> 2016-03-11 10:46:34 DEBUG FailoverProvider:519 - handling Provider failure: 
> Received error from remote peer without description [condition = 
> amqp:not-found]
> 2016-03-11 10:46:34 DEBUG FailoverProvider:653 - Connection attempt:[1] to: 
> amqp://localhost:5672?amqp.vhost=weather in-progress
> {code}
> *_Logs in case we debug the main thread to allow the connection thread to 
> finish:_*
> {code}
> 2016-03-11 11:03:37 DEBUG FailoverProvider:160 - Initiating initial 
> connection attempt task
> 2016-03-11 11:04:05 DEBUG FailoverProvider:653 - Connection attempt:[1] to: 
> amqp://localhost:10352?amqp.vhost=weather in-progress
> 2016-03-11 11:04:18 DEBUG FailoverProvider:963 - Executing Failover Task: 
> create -> JmsConnectionInfo {} (1)
> 2016-03-11 11:04:18 DEBUG FailoverProvider:985 - Request received error: 
> Cannot send to a non-connected transport.
> 2016-03-11 11:04:18 DEBUG FailoverProvider:519 - handling Provider failure: 
> Cannot send to a non-connected transport.
> 2016-03-11 11:04:18 DEBUG FailoverProvider:985 - Request received error: 
> Cannot send to a non-connected transport.
> 2016-03-11 11:04:18 DEBUG FailoverProvider:761 - Failover: the provider 
> reports failure: Cannot send to a non-connected transport.
> 2016-03-11 11:04:18 DEBUG FailoverProvider:519 - handling Provider failure: 
> Cannot send to a non-connected transport.
> 2016-03-11 11:04:18 DEBUG FailoverProvider:519 - handling Provider failure: 
> Cannot send to a non-connected transport.
> 2016-03-11 11:04:40 DEBUG FailoverProvider:653 - Connection attempt:[1] to: 
> amqp://localhost:5672?amqp.vhost=weather in-progress
> 2016-03-11 11:04:41 DEBUG FailoverProvider:963 - Executing Failover Task: 
> create -> JmsConnectionInfo {} (1)
> 2016-03-11 11:04:42 INFO  JmsConnection:1114 - Connection 
> ID::af28891b-adbe-47f1-9da2-ad03f124a215:1 connected to remote Broker: 
> amqp://localhost:5672
> 2016-03-11 11:04:42 DEBUG FailoverProvider:963 - Executing Failover Task: 
> create -> JmsSessionInfo {} (2)
> {code}
> *_Test code:_*
> {code:java}
> @Test
> public void testScalabilityReversedOrder() throws JMSException {
>     String brokerUrl = 
> "failover:(amqp://localhost:10352,amqp://localhost:5672)?failover.nested.amqp.vhost=weather";
>     ConnectionFactory connectionFactory = new JmsConnectionFactory(brokerUrl);
>     Connection connection = connectionFactory.createConnection();
>     Session session = connection.createSession(false, 
> Session.AUTO_ACKNOWLEDGE);
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to