public void connectionErrorOccurred(ConnectionEvent event){
  if (isActive) {
    ManagedConnection conn=(ManagedConnection)event.getSource();
    XAResource xar=(XAResource)xaResourcesMap.get(conn);
    xaResourcesMap.remove(conn);
    TransactionManagerImpl transManager=TransactionManagerImpl.getTransactionManager();
    try {
      Transaction txn=transManager.getTransaction();
      if (txn != null && xar != null)       txn.delistResource(xar,XAResource.TMSUCCESS);
    }
 catch (    SystemException se) {
      se.printStackTrace();
    }
    try {
      mannPoolCache.expirePooledConnection(conn);
    }
 catch (    Exception ex) {
      String exception="JCAConnectionManagerImpl::connectionErrorOccured: Exception occured due to " + ex;
      if (logger.isDebugEnabled()) {
        logger.debug(exception,ex);
      }
    }
  }
}

public void connectionErrorOccurred ( ConnectionEvent event ) { if ( isActive ) { ManagedConnection conn = ( ManagedConnection ) event . getSource ( ) ; XAResource xar = ( XAResource ) xaResourcesMap . get ( conn ) ; xaResourcesMap . remove ( conn ) ; TransactionManagerImpl transManager = TransactionManagerImpl . getTransactionManager ( ) ; try { Transaction txn = transManager . getTransaction ( ) ; if ( txn != null && xar != null ) txn . delistResource ( xar , XAResource . TMSUCCESS ) ; } catch ( SystemException se ) { se . printStackTrace ( ) ; } try { mannPoolCache . expirePooledConnection ( conn ) ; } catch ( Exception ex ) { String exception = "JCAConnectionManagerImpl::connectionErrorOccured: Exception occured due to " + ex ; if ( logger . isDebugEnabled ( ) ) { logger . debug ( exception , ex ) ; } } } }
callback for connection error .
