HHH-17370 ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Cannot invoke org.hibernate.resource.jdbc.spi.JdbcObserver.jdbcConnectionAcquisitionEnd(java.sql.Connection) because this.observer is null

This commit is contained in:
Andrea Boriero 2023-11-06 17:16:47 +01:00 committed by Andrea Boriero
parent 5d5e413908
commit a5a96007a8

View File

@ -557,6 +557,7 @@ private static class TemporaryJdbcSessionOwner implements JdbcSessionOwner, Jdbc
private final boolean connectionProviderDisablesAutoCommit; private final boolean connectionProviderDisablesAutoCommit;
private final PhysicalConnectionHandlingMode connectionHandlingMode; private final PhysicalConnectionHandlingMode connectionHandlingMode;
private final JpaCompliance jpaCompliance; private final JpaCompliance jpaCompliance;
private static final EmptyJdbcObserver EMPTY_JDBC_OBSERVER = EmptyJdbcObserver.INSTANCE;
TransactionCoordinator transactionCoordinator; TransactionCoordinator transactionCoordinator;
public TemporaryJdbcSessionOwner( public TemporaryJdbcSessionOwner(
@ -691,7 +692,7 @@ public StatisticsImplementor getStatistics() {
@Override @Override
public JdbcObserver getObserver() { public JdbcObserver getObserver() {
return null; return EMPTY_JDBC_OBSERVER;
} }
@Override @Override
@ -718,5 +719,60 @@ public BatchBuilder getBatchBuilder() {
public boolean isActive() { public boolean isActive() {
return true; return true;
} }
private static class EmptyJdbcObserver implements JdbcObserver{
public static final EmptyJdbcObserver INSTANCE = new EmptyJdbcObserver();
@Override
public void jdbcConnectionAcquisitionStart() {
}
@Override
public void jdbcConnectionAcquisitionEnd(Connection connection) {
}
@Override
public void jdbcConnectionReleaseStart() {
}
@Override
public void jdbcConnectionReleaseEnd() {
}
@Override
public void jdbcPrepareStatementStart() {
}
@Override
public void jdbcPrepareStatementEnd() {
}
@Override
public void jdbcExecuteStatementStart() {
}
@Override
public void jdbcExecuteStatementEnd() {
}
@Override
public void jdbcExecuteBatchStart() {
}
@Override
public void jdbcExecuteBatchEnd() {
}
}
} }
} }