Repository: activemq Updated Branches: refs/heads/activemq-5.14.x 3642ab1c1 -> ba1eab20d
https://issues.apache.org/jira/browse/AMQ-6495 State variables shared across threads in the transport need to be marked volatile. (cherry picked from commit 629ee285685b5f63315c8fcd6138a37bd17b958d) Project: http://git-wip-us.apache.org/repos/asf/activemq/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/ba1eab20 Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/ba1eab20 Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/ba1eab20 Branch: refs/heads/activemq-5.14.x Commit: ba1eab20d2b3cc2c3bddcc34cf54ae6ea7cfbcc0 Parents: 3642ab1 Author: Timothy Bish <[email protected]> Authored: Wed Nov 2 12:57:39 2016 -0400 Committer: Timothy Bish <[email protected]> Committed: Wed Nov 2 12:58:40 2016 -0400 ---------------------------------------------------------------------- .../apache/activemq/transport/failover/FailoverTransport.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq/blob/ba1eab20/activemq-client/src/main/java/org/apache/activemq/transport/failover/FailoverTransport.java ---------------------------------------------------------------------- diff --git a/activemq-client/src/main/java/org/apache/activemq/transport/failover/FailoverTransport.java b/activemq-client/src/main/java/org/apache/activemq/transport/failover/FailoverTransport.java index a46b318..655f143 100755 --- a/activemq-client/src/main/java/org/apache/activemq/transport/failover/FailoverTransport.java +++ b/activemq-client/src/main/java/org/apache/activemq/transport/failover/FailoverTransport.java @@ -76,7 +76,7 @@ public class FailoverTransport implements CompositeTransport { private static final int DEFAULT_INITIAL_RECONNECT_DELAY = 10; private static final int INFINITE = -1; private TransportListener transportListener; - private boolean disposed; + private volatile boolean disposed; private final CopyOnWriteArrayList<URI> uris = new CopyOnWriteArrayList<URI>(); private final CopyOnWriteArrayList<URI> updated = new CopyOnWriteArrayList<URI>(); @@ -92,7 +92,7 @@ public class FailoverTransport implements CompositeTransport { private final AtomicReference<Transport> connectedTransport = new AtomicReference<Transport>(); private final TaskRunnerFactory reconnectTaskFactory; private final TaskRunner reconnectTask; - private boolean started; + private volatile boolean started; private long initialReconnectDelay = DEFAULT_INITIAL_RECONNECT_DELAY; private long maxReconnectDelay = 1000 * 30; private double backOffMultiplier = 2d; @@ -127,7 +127,7 @@ public class FailoverTransport implements CompositeTransport { private final ArrayList<URI> priorityList = new ArrayList<URI>(); private boolean priorityBackupAvailable = false; private String nestedExtraQueryOptions; - private boolean shuttingDown = false; + private volatile boolean shuttingDown = false; public FailoverTransport() { brokerSslContext = SslContext.getCurrentSslContext();
