public void releaseConnection(RouteResultsetNode rrn, boolean debug, final boolean needRollback) { BackendConnection c = target.remove(rrn); if (c != null) { if (debug) { LOGGER.debug("release connection " + c); } if (c.getAttachment() != null) { c.setAttachment(null); } if (!c.isClosed()) { if (c.isAutocommit()) { c.release(); } else if (needRollback) { c.setResponseHandler(new RollbackReleaseHandler()); c.rollback(); } else { c.release(); } } } }
public void releaseConnection(BackendConnection con) { Iterator<Entry<RouteResultsetNode, BackendConnection>> itor = target.entrySet().iterator(); while (itor.hasNext()) { BackendConnection theCon = itor.next().getValue(); if (theCon == con) { itor.remove(); con.release(); if (LOGGER.isDebugEnabled()) { LOGGER.debug("realse connection " + con); } break; } } }