SQLServer and Tomcat were updated from 8.5 to 9, and JDKE from 8 to 11, all supported and documented versions.
Databases were restored and compatibility adjusted for this new version of SQLServer.
Console access is available on both servers.
There is a connection but when starting Tomcat the following errors appear
4-Apr-2025 01:52:13.487 WARNING [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [identityiq] registered the JDBC driver [com.microsoft.sqlserver.jdbc.SQLServerDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
05-Apr-2025 01:42:36.700 WARNING [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [identityiq] registered the JDBC driver [com.microsoft.sqlserver.jdbc.SQLServerDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
05-Apr-2025 01:42:36.701 WARNING [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [identityiq] appears to have started a thread named [Log4j2-TF-2-Scheduled-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
I believe this was due to outdated mssql driver in the lib folder that you have to download from microsoft to update. I believe when I did this update we put in mssql-jdbc 8.4.1 JRE 11
Hi @wendycape
The three warning messages are only warnings and won’t stop IdentityIQ from starting.
Are there any other relevant messages in catalina.out?
check if the iiq.properties file is wellformed and the connection string is correct. If you are in a dev enviroment and you dont need any cert to connect to db, try to add this at end of the connection string:
encrypt=false;trustServerCertificate=false;
Also, be sure to have the correct version of the driver and it is compatible with java and MSSQL version. Try to use mssql-jdbc-12.8.1.jre11.jar and put id in WEB-INF\lib.
Check the permissions of the user on the identityiq folder, the same user that run tomcat must have the full access on this folder.
Like last test, stop the process and check if the process is really stopped, sometime the process still running with error.
We’ve already checked all the previous points and it’s still showing warnings. Now it’s showing an error in the libraries. We think the error is in Tomcat, something that’s left over from the previous version.
I think I've seen similar issues if you shut down tomcat and the underlying java process is still running and you then try ans start tomcat again.
So shut down tomcat
check for any java processes that is UNIX owned by the "tomcat" user it may be identityiq depends on your installation
if it is identityiq just run
ps -u identityiq
to see all the processes started by that user
and if you see any java process that should not be running
get the process id and kill it with -9
kill -9 <id>
then start tomcat again
hope this helps
Through the console in Windows we can close or terminate those threads, since Tomcat was installed again, however it continues to show errors, it could be that the previous installation was somewhat incomplete.
attached log.
We have console access on both servers.
Does anyone know what is happening, how can we solve these errors?
It would help to know what’s happening in IdentityIQ as it is starting up. Your catalina.log file doesn’t have that info though. Could you check your log4j2.properties file and see if logs are being directed elsewhere? Maybe you could increase the log level.