Możesz uzyskać dostęp do połączenia bez proxy w pracy, dzwoniąc:
public void execute(Connection connection) throws SQLException {
Connection unproxiedConnection = connection.unwrap( Connection.class );
...
}
Ten formularz wykorzystuje metodę unwrap JDBC 4, po prostu delegujemy ją do połączenia bazowego. Lub jeśli konkretnie potrzebujesz OracleConnection:
public void execute(Connection connection) throws SQLException {
OracleConnection oracleConnection = connection.unwrap( OracleConnection.class );
...
}
Możesz również użyć:
public void execute(Connection connection) throws SQLException {
Connection unproxiedConnection = ( (JdbcWrapper<Connection>) connection ).getWrappedObject();
...
}
Zacząłem rozważać, czy Dzieło będzie oznaczać, że chce połączenia bez proxy, ale biorąc pod uwagę dostępność Connection#unwrap, nie jestem pewien, czy istnieje realna korzyść.