Package com.tangosol.net
Class WrapperInvocationService
- java.lang.Object
-
- com.tangosol.net.WrapperService
-
- com.tangosol.net.WrapperInvocationService
-
- All Implemented Interfaces:
ClassLoaderAware
,InvocationService
,Service
,Controllable
,Service
public class WrapperInvocationService extends WrapperService implements InvocationService
InvocationService implementation that delegates to a wrapped InvocationService instance.- Author:
- jh 2010.03.17
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.tangosol.net.Service
Service.MemberJoinAction
-
-
Field Summary
-
Fields inherited from class com.tangosol.net.WrapperService
m_service
-
Fields inherited from interface com.tangosol.net.InvocationService
TYPE_DEFAULT, TYPE_REMOTE
-
-
Constructor Summary
Constructors Constructor Description WrapperInvocationService(InvocationService service)
Create a new WrapperInvocationService that delegates to the given InvocationService instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute(Invocable task, Set setMembers, InvocationObserver observer)
Asynchronously invoke the specified task on each of the specified members.InvocationService
getInvocationService()
Return the wrapped InvocationService.Map
query(Invocable task, Set setMembers)
Synchronously invoke the specified task on each of the specified members.String
toString()
-
Methods inherited from class com.tangosol.net.WrapperService
addMemberListener, addServiceListener, configure, getCluster, getContextClassLoader, getDependencies, getInfo, getMinimumServiceVersion, getResourceRegistry, getSerializer, getService, getUserContext, isRunning, isSuspended, isVersionCompatible, isVersionCompatible, isVersionCompatible, isVersionCompatible, removeMemberListener, removeServiceListener, setContextClassLoader, setDependencies, setUserContext, shutdown, start, stop
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.tangosol.io.ClassLoaderAware
getContextClassLoader, setContextClassLoader
-
Methods inherited from interface com.tangosol.util.Controllable
configure, isRunning, shutdown, start, stop
-
Methods inherited from interface com.tangosol.net.Service
addMemberListener, getCluster, getDependencies, getInfo, getMinimumServiceVersion, getResourceRegistry, getSerializer, getUserContext, isSuspended, isVersionCompatible, isVersionCompatible, isVersionCompatible, isVersionCompatible, removeMemberListener, setDependencies, setUserContext
-
Methods inherited from interface com.tangosol.util.Service
addServiceListener, removeServiceListener
-
-
-
-
Constructor Detail
-
WrapperInvocationService
public WrapperInvocationService(InvocationService service)
Create a new WrapperInvocationService that delegates to the given InvocationService instance.- Parameters:
service
- the InvocationService to wrap
-
-
Method Detail
-
execute
public void execute(Invocable task, Set setMembers, InvocationObserver observer)
Asynchronously invoke the specified task on each of the specified members. This method may return before the task is executed, or before it finishes executing, or after it finishes executing, or any of the above; however, it is expected that aggressive implementations will attempt to return as quickly as possible.- Specified by:
execute
in interfaceInvocationService
- Parameters:
task
- the Invocable object to distribute to the specified members in order to be invoked on those memberssetMembers
- (optional) a set of cluster members to which the Invocable object will be distributed; if null, the Invocable object will be distributed to all cluster members that are running this serviceobserver
- (optional) the InvocationObserver object that will receive notifications related to the Invocable object
-
query
public Map query(Invocable task, Set setMembers)
Synchronously invoke the specified task on each of the specified members. This method will not return until the specified members have completed their processing, failed in their processing, or died trying.Members that are specified but are not currently running the InvocationService will not invoke the specified Invocable object. Members that leave (gracefully or otherwise) before the invocation completes will not register a result, and the amount of processing that completed is indeterminate. Members that encounter an exception during invocation will not be retried and no result is returned. Specifically, the result for a given member will not be present under the following conditions:
- if the member did not exist
- if the member was not running the service at the time that the query method was invoked
- if the member left (via the shutdown or stop methods, or unexpectedly) before responding
- if the member encountered an exception while processing and had not registered a non-null result
- if the member completed successfully but registered no result
- if the member completed successfully but explicitly registered a result of null
- Specified by:
query
in interfaceInvocationService
- Parameters:
task
- the Invocable object to distribute to the specified members in order to be invoked on those memberssetMembers
- (optional) a set of cluster members to which the Invocable object will be distributed; if null, the Invocable object will be distributed to all cluster members that are running this service- Returns:
- a Map of result objects keyed by Member object
-
toString
public String toString()
- Overrides:
toString
in classWrapperService
-
getInvocationService
public InvocationService getInvocationService()
Return the wrapped InvocationService.- Returns:
- the wrapped InvocationService
-
-