Canceling and Killing Threads Associated with a Service
If you suspect that a flow service or Java service is unresponsive because it is waiting for an external resource or is in an infinite loop, you can stop execution of one or more threads associated with the service. You have two options:
Cancel the thread. When you cancel a thread,
Integration Server frees up resources that are held by the thread. For example, if a thread is holding a JDBC connection,
Integration Server closes and releases the connection and returns it to the JDBC connection pool.
Kill the thread. When you kill a thread,
Integration Server attempts to free up resources, but if it cannot, it continues and terminates the thread.
Integration Server replenishes the pool with a new thread.
Integration Server requires you to try canceling a thread before it will allow you to kill a thread. Once you successfully cancel a thread, you no longer have the option of killing it.
When you cancel or kill a thread, Integration Server returns a thread to the global, trigger, scheduler, or circuit breaker thread pool, depending on the function being performed.
Integration Server identifies which threads you can cancel or kill by flagging them on the System Threads screen as follows:
Threads that can be canceled are marked with a
in the
Cancel column.
Threads that can be killed are marked with an
in the
Kill column.
The ability to cancel or kill service threads is controlled by the watt.server.threadKill.enabled parameter. If you want to be able to cancel or kill threads, this parameter must be set to true, which is the default setting.
Note: If you want Integration Server to interrupt a service that uses a canceled thread, you must set the watt.server.threadKill.interruptThread.enabled parameter to true.