public class RegistryActor
extends java.lang.Object
implements net.e6tech.elements.common.federation.Registry
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
REGISTRY_DISPATCHER |
| Constructor and Description |
|---|
RegistryActor() |
| Modifier and Type | Method and Description |
|---|---|
void |
addRouteListener(RouteListener listener) |
<T> net.e6tech.elements.common.util.concurrent.Async<T> |
async(java.lang.String qualifier,
java.lang.Class<T> interfaceClass) |
<T> net.e6tech.elements.common.util.concurrent.Async<T> |
async(java.lang.String qualifier,
java.lang.Class<T> interfaceClass,
long timeout,
net.e6tech.elements.common.federation.Registry.Routing routing) |
<T> java.util.List<java.lang.String> |
discover(java.lang.String qualifier,
java.lang.Class<T> interfaceClass) |
net.e6tech.elements.common.actor.typed.Guardian |
getGuardian() |
static java.lang.String |
getPath() |
long |
getTimeout() |
<T,U> java.util.concurrent.CompletionStage<java.util.List<U>> |
internalRegister(java.lang.String qualifier,
java.lang.Class<T> interfaceClass,
T implementation,
java.lang.reflect.InvocationHandler customizedInvoker) |
protected <R,U> java.util.concurrent.CompletionStage<U> |
register(java.lang.String path,
java.util.function.BiFunction<akka.actor.typed.ActorRef,java.lang.Object[],R> function) |
<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) |
void |
removeRouteListener(RouteListener listener) |
java.util.function.Function<java.lang.Object[],java.util.concurrent.CompletionStage<InvocationEvents.Response>> |
route(java.lang.String qualifier,
java.lang.Class interfaceClass,
java.lang.reflect.Method method,
long timeout) |
java.util.function.Function<java.lang.Object[],java.util.concurrent.CompletionStage<InvocationEvents.Response>> |
route(java.lang.String path,
long timeout) |
java.util.Collection |
routes(java.lang.String path) |
java.util.Collection |
routes(java.lang.String qualifier,
java.lang.Class interfaceClass) |
static void |
setPath(java.lang.String path) |
void |
setTimeout(long timeout) |
void |
shutdown() |
void |
start(net.e6tech.elements.common.actor.typed.Guardian guardian) |
void |
waitForRoutes(java.lang.String qualifier,
java.lang.Class interfaceClass,
java.util.function.Predicate<java.util.Collection> predicate,
long timeout) |
void |
waitForRoutes(java.lang.String qualifier,
java.util.function.Predicate<java.util.Collection> predicate,
long timeout) |
void |
waitLoop(java.util.function.BooleanSupplier test,
long timeout) |
public static final java.lang.String REGISTRY_DISPATCHER
public static java.lang.String getPath()
public static void setPath(java.lang.String path)
public long getTimeout()
public void setTimeout(long timeout)
public void addRouteListener(RouteListener listener)
public void removeRouteListener(RouteListener listener)
public net.e6tech.elements.common.actor.typed.Guardian getGuardian()
public void start(net.e6tech.elements.common.actor.typed.Guardian guardian)
public void shutdown()
public java.util.Collection routes(java.lang.String path)
public java.util.Collection routes(java.lang.String qualifier,
java.lang.Class interfaceClass)
routes in interface net.e6tech.elements.common.federation.Registryprotected <R,U> java.util.concurrent.CompletionStage<U> register(java.lang.String path,
java.util.function.BiFunction<akka.actor.typed.ActorRef,java.lang.Object[],R> function)
public <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.Registrypublic <T> java.util.List<java.lang.String> discover(java.lang.String qualifier,
java.lang.Class<T> interfaceClass)
public <T,U> java.util.concurrent.CompletionStage<java.util.List<U>> internalRegister(java.lang.String qualifier,
java.lang.Class<T> interfaceClass,
T implementation,
java.lang.reflect.InvocationHandler customizedInvoker)
T - type of implementationqualifier - a unique name for the serviceinterfaceClass - Interface class. Its methods will be registered and, therefore, it is important
for the qualifier to be unique.implementation - implementation of the interfacepublic java.util.function.Function<java.lang.Object[],java.util.concurrent.CompletionStage<InvocationEvents.Response>> route(java.lang.String qualifier, java.lang.Class interfaceClass, java.lang.reflect.Method method, long timeout)
public java.util.function.Function<java.lang.Object[],java.util.concurrent.CompletionStage<InvocationEvents.Response>> route(java.lang.String path, long timeout)
public <T> net.e6tech.elements.common.util.concurrent.Async<T> async(java.lang.String qualifier,
java.lang.Class<T> interfaceClass)
async in interface net.e6tech.elements.common.federation.Registrypublic <T> net.e6tech.elements.common.util.concurrent.Async<T> async(java.lang.String qualifier,
java.lang.Class<T> interfaceClass,
long timeout,
net.e6tech.elements.common.federation.Registry.Routing routing)
async in interface net.e6tech.elements.common.federation.Registrypublic void waitLoop(java.util.function.BooleanSupplier test,
long timeout)
throws java.util.concurrent.TimeoutException
java.util.concurrent.TimeoutExceptionpublic void waitForRoutes(java.lang.String qualifier,
java.util.function.Predicate<java.util.Collection> predicate,
long timeout)
throws java.util.concurrent.TimeoutException
java.util.concurrent.TimeoutExceptionpublic void waitForRoutes(java.lang.String qualifier,
java.lang.Class interfaceClass,
java.util.function.Predicate<java.util.Collection> predicate,
long timeout)
throws java.util.concurrent.TimeoutException
java.util.concurrent.TimeoutException