mirror of https://github.com/apache/activemq.git
allow blocked connections to unblock so we can get in and stop them.
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@638969 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
2f1822bf2c
commit
31a87ac778
|
@ -892,6 +892,14 @@ public class TransportConnection implements Connection, Task, CommandVisitor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (stopping.compareAndSet(false, true)) {
|
if (stopping.compareAndSet(false, true)) {
|
||||||
|
|
||||||
|
// Let all the connection contexts know we are shutting down
|
||||||
|
// so that in progress operations can notice and unblock.
|
||||||
|
List<TransportConnectionState> connectionStates = listConnectionStates();
|
||||||
|
for (TransportConnectionState cs : connectionStates) {
|
||||||
|
cs.getContext().getStopping().set(true);
|
||||||
|
}
|
||||||
|
|
||||||
new Thread("ActiveMQ Transport Stopper: "+ transport.getRemoteAddress()) {
|
new Thread("ActiveMQ Transport Stopper: "+ transport.getRemoteAddress()) {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
@ -931,13 +939,6 @@ public class TransportConnection implements Connection, Task, CommandVisitor {
|
||||||
LOG.trace("Exception caught stopping", ignore);
|
LOG.trace("Exception caught stopping", ignore);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Let all the connection contexts know we are shutting down
|
|
||||||
// so that in progress operations can notice and unblock.
|
|
||||||
List<TransportConnectionState> connectionStates = listConnectionStates();
|
|
||||||
for (TransportConnectionState cs : connectionStates) {
|
|
||||||
cs.getContext().getStopping().set(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
transport.stop();
|
transport.stop();
|
||||||
LOG.debug("Stopped connection: " + transport.getRemoteAddress());
|
LOG.debug("Stopped connection: " + transport.getRemoteAddress());
|
||||||
|
@ -975,6 +976,8 @@ public class TransportConnection implements Connection, Task, CommandVisitor {
|
||||||
// from the broker.
|
// from the broker.
|
||||||
|
|
||||||
if (!broker.isStopped()) {
|
if (!broker.isStopped()) {
|
||||||
|
|
||||||
|
List<TransportConnectionState> connectionStates = listConnectionStates();
|
||||||
connectionStates = listConnectionStates();
|
connectionStates = listConnectionStates();
|
||||||
for (TransportConnectionState cs : connectionStates) {
|
for (TransportConnectionState cs : connectionStates) {
|
||||||
cs.getContext().getStopping().set(true);
|
cs.getContext().getStopping().set(true);
|
||||||
|
|
Loading…
Reference in New Issue