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.
You can cancel or kill threads for user-written Java or flow services only; you cannot cancel or kill threads for Integration Server system services.
Important: | You cannot cancel or kill threads for DB stored procedures when Integration Server is configured to use the 10g or 11g Oracle driver. |
When you cancel or kill a thread, Integration Server returns a thread to the global, trigger, or scheduler 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.
Important: | The ability to cancel or kill service threads is controlled by the watt.server.threadKill.enabled property. If you want to be able to cancel or kill threads, this property must be set to true, which is the default setting. |
Caution: | Use care when canceling or killing threads. Canceling a thread might not free up resources being held by the service. Killing a thread might put your resources in an unstable state. |