mirror of https://github.com/apache/activemq.git
don't close the connection on a async error since we are not sure that it was connection failure. It may just have been a failed operation (security constrain or something).
git-svn-id: https://svn.apache.org/repos/asf/incubator/activemq/trunk@367409 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
b2f4fc6af9
commit
f2669a70a6
|
@ -83,8 +83,6 @@ public abstract class AbstractConnection implements Service, Connection, Task, C
|
||||||
|
|
||||||
private WireFormatInfo wireFormatInfo;
|
private WireFormatInfo wireFormatInfo;
|
||||||
protected boolean disposed=false;
|
protected boolean disposed=false;
|
||||||
protected boolean shuttingDown=false;
|
|
||||||
|
|
||||||
|
|
||||||
static class ConnectionState extends org.apache.activemq.state.ConnectionState {
|
static class ConnectionState extends org.apache.activemq.state.ConnectionState {
|
||||||
private final ConnectionContext context;
|
private final ConnectionContext context;
|
||||||
|
@ -150,8 +148,6 @@ public abstract class AbstractConnection implements Service, Connection, Task, C
|
||||||
} catch (Throwable ignore) {
|
} catch (Throwable ignore) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
shuttingDown=false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void serviceTransportException(IOException e) {
|
public void serviceTransportException(IOException e) {
|
||||||
|
@ -165,17 +161,12 @@ public abstract class AbstractConnection implements Service, Connection, Task, C
|
||||||
}
|
}
|
||||||
|
|
||||||
public void serviceException(Throwable e) {
|
public void serviceException(Throwable e) {
|
||||||
if( !disposed && !shuttingDown ) {
|
if( !disposed ) {
|
||||||
shuttingDown=true;
|
|
||||||
if( log.isDebugEnabled() )
|
if( log.isDebugEnabled() )
|
||||||
log.debug("Async error occurred: "+e,e);
|
log.debug("Async error occurred: "+e,e);
|
||||||
ConnectionError ce = new ConnectionError();
|
ConnectionError ce = new ConnectionError();
|
||||||
ce.setException(e);
|
ce.setException(e);
|
||||||
dispatchAsync(ce);
|
dispatchAsync(ce);
|
||||||
try {
|
|
||||||
stop();
|
|
||||||
} catch (Exception ignore) {
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -245,7 +236,6 @@ public abstract class AbstractConnection implements Service, Connection, Task, C
|
||||||
}
|
}
|
||||||
|
|
||||||
public Response processShutdown(ShutdownInfo info) throws Throwable {
|
public Response processShutdown(ShutdownInfo info) throws Throwable {
|
||||||
shuttingDown=true;
|
|
||||||
stop();
|
stop();
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue