jodd-db/src/main/java/jodd/db/pool/CoreConnectionPool.java
private boolean isConnectionValid(final ConnectionData connectionData, final long now) {
		if (!validateConnection) {
			return true;
		}
		
		if (now < connectionData.lastUsed + validationTimeout) {
			return true;
		}

		Connection conn = connectionData.connection;

		if (validationQuery == null) {
			try {
				return !conn.isClosed();
			} catch (SQLException sex) {
				return false;
			}
		}
		
		boolean valid = true;
		Statement st = null;
		try {
			st = conn.createStatement();
			st.execute(validationQuery);
		} catch (SQLException sex) {
			valid = false;
		} finally {
			if (st != null) {
				try {
					st.close();
				} catch (SQLException ignore) {
				}
			}
		}
		return valid;
	}
private boolean isConnectionValid(final ConnectionData connectionData, final long now) {
		if (!validateConnection) {
			return true;
		}
		
		if (now < connectionData.lastUsed + validationTimeout) {
			return true;
		}

		Connection conn = connectionData.connection;

		if (validationQuery == null) {
			try {
				return !conn.isClosed();
			} catch (SQLException sex) {
				return false;
			}
		}
		
		boolean valid = true;
		Statement st = null;
		try {
			st = conn.createStatement();
			st.execute(validationQuery);
		} catch (SQLException sex) {
			valid = false;
		} finally {
			if (st != null) {
				try {
					st.close();
				} catch (SQLException ignore) {
				}
			}
		}
		return valid;
	}
private boolean isConnectionValid ( final ConnectionData connectionData , final long now ) { if ( ! validateConnection ) { return true ; } if ( now < connectionData . lastUsed + validationTimeout ) { return true ; } Connection conn = connectionData . connection ; if ( validationQuery == null ) { try { return ! conn . isClosed ( ) ; } catch ( SQLException sex ) { return false ; } } boolean valid = true ; Statement st = null ; try { st = conn . createStatement ( ) ; st . execute ( validationQuery ) ; } catch ( SQLException sex ) { valid = false ; } finally { if ( st != null ) { try { st . close ( ) ; } catch ( SQLException ignore ) { } } } return valid ; }
Checks if existing connection is valid and available. It may happens
that if connection is not used for a while it becomes inactive,
although not technically closed.
Checks if existing connection is valid and available . It may happens that if connection is not used for a while it becomes inactive although not technically closed .