Tomcat - Resolve "started a thread named JMSCCThreadPoolMaster but has failed to stop it"

by
Jeremy Canfield |
Updated: October 02 2023
| Tomcat articles
This error appears in the JVMs catalina.log.
SEVERE: The web application [/example_app] appears to have started a thread named [JMSCCThreadPoolMaster] but has failed to stop it. This is very likely to create a memory leak.
The "JMSCCThreadPoolMaster" thread may be created by IBMs MQ. If the app is indeed configured to use MQ, ensure the app markup includes connection.close();.
props.put(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
props.put(WMQConstants.WMQ_HOST_NAME, "localhost");
props.put(WMQConstants.WMQ_QUEUE_MANAGER, "myManager");
props.put(WMQConstants.WMQ_CHANNEL, "myChannel");
factory.setBatchProperties(props);
Connection connection = factory.createConnection(); // ++
connection.close();
If the app does include connection.close();, and the issue persists, attempt to submit some transactions to MQ to see if there are indeed issues with MQ. If there are issues with MQ, check MQ.
If there are no issues with MQ, you may want to consider opening an PMR with IBM.
Since this event suggests that a memory leak is very likely, check for a memory leak.
Did you find this article helpful?
If so, consider buying me a coffee over at