public class InvokerRegistryImpl extends java.lang.Object implements InvokerRegistry, net.e6tech.elements.common.resources.Initializable
| Constructor and Description |
|---|
InvokerRegistryImpl() |
| Modifier and Type | Method and Description |
|---|---|
<R> net.e6tech.elements.common.util.concurrent.Async<R> |
async(java.lang.String qualifier,
java.lang.Class<R> interfaceClass) |
<R> net.e6tech.elements.common.util.concurrent.Async<R> |
async(java.lang.String qualifier,
java.lang.Class<R> interfaceClass,
long timeout,
net.e6tech.elements.common.federation.Registry.Routing routing) |
CollectiveImpl |
getCollective() |
java.util.concurrent.Executor |
getExecutor() |
void |
initialize(net.e6tech.elements.common.resources.Resources resources) |
java.lang.Object |
invoke(java.lang.String path,
java.lang.Object[] arguments) |
<T> java.util.List<java.lang.String> |
register(java.lang.String qualifier,
java.lang.Class<T> interfaceClass,
T implementation) |
<T> java.util.List<java.lang.String> |
register(java.lang.String qualifier,
java.lang.Class<T> interfaceClass,
T implementation,
java.lang.reflect.InvocationHandler customizedInvoker) |
protected java.lang.String |
register(java.lang.String path,
java.util.function.Function<java.lang.Object[],java.lang.Object> invoker) |
<R> java.util.function.Function<java.lang.Object[],java.util.concurrent.CompletableFuture<R>> |
route(java.lang.String qualifier,
java.lang.Class interfaceClass,
java.lang.reflect.Method method,
net.e6tech.elements.common.federation.Registry.Routing routing)
Return a Function.
|
java.util.Set<java.lang.String> |
routes() |
java.util.Collection |
routes(java.lang.String qualifier,
java.lang.Class interfaceClass) |
void |
setCollective(CollectiveImpl collective) |
void |
setExecutor(java.util.concurrent.Executor executor) |
void |
shutdown() |
void |
start() |
public void start()
start in interface InvokerRegistrypublic java.util.concurrent.Executor getExecutor()
public void setExecutor(java.util.concurrent.Executor executor)
public CollectiveImpl getCollective()
public void setCollective(CollectiveImpl collective)
public void shutdown()
shutdown in interface InvokerRegistrypublic void initialize(net.e6tech.elements.common.resources.Resources resources)
initialize in interface net.e6tech.elements.common.resources.Initializableprotected java.lang.String register(java.lang.String path,
java.util.function.Function<java.lang.Object[],java.lang.Object> invoker)
path - fully qualified path, this is the unique key. registering to the cluster and self.invoker - takes arguments and execute method call to return a valuepublic <T> java.util.List<java.lang.String> register(java.lang.String qualifier,
java.lang.Class<T> interfaceClass,
T implementation)
register in interface net.e6tech.elements.common.federation.Registrypublic <T> java.util.List<java.lang.String> register(java.lang.String qualifier,
java.lang.Class<T> interfaceClass,
T implementation,
java.lang.reflect.InvocationHandler customizedInvoker)
register in interface net.e6tech.elements.common.federation.Registryregister in interface InvokerRegistrypublic <R> java.util.function.Function<java.lang.Object[],java.util.concurrent.CompletableFuture<R>> route(java.lang.String qualifier,
java.lang.Class interfaceClass,
java.lang.reflect.Method method,
net.e6tech.elements.common.federation.Registry.Routing routing)
route in interface InvokerRegistryqualifier - route qualifier, this allows more than one identifical interfaces to be registerinterfaceClass - interface class to be registeredmethod - method to be called.public java.util.Collection routes(java.lang.String qualifier,
java.lang.Class interfaceClass)
routes in interface net.e6tech.elements.common.federation.Registrypublic java.util.Set<java.lang.String> routes()
routes in interface InvokerRegistrypublic java.lang.Object invoke(java.lang.String path,
java.lang.Object[] arguments)
invoke in interface InvokerRegistrypublic <R> net.e6tech.elements.common.util.concurrent.Async<R> async(java.lang.String qualifier,
java.lang.Class<R> interfaceClass)
async in interface net.e6tech.elements.common.federation.Registrypublic <R> net.e6tech.elements.common.util.concurrent.Async<R> async(java.lang.String qualifier,
java.lang.Class<R> interfaceClass,
long timeout,
net.e6tech.elements.common.federation.Registry.Routing routing)
async in interface net.e6tech.elements.common.federation.Registry