diff --git a/src/main/java/com/ibm/as400/access/AS400JDBCConnectionRedirect.java b/src/main/java/com/ibm/as400/access/AS400JDBCConnectionRedirect.java index a0d3e3afb..bf8fead51 100644 --- a/src/main/java/com/ibm/as400/access/AS400JDBCConnectionRedirect.java +++ b/src/main/java/com/ibm/as400/access/AS400JDBCConnectionRedirect.java @@ -610,10 +610,12 @@ boolean handleException(SQLException e) throws SQLException { int sqlCode = e.getErrorCode(); String sqlState = e.getSQLState(); if (((sqlCode == -99999) && - ((JDError.EXC_COMMUNICATION_LINK_FAILURE.equals(sqlState)) || - (JDError.EXC_CONNECTION_UNABLE.equals(sqlState)))) + ((JDError.EXC_COMMUNICATION_LINK_FAILURE.equals(sqlState)) || + (JDError.EXC_CONNECTION_UNABLE.equals(sqlState)))) || ( sqlCode == -7061 && should7061Reconnect(e)) + || (sqlCode == -401 && JDError.EXC_SERVER_ERROR.equals(sqlState)) /* also retry for server errors */ ) { + // We do not use EXC_CONNECTION_NONE, since that is what is returned // after the connection has been closed or aborted. // diff --git a/src/main/java/com/ibm/as400/access/PxClientConnectionAdapter.java b/src/main/java/com/ibm/as400/access/PxClientConnectionAdapter.java index ea941394e..7ea75c24c 100644 --- a/src/main/java/com/ibm/as400/access/PxClientConnectionAdapter.java +++ b/src/main/java/com/ibm/as400/access/PxClientConnectionAdapter.java @@ -102,8 +102,8 @@ public void close () throw new ProxyException (ProxyException.CONNECTION_DROPPED,e); } - // $$ Question for Jim, his new class skipped the above - // two funtions -- input_.close() and output_.close(). + // $$ Question, the new class skipped the above + // two functions -- input_.close() and output_.close(). // If a good idea then remove from here as well. try { socket_.close ();