public class FunctionService
extends java.lang.Object
Function execution provides a means to route application behaviour to data or
more generically to peers in a DistributedSystem
or servers in a Pool
.
Modifier and Type | Method and Description |
---|---|
static Function |
getFunction(java.lang.String functionId)
Returns the
Function defined by the functionId, returns null if no function is found
for the specified functionId |
static java.util.Map<java.lang.String,Function> |
getRegisteredFunctions()
Returns all locally registered functions
|
static boolean |
isRegistered(java.lang.String functionId)
Returns true if the function is registered to FunctionService
|
static Execution |
onMember(DistributedMember distributedMember)
Returns an
Execution object that can be used to execute a data independent function on
a DistributedMember . |
static Execution |
onMember(DistributedSystem system,
DistributedMember distributedMember)
Deprecated.
use
onMember(DistributedMember) instead |
static Execution |
onMember(java.lang.String... groups)
Returns an
Execution object that can be used to execute a data independent function on
one member of each group provided. |
static Execution |
onMembers(DistributedSystem system)
Deprecated.
use
onMember(String...) instead |
static Execution |
onMembers(DistributedSystem system,
java.util.Set<DistributedMember> distributedMembers)
Deprecated.
use
onMembers(Set) instead |
static Execution |
onMembers(java.util.Set<DistributedMember> distributedMembers)
Returns an
Execution object that can be used to execute a data independent function on
the set of DistributedMember s. |
static Execution |
onMembers(java.lang.String... groups)
Returns an
Execution object that can be used to execute a data independent function on
all peer members. |
static Execution |
onRegion(Region region)
|
static Execution |
onServer(Pool pool)
|
static Execution |
onServer(RegionService regionService)
Returns an
Execution object that can be used to execute a data independent function on
a server that the given cache is connected to. |
static Execution |
onServers(Pool pool)
|
static Execution |
onServers(RegionService regionService)
Returns an
Execution object that can be used to execute a data independent function on
all the servers that the given cache is connected to. |
static void |
registerFunction(Function function)
|
static void |
unregisterFunction(java.lang.String functionId)
|
public static Execution onRegion(Region region)
Execution
object that can be used to execute a data dependent function on
the specified Region.Pool
for the region. Execution
, the function is executed on all
GemFire members that define the data region, or a subset of members.
Execution.withFilter(Set)
).
For DistributedRegions with DataPolicy.NORMAL, it throws UnsupportedOperationException. For
DistributedRegions with DataPolicy.EMPTY, execute the function on any random member which has
DataPolicy.REPLICATE region
- FunctionException
- if the region passed in is nullpublic static Execution onServer(Pool pool)
Execution
object that can be used to execute a data independent function on
a server in the provided Pool
.
If the server goes down while dispatching or executing the function, an Exception will be thrown.
pool
- from which to chose a server for executionFunctionException
- if Pool instance passed in is nullpublic static Execution onServers(Pool pool)
Execution
object that can be used to execute a data independent function on
all the servers in the provided Pool
. If one of the servers goes down while dispatching
or executing the function on the server, an Exception will be thrown.pool
- the set of servers to execute the functionFunctionException
- if Pool instance passed in is nullpublic static Execution onServer(RegionService regionService)
Execution
object that can be used to execute a data independent function on
a server that the given cache is connected to.
If the server goes down while dispatching or executing the function, an Exception will be thrown.
regionService
- obtained from ClientCacheFactory.create()
or
ClientCache.createAuthenticatedView(Properties)
.FunctionException
- if cache is null, is not on a client, or it does not have a default
poolpublic static Execution onServers(RegionService regionService)
Execution
object that can be used to execute a data independent function on
all the servers that the given cache is connected to. If one of the servers goes down while
dispatching or executing the function on the server, an Exception will be thrown.regionService
- obtained from ClientCacheFactory.create()
or
ClientCache.createAuthenticatedView(Properties)
.FunctionException
- if cache is null, is not on a client, or it does not have a default
poolpublic static Execution onMember(DistributedSystem system, DistributedMember distributedMember)
onMember(DistributedMember)
insteadExecution
object that can be used to execute a data independent function on
a DistributedMember
of the DistributedSystem
. If the member is not found in the
system, the function execution will throw an Exception. If the member goes down while
dispatching or executing the function on the member, an Exception will be thrown.system
- defines the distributed systemdistributedMember
- defines a member in the distributed systemFunctionException
- if either input parameter is nullpublic static Execution onMembers(DistributedSystem system)
onMember(String...)
insteadExecution
object that can be used to execute a data independent function on
all members of the DistributedSystem
. If one of the members goes down while dispatching
or executing the function on the member, an Exception will be thrown.system
- defines the distributed systemFunctionException
- if DistributedSystem instance passed is nullpublic static Execution onMembers(DistributedSystem system, java.util.Set<DistributedMember> distributedMembers)
onMembers(Set)
insteadExecution
object that can be used to execute a data independent function on
the set of DistributedMember
s of the DistributedSystem
. If one of the members
goes down while dispatching or executing the function, an Exception will be thrown.system
- defines the distributed systemdistributedMembers
- set of distributed members on which Function
to be executedFunctionException
- if DistributedSystem instance passed is nullpublic static Execution onMember(DistributedMember distributedMember)
Execution
object that can be used to execute a data independent function on
a DistributedMember
. If the member is not found, executing the function will throw an
Exception. If the member goes down while dispatching or executing the function on the member,
an Exception will be thrown.distributedMember
- defines a member in the distributed systemFunctionException
- if distributedMember is nullpublic static Execution onMembers(java.lang.String... groups)
Execution
object that can be used to execute a data independent function on
all peer members. If the optional groups parameter is provided, function is executed on all
members that belong to the provided groups.
If one of the members goes down while dispatching or executing the function on the member, an Exception will be thrown.
groups
- optional list of GemFire configuration property "groups" (see
groups
) on
which to execute the function. Function will be executed on all members of each groupFunctionException
- if no members are found belonging to the provided groupspublic static Execution onMembers(java.util.Set<DistributedMember> distributedMembers)
Execution
object that can be used to execute a data independent function on
the set of DistributedMember
s. If one of the members goes down while dispatching or
executing the function, an Exception will be thrown.distributedMembers
- set of distributed members on which Function
to be executedFunctionException
- if distributedMembers is nullpublic static Execution onMember(java.lang.String... groups)
Execution
object that can be used to execute a data independent function on
one member of each group provided.groups
- list of GemFire configuration property "groups" (see
groups
) on
which to execute the function. Function will be executed on one member of each groupFunctionException
- if no members are found belonging to the provided groupspublic static Function getFunction(java.lang.String functionId)
Function
defined by the functionId, returns null if no function is found
for the specified functionIdfunctionId
- FunctionException
- if functionID passed is nullpublic static void registerFunction(Function function)
Function
with the FunctionService
using
Function.getId()
.
Registering a function allows execution of the function using
Execution.execute(String)
. Every member that could execute a function using its
Function.getId()
should register the function.
FunctionException
- if function instance passed is null or Function.getId() returns nullpublic static void unregisterFunction(java.lang.String functionId)
FunctionException
- if function instance passed is null or Function.getId() returns nullpublic static boolean isRegistered(java.lang.String functionId)
FunctionException
- if function instance passed is null or Function.getId() returns nullpublic static java.util.Map<java.lang.String,Function> getRegisteredFunctions()
Function.getId()
to Function