public synchronized Connection returnConnection() {
			Connection con = connectionHandler.get();
			if (con == null) {
				// 如果闲置小于最大连接,返回一个新连接
				if (freeConnections.size() + clients < maxConn) {
					con = newConnection();
				} else if (freeConnections.size() + clients >= maxConn) {
					// 如果闲置大于最大连接，返回一个可用的旧连接
					con = (Connection) freeConnections.firstElement();
					log.info(MessageUtil.getBasText("jdbc-conpoll-validconnsize", name,freeConnections.size()));
					freeConnections.removeElementAt(0);
					log.info(MessageUtil.getBasText("jdbc-conpoll-validconnsize", name,freeConnections.size()));
					try {
						if (con.isClosed()) {
							log.info(MessageUtil.getBasText("jdbc-conpoll-ivconndelsucc", name));
							returnConnection();
						}
					} catch (SQLException e) {
						log.info(MessageUtil.getBasText("jdbc-conpoll-ivconndelfail", name));
						log.error(e.getMessage(),e);
						returnConnection();
					}
				}
				connectionHandler.set(con);
			}
			return con;
		}