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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      Object getResult()
      Determine the result from the invocation of this object.
      void init​(InvocationService service)
      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 Detail

      • 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