Please share any other relevant files that may be required (for example, logs).
2025-05-10T04:55:23,189 WARN main springframework.context.support.ClassPathXmlApplicationContext:559 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘versionChecker’ defined in class path resource [configBeans.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable to check AccessHistory database version: Unable to connect to: null
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘versionChecker’ defined in class path resource [configBeans.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable to check AccessHistory database version: Unable to connect to: null
Share all details about your problem, including any error messages you may have received.
We are upgrading from Sailpoint IIQ 8.3 to 8.4, and excluded the access history module. When open the IIQ console getting the below error. Can anyone suggest on the issue.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘versionChecker’ defined in class path resource [configBeans.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable to check AccessHistory database version: Unable to connect to: null
During startup, Spring attempts to initialize the versionChecker bean, which verifies the schema version of several IIQ subsystems — one of which is AccessHistory.
Since you’re upgrading from 8.3 to 8.4 and have excluded the AccessHistory module, IIQ is still attempting to validate its schema, but fails to connect, likely because:
There’s no JDBC connection URL defined for AccessHistory (hence Unable to connect to: null)
Or, the AccessHistory module is partially configured, causing versionChecker to try validating it
How to Fix
You need to explicitly disable AccessHistory in your IdentityIQ configuration to prevent Spring from trying to load it.
Option 1: Comment Out AccessHistory Bean in configBeans.xml
Locate the following in $IIQ_HOME/WEB-INF/configBeans.xml:
Remove it if you have no intention of using AccessHistory in 8.4
And ensure there’s no reference to this bean in other config files like init.xml.
Option 2: Set the AccessHistory to disabled in iiq.properties
If you have any configuration pointing to AccessHistory (such as audit.accessHistory.enabled=true), make sure it’s explicitly disabled in your iiq.properties or in any override file:
audit.accessHistory.enabled=false
This prevents components from referencing it during startup.
Option 3: Remove accessHistory DB references
If you previously had AccessHistory in iiqDataSources.xml, and have since removed the schema or DB, ensure the related <DataSource> element is removed.
Hope this helps! Let me know if you have any questions.
Thanks for the information, I could not find the file path $IIQ_HOME/WEB-INF/configBeans.xml to comment the access history related bean id. And also couldn’t find file like iiqDataSources.xml
I have commented all the access related entries in iiq.properties file and tried to launch the console but still not working.
And also I tried below SQL query and gives result not table exist.
select * from identityiqah.spt_hist_database_version;
Please suggest if you find any root cause for this.
There they fixed it by adding “allowPublicKeyRetrieval=true” in iiq.properties, in the dataSource.url
An example: dataSource.url=jdbc:mysql://localhost/identityiq?useServerPrepStmts=true&allowPublicKeyRetrieval=true&tinyInt1isBit=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
@deva_sp when you do upgrade from 8.3 to 8.4. Access History is disabled bydefault.
I would suggest creating the access history db and let it be there and keep upgrade.
As per doc The identityiqah database must be created as part of the installation, even if you do not intend to use the Access History feature.
It’s also about product support by sailpoint. There is no harm to just create one extra db instance and you never know if you would like access history. In that case, you have to do lots of patch work to enable access history.
Thanks for the inputs, my initial plan is go with default access history option, I tried that but giving below error.
2025-05-13T05:47:51,952 WARN main springframework.context.support.ClassPathXmlApplicationContext:559 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'versionChecker' defined in class path resource [configBeans.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable to check IdentityIQ database version: Unable to connect to: jdbc:mysql://xxxxx-1.rds.amazonaws.com/identityiqah?useServerPrepStmts=true&allowPublicKeyRetrieval=true&tinyInt1isBit=true&useSSL=true&characterEncoding=UTF-8&serverTimezone=UTC
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'versionChecker' defined in class path resource [configBeans.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Unable to check IdentityIQ database version: Unable to connect to: jdbc:mysql://xxxx-1.rds.amazonaws.com/identityiqah?useServerPrepStmts=true&allowPublicKeyRetrieval=true&tinyInt1isBit=true&useSSL=true&characterEncoding=UTF-8&serverTimezone=UTC
My suspect is we are using keystores for passwords, unfortunately not having the identityiqah schema encryption password . I configured as below but not working.
@deva_sp you cannot launch iiq console without executing iiq upgrde command. You need to first upgrade then you can run iiq console. the reason you already upgraded the db and now u need to upgrdae iiq so there is mismatch that’s why it’s throwing error. i replicated same in my lab and it also give same error.
Thanks for the clarification, when I run upgrade command I am getting below, we are using MySql Arora database, and I think default drivers can be provided by Sailpoint, any idea what is missing here
2025-05-14T07:05:37,149 ERROR main sailpoint.server.upgrade.Upgrader:1523 - Cannot create JDBC driver of class '' for connect URL 'null'
sailpoint.tools.GeneralException: Cannot create JDBC driver of class '' for connect URL 'null'
at sailpoint.server.upgrade.Upgrader$JdbcContext.createConnection(Upgrader.java:261) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader$JdbcContext.getConnection(Upgrader.java:243) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader.getDatabaseSchemaVersion(Upgrader.java:1614) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader.validateSchemaVersion(Upgrader.java:1495) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader.validateSchemaVersions(Upgrader.java:1166) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader.execute(Upgrader.java:1092) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader.main(Upgrader.java:643) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at sailpoint.launch.Launcher.main(Launcher.java:250) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
Caused by: java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'null'
at org.apache.commons.dbcp2.DriverFactory.createDriver(DriverFactory.java:75) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:459) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:525) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:731) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at sailpoint.server.upgrade.Upgrader$JdbcContext.createConnection(Upgrader.java:258) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
... 11 more
Caused by: java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:298) ~[java.sql:?]
at org.apache.commons.dbcp2.DriverFactory.createDriver(DriverFactory.java:60) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:459) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:525) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:731) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at sailpoint.server.upgrade.Upgrader$JdbcContext.createConnection(Upgrader.java:258) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
... 11 more
2025-05-14T07:05:37,149 ERROR main sailpoint.server.upgrade.Upgrader:1523 - Cannot create JDBC driver of class '' for connect URL 'null'
sailpoint.tools.GeneralException: Cannot create JDBC driver of class '' for connect URL 'null'
at sailpoint.server.upgrade.Upgrader$JdbcContext.createConnection(Upgrader.java:261) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader$JdbcContext.getConnection(Upgrader.java:243) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader.getDatabaseSchemaVersion(Upgrader.java:1614) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader.validateSchemaVersion(Upgrader.java:1495) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader.validateSchemaVersions(Upgrader.java:1166) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader.execute(Upgrader.java:1092) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at sailpoint.server.upgrade.Upgrader.main(Upgrader.java:643) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at sailpoint.launch.Launcher.main(Launcher.java:250) [identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
Caused by: java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'null'
at org.apache.commons.dbcp2.DriverFactory.createDriver(DriverFactory.java:75) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:459) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:525) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:731) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at sailpoint.server.upgrade.Upgrader$JdbcContext.createConnection(Upgrader.java:258) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
... 11 more
Caused by: java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:298) ~[java.sql:?]
at org.apache.commons.dbcp2.DriverFactory.createDriver(DriverFactory.java:60) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:459) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:525) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:731) ~[commons-dbcp2-2.9.0.jar:2.9.0]
at sailpoint.server.upgrade.Upgrader$JdbcContext.createConnection(Upgrader.java:258) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]
... 11 more
The application server is failing to connect to the database please cross check following points to make sure the proper connection between IIQ server and Database. MySQL Aurora is a managed service by AWS?
{the IIQ upgrade process is trying to establish a database connection but lacks the necessary information.}
Network Connectivity:
Ensure there is network connectivity between your IIQ server(s) and the Aurora MySQL cluster endpoint. You might want to use tools like ping or telnet from the IIQ server to the Aurora endpoint and port to verify basic network reachability.
Authentication:
Double-check the database username and password configured is correct.
JDBC Driver JAR File:
You still need the MySQL Connector/J JAR file in the IIQ classpath. Ensure you have downloaded the appropriate version (compatible with your MySQL Aurora version and the driver class you specified) and placed it in the correct lib directory of your IIQ installation.
Security Group Configuration:
This is crucial for Aurora. Verify that the security group associated with your IIQ server allows inbound TCP traffic on the port your Aurora MySQL cluster is listening on (default 3306) from the IP address(es) of your IIQ servers. If the security group rules are not correctly configured, IIQ will not be able to establish a network connection to the database, even if the driver and URL are correct.
JDBC Connection URL:
The connection.url needs to be correctly formatted for your Aurora MySQL cluster.
jdbc:mysql://<your_cluster_endpoint>:<port>/<your_database_name></property>
Replace <port> with the port your MySQL database is listening on (the default is usually 3306).
JDBC Driver Class Name:
Ensure the connection.driver_class in your IIQ database configuration file is set to the correct MySQL driver class.
for newer version, it might be: com.mysql.cj.jdbc.Driver
For older versions, it might be: com.mysql.jdbc.Driver
I have identified the issue, data source key has given wrong for Access History connections, after corrected I am able to launch the IIQ console and able to run the IIQ Upgrade command. There are no third party drivers required for JDBC for my DB.
However when I ran the upgrade script there many DB related error shown but application able launch successfully.
Below are few error:
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
Caused by: javax.net.ssl.SSLException: Received fatal alert: record_overflow
2025-05-15T02:54:28,094 ERROR main sailpoint.server.upgrade.Upgrader:647 - org.hibernate.exception.JDBCConnectionException: could not execute statement
sailpoint.tools.GeneralException: org.hibernate.exception.JDBCConnectionException: could not execute statement
at sailpoint.persistence.HibernatePersistenceManager.commitTransaction(HibernatePersistenceManager.java:586) ~[identityiq.jar:8.4 Build bdd0ed4de58-20230919-192552]