When starting the application an error occurs after "Startup Step 4 : Attempting to start EnvironmentService" start up step, and takes approximately 20 minutes before it logs the error "java.sql.SQLRecoverableException: Closed Connection". After being logged, the server attempts to shut down but fails with a "java.lang.NullPointerException" error.
We are asking for assistance in determining what the cause of this issue could be, as well as any resolutions we could attempt to work on resolving this issue. Below is a log of the errors we are seeing in our JBoss server.log file.
2021-11-22 14:01:32,504 ERROR [ims.jdbc.JDBCManagedObjectProvider] (ServerService Thread Pool -- 108) java.sql.SQLRecoverableException: Closed Connection2021-11-22 14:01:32,506 ERROR [ims.Main] (ServerService Thread Pool -- 108) The IAM FW Startup was not successful2021-11-22 14:01:32,506 ERROR [ims.Main] (ServerService Thread Pool -- 108) java.sql.SQLRecoverableException: Closed Connection at oracle.jdbc.driver.PhysicalConnection.getMetaData(PhysicalConnection.java:2408)
2021-11-22 14:01:32,513 ERROR [stderr] (ServerService Thread Pool -- 108) java.sql.SQLRecoverableException: Closed Connection
Release : 14.4
The client configured their standalone.xml to have the below configuration for an Oracle Database:
<validation> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/> <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql> <validate-on-match>false</validate-on-match> <background-validation>true</background-validation> <background-validation-millis>1000</background-validation-millis> <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/> </validation> <timeout> <set-tx-query-timeout>true</set-tx-query-timeout> <idle-timeout-minutes>8</idle-timeout-minutes> <query-timeout>300</query-timeout> <allocation-retry>3</allocation-retry> <allocation-retry-wait-millis>1000</allocation-retry-wait-millis> </timeout>
If errors still persist also modify:
this will force the application to challenge SQL connections upon request.
Closed Connection: java.sql.SQLRecoverableException: Closed Connection is usually caused by either the SQL server closing connections on the IDM product or a firewall.
The first changes for the class modifications are for Oracle only while the Validate-On-Match can be performed against all supported SQL databases.