Support for thread-level recovery of blocked connectors (AIX®, Linux®, z/OS® only)

You can unblock threads that have become blocked on networking or synchronization calls.

Certain IBM®-specific SDK classes in the com.ibm.jvm package support the thread-level recovery of blocked connectors. These classes are packaged in core.jar.

If an application does not use these classes, it must end the whole process, rather than interrupting an individual blocked thread.

The classes are:

public interface InterruptibleContext
Defines two methods, isBlocked() and unblock(). The other three classes implement InterruptibleContext.
public class InterruptibleLockContext
A utility class for interrupting synchronization calls.
public class InterruptibleIOContext
A utility class for interrupting network calls.
public class InterruptibleThread
A utility class that extends java.lang.Thread, to allow wrapping of interruptible methods. It uses instances of InterruptibleLockContext and InterruptibleIOContext to perform the required isBlocked() and unblock() methods depending on whether a synchronization or networking operation is blocking the thread.

Both InterruptibleLockContext and InterruptibleIOContext work by referencing the current thread. Therefore if you do not use InterruptibleThread, you must provide your own class that extends java.lang.Thread, to use these new classes.

API documentation to support the package containing these classes is available here: Application programming reference