Package org.redisson
Class RedissonRemoteService
java.lang.Object
org.redisson.remote.BaseRemoteService
org.redisson.RedissonRemoteService
- All Implemented Interfaces:
RRemoteService
- Direct Known Subclasses:
RedissonExecutorRemoteService
- Author:
- Nikita Koksharov
-
Nested Class Summary
-
Field Summary
Fields inherited from class org.redisson.remote.BaseRemoteService
cancelRequestMapName, cancelResponseMapName, codec, commandExecutor, executorId, name, responseQueueName
-
Constructor Summary
ConstructorDescriptionRedissonRemoteService
(Codec codec, String name, CommandAsyncExecutor commandExecutor, String executorId, ConcurrentMap<String, ResponseEntry> responses) -
Method Summary
Modifier and TypeMethodDescriptionprotected CompletableFuture<Boolean>
addAsync
(String requestQueueName, RemoteServiceRequest request, RemotePromise<Object> result) <T> void
deregister
(Class<T> remoteInterface) Deregister all workers for remote serviceint
getFreeWorkers
(Class<?> remoteInterface) Returns free workers amount available for invocationsint
getPendingInvocations
(Class<?> remoteInterface) Returns pending invocations amount for handling in free workers.getPendingInvocationsAsync
(Class<?> remoteInterface) Returns pending invocations amount for handling in free workers.getRequestTasksMapName
(Class<?> remoteInterface) protected RFuture<RemoteServiceRequest>
getTask
(String requestId, RMap<String, RemoteServiceRequest> tasks) protected <T> void
invokeMethod
(RemoteServiceRequest request, RemoteServiceMethod method, CompletableFuture<RemoteServiceCancelRequest> cancelRequestFuture, CompletableFuture<RRemoteServiceResponse> responsePromise) <T> void
Register remote service with single worker<T> void
Register remote service with custom workers amount<T> void
register
(Class<T> remoteInterface, T object, int workers, ExecutorService executor) Register remote service with custom workers amount and executor for running themprotected CompletableFuture<Boolean>
removeAsync
(String requestQueueName, String taskId) <T> boolean
tryExecute
(Class<T> remoteInterface, T object, long timeout, TimeUnit timeUnit) Tries to execute one awaiting remote request.<T> boolean
tryExecute
(Class<T> remoteInterface, T object, ExecutorService executorService, long timeout, TimeUnit timeUnit) Tries to execute one awaiting remote request.tryExecuteAsync
(Class<T> remoteInterface, T object) Tries to execute one awaiting remote request.tryExecuteAsync
(Class<T> remoteInterface, T object, long timeout, TimeUnit timeUnit) Tries to execute one awaiting remote request.tryExecuteAsync
(Class<T> remoteInterface, T object, ExecutorService executor, long timeout, TimeUnit timeUnit) Tries to execute one awaiting remote request.Methods inherited from class org.redisson.remote.BaseRemoteService
encode, generateRequestId, get, get, get, get, getAckName, getMap, getMethodSignature, getRequestQueueName, getResponseQueueName, getTimeout, scheduleCheck
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.redisson.api.RRemoteService
get, get, get, get
-
Constructor Details
-
RedissonRemoteService
public RedissonRemoteService(Codec codec, String name, CommandAsyncExecutor commandExecutor, String executorId, ConcurrentMap<String, ResponseEntry> responses)
-
-
Method Details
-
getRequestTasksMapName
-
addAsync
protected CompletableFuture<Boolean> addAsync(String requestQueueName, RemoteServiceRequest request, RemotePromise<Object> result) - Specified by:
addAsync
in classBaseRemoteService
-
removeAsync
- Specified by:
removeAsync
in classBaseRemoteService
-
register
Description copied from interface:RRemoteService
Register remote service with single worker- Specified by:
register
in interfaceRRemoteService
- Type Parameters:
T
- type of remote service- Parameters:
remoteInterface
- - remote service interfaceobject
- - remote service object
-
deregister
Description copied from interface:RRemoteService
Deregister all workers for remote service- Specified by:
deregister
in interfaceRRemoteService
- Type Parameters:
T
- type of remote service- Parameters:
remoteInterface
- - remote service interface
-
getPendingInvocations
Description copied from interface:RRemoteService
Returns pending invocations amount for handling in free workers.- Specified by:
getPendingInvocations
in interfaceRRemoteService
- Parameters:
remoteInterface
- - remote service interface- Returns:
- invocations amount
-
getPendingInvocationsAsync
Description copied from interface:RRemoteService
Returns pending invocations amount for handling in free workers.- Specified by:
getPendingInvocationsAsync
in interfaceRRemoteService
- Parameters:
remoteInterface
- - remote service interface- Returns:
- invocations amount
-
getFreeWorkers
Description copied from interface:RRemoteService
Returns free workers amount available for invocations- Specified by:
getFreeWorkers
in interfaceRRemoteService
- Parameters:
remoteInterface
- - remote service interface- Returns:
- workers amount
-
register
Description copied from interface:RRemoteService
Register remote service with custom workers amount- Specified by:
register
in interfaceRRemoteService
- Type Parameters:
T
- type of remote service- Parameters:
remoteInterface
- - remote service interfaceobject
- - remote service objectworkers
- - workers amount
-
register
Description copied from interface:RRemoteService
Register remote service with custom workers amount and executor for running them- Specified by:
register
in interfaceRRemoteService
- Type Parameters:
T
- type of remote service- Parameters:
remoteInterface
- - remote service interfaceobject
- - remote service objectworkers
- - workers amountexecutor
- - executor service used to invoke methods
-
tryExecute
public <T> boolean tryExecute(Class<T> remoteInterface, T object, long timeout, TimeUnit timeUnit) throws InterruptedException Description copied from interface:RRemoteService
Tries to execute one awaiting remote request. Waits up totimeout
if necessary until remote request became available.- Specified by:
tryExecute
in interfaceRRemoteService
- Type Parameters:
T
- - type of remote service- Parameters:
remoteInterface
- - remote service interfaceobject
- - remote service objecttimeout
- - maximum wait time until remote request became availabletimeUnit
- - time unit- Returns:
true
if method was successfully executed andfalse
if timeout reached before execution- Throws:
InterruptedException
- - if the thread is interrupted
-
tryExecute
public <T> boolean tryExecute(Class<T> remoteInterface, T object, ExecutorService executorService, long timeout, TimeUnit timeUnit) throws InterruptedException Description copied from interface:RRemoteService
Tries to execute one awaiting remote request. Waits up totimeout
if necessary until remote request became available.- Specified by:
tryExecute
in interfaceRRemoteService
- Type Parameters:
T
- - type of remote service- Parameters:
remoteInterface
- - remote service interfaceobject
- - remote service objectexecutorService
- - executor service used to invoke methodstimeout
- - maximum wait time until remote request became availabletimeUnit
- - time unit- Returns:
true
if method was successfully executed andfalse
if timeout reached before execution- Throws:
InterruptedException
- - if the thread is interrupted
-
tryExecuteAsync
public <T> RFuture<Boolean> tryExecuteAsync(Class<T> remoteInterface, T object, long timeout, TimeUnit timeUnit) Description copied from interface:RRemoteService
Tries to execute one awaiting remote request. Waits up totimeout
if necessary until remote request became available.- Specified by:
tryExecuteAsync
in interfaceRRemoteService
- Type Parameters:
T
- - type of remote service- Parameters:
remoteInterface
- - remote service interfaceobject
- - remote service objecttimeout
- - maximum wait time until remote request became availabletimeUnit
- - time unit- Returns:
true
if method was successfully executed andfalse
if timeout reached before execution
-
tryExecuteAsync
public <T> RFuture<Boolean> tryExecuteAsync(Class<T> remoteInterface, T object, ExecutorService executor, long timeout, TimeUnit timeUnit) Description copied from interface:RRemoteService
Tries to execute one awaiting remote request. Waits up totimeout
if necessary until remote request became available.- Specified by:
tryExecuteAsync
in interfaceRRemoteService
- Type Parameters:
T
- - type of remote service- Parameters:
remoteInterface
- - remote service interfaceobject
- - remote service objectexecutor
- - executor service used to invoke methodstimeout
- - maximum wait time until remote request became availabletimeUnit
- - time unit- Returns:
true
if method was successfully executed andfalse
if timeout reached before execution
-
tryExecuteAsync
Description copied from interface:RRemoteService
Tries to execute one awaiting remote request.- Specified by:
tryExecuteAsync
in interfaceRRemoteService
- Type Parameters:
T
- - type of remote service- Parameters:
remoteInterface
- - remote service interfaceobject
- - remote service object- Returns:
true
if method was successfully executed andfalse
if timeout reached before execution
-
invokeMethod
protected <T> void invokeMethod(RemoteServiceRequest request, RemoteServiceMethod method, CompletableFuture<RemoteServiceCancelRequest> cancelRequestFuture, CompletableFuture<RRemoteServiceResponse> responsePromise) -
getTask
protected RFuture<RemoteServiceRequest> getTask(String requestId, RMap<String, RemoteServiceRequest> tasks)
-