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:
Hiram R. Chirino 2006-01-09 21:55:53 +00:00
parent b2f4fc6af9
commit f2669a70a6
1 changed files with 1 additions and 11 deletions

View File

@ -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;
} }