Interface Invocable

All Superinterfaces:
Runnable, Serializable
All Known Subinterfaces:
InvocableInOrder, NonBlockingInvocable
All Known Implementing Classes:
AbstractInvocable

public interface Invocable extends Runnable, Serializable
The Invocable object is a cluster-portable object that can be invoked on any set of remote members and each can optionally register a return value for the invocation.

When an Invocable object is received for execution, the order of execution is:

  • the Invocable object is deserialized by the InvocationService;
  • the InvocationService provides a reference to itself to the Invocable object by calling the init method;
  • the InvocationService invokes the Invocable object by calling the run method;
  • if the InvocationService is responsible for returning a value from the invocation, it obtains the value by calling the getResult method.
Starting with Coherence 3.3 it's possible to control the task scheduling priority and timeout by also implementing PriorityTask interface.
Since:
Coherence 2.1
Author:
cp 2003-01-05
  • Method Summary

    Modifier and Type
    Method
    Description
    Determine the result from the invocation of this object.
    void
    Called by the InvocationService exactly once on this Invocable object as part of its initialization.
    void
    run()
    Called exactly once by the InvocationService to invoke this Invocable object.
  • Method Details

    • init

      void init(InvocationService service)
      Called by the InvocationService exactly once on this Invocable object as part of its initialization.

      Note: implementations of the Invocable interface that store the service reference must do so only in a transient field.

      Parameters:
      service - the containing InvocationService
    • run

      void run()
      Called exactly once by the InvocationService to invoke this Invocable object.
      Specified by:
      run in interface Runnable
    • getResult

      Object getResult()
      Determine the result from the invocation of this object. This method is called by the InvocationService after the run method returns.
      Returns:
      the invocation result, if any