/** 关闭连接 */ public static final void closeConnection() { Connection conn = conns.get(); try { if (conn != null && !conn.isClosed()) { conn.setAutoCommit(true); conn.close(); connectionContext.remove(Thread.currentThread().getId()); } } catch (SQLException e) { log.error("Unabled to close connection!!! ", e); } conns.set(null); }
private synchronized void maybeConnect() throws BlockStoreException { try { if (conn.get() != null) return; Properties props = new Properties(); props.setProperty("user", this.username); props.setProperty("password", this.password); conn.set(DriverManager.getConnection(connectionURL, props)); Connection connection = conn.get(); allConnections.add(conn.get()); log.info("Made a new connection to database " + connectionURL); } catch (SQLException ex) { throw new BlockStoreException(ex); } }
public static final Connection getConnection() throws SQLException { Connection conn = conns.get(); if (conn == null || conn.isClosed()) { conn = _getConnection(); if (conn == null) throw new SQLException("Unabled to get connection."); conns.set(conn); // RequestContext ctx = RequestContext.get(); // connectionContext.put( // Thread.currentThread().getId(), // new ConnectionContext(new Exception(), (ctx != null) ? ctx // .ip() : null, (ctx != null) ? ctx.uri() : null, // (ctx != null) ? ctx.request().getParameterMap() // : null)); } return (show_sql && !Proxy.isProxyClass(conn.getClass())) ? new _DebugConnection(conn).getConnection() : conn; }
/** * 从传递的参数中找Page对象,并返回 * * @param paramObj * @return */ public Page<?> findPageParameter(Object paramObj) { Page<?> page = null; if (paramObj instanceof Page) { page = (Page<?>) paramObj; } else if (paramObj instanceof Map) { Map<?, ?> m = (Map<?, ?>) paramObj; for (Object o : m.values()) { if (o instanceof Page) { page = (Page<?>) o; break; } } } if (page != null) { PAGE_THREAD_LOCAL.set(page); } return page; }