public class RsfCaller extends RsfRequestManager
invLogger, logger| 构造器和说明 |
|---|
RsfCaller(RsfContext rsfContext,
RsfBeanContainer rsfBeanContainer,
SenderListener senderListener) |
| 限定符和类型 | 方法和说明 |
|---|---|
RsfFuture |
asyncInvoke(AddressProvider target,
RsfBindInfo<?> bindInfo,
String methodName,
Class<?>[] parameterTypes,
Object[] parameterObjects)
异步方式调用远程服务。
|
void |
callBackInvoke(AddressProvider target,
RsfBindInfo<?> bindInfo,
String methodName,
Class<?>[] parameterTypes,
Object[] parameterObjects,
net.hasor.utils.future.FutureCallback<Object> listener)
回调方式调用远程服务,回调中返回的是结果。
|
void |
callBackRequest(AddressProvider target,
RsfBindInfo<?> bindInfo,
String methodName,
Class<?>[] parameterTypes,
Object[] parameterObjects,
net.hasor.utils.future.FutureCallback<RsfResponse> listener)
回调方式调用远程服务,回调中返回的是
RsfResponse。 |
RsfBeanContainer |
getContainer()
|
<T> T |
getRemote(AddressProvider target,
RsfBindInfo<T> bindInfo)
根据服务注册的类型,将远程服务提供者包装成该类型表示的一个接口代理。
|
Object |
getRemote(AddressProvider target,
String group,
String name,
String version)
根据服务注册的类型,将远程服务提供者包装成该类型表示的一个接口代理。
|
Object |
getRemoteByID(AddressProvider target,
String serviceID)
根据服务注册的类型,将远程服务提供者包装成该类型表示的一个接口代理。
|
Object |
syncInvoke(AddressProvider target,
RsfBindInfo<?> bindInfo,
String methodName,
Class<?>[] parameterTypes,
Object[] parameterObjects)
同步方式调用远程服务。
|
<T> T |
wrapper(AddressProvider target,
Class<T> interFace)
忽略服务元信息上对接口类型的定义,使用指定的接口类型包装远程服务提供者。
|
<T> T |
wrapper(AddressProvider target,
RsfBindInfo<?> bindInfo,
Class<T> interFace) |
<T> T |
wrapper(AddressProvider target,
String group,
String name,
String version,
Class<T> interFace)
忽略服务元信息上对接口类型的定义,使用指定的接口类型包装远程服务提供者。
|
<T> T |
wrapperByID(AddressProvider target,
String serviceID,
Class<T> interFace)
忽略服务元信息上对接口类型的定义,使用指定的接口类型包装远程服务提供者。
|
doSendRequest, getContext, getRequest, putResponse, putResponsepublic RsfCaller(RsfContext rsfContext, RsfBeanContainer rsfBeanContainer, SenderListener senderListener)
public RsfBeanContainer getContainer()
RsfRequestManagergetContainer 在类中 RsfRequestManagerpublic Object getRemoteByID(AddressProvider target, String serviceID) throws RsfException
target - 目标RSF服务提供者地址。serviceID - 服务IDRsfExceptionRsfBindInfo.getBindType()public Object getRemote(AddressProvider target, String group, String name, String version) throws RsfException
target - 目标RSF服务提供者地址。group - 服务分组name - 服务名version - 服务版本。RsfExceptionRsfBindInfo.getBindType()public <T> T getRemote(AddressProvider target, RsfBindInfo<T> bindInfo) throws RsfException
target - 目标RSF服务提供者地址。bindInfo - 服务元信息。RsfExceptionRsfBindInfo.getBindType()public <T> T wrapperByID(AddressProvider target, String serviceID, Class<T> interFace) throws RsfException
target - 目标RSF服务提供者地址。serviceID - 服务IDinterFace - 要包装成为的那个接口。RsfExceptionRsfBindInfo.getBindType()public <T> T wrapper(AddressProvider target, Class<T> interFace) throws RsfException
target - 目标RSF服务提供者地址。interFace - 要包装成为的那个接口,需要配合@RsfService注解一起使用。RsfExceptionRsfBindInfo.getBindType()public <T> T wrapper(AddressProvider target, String group, String name, String version, Class<T> interFace) throws RsfException
target - 目标RSF服务提供者地址。group - 服务分组name - 服务名称version - 服务版本interFace - 要包装成为的那个接口。RsfExceptionRsfBindInfo.getBindType()public <T> T wrapper(AddressProvider target, RsfBindInfo<?> bindInfo, Class<T> interFace) throws RsfException
RsfExceptionpublic Object syncInvoke(AddressProvider target, RsfBindInfo<?> bindInfo, String methodName, Class<?>[] parameterTypes, Object[] parameterObjects) throws InterruptedException, ExecutionException, TimeoutException
target - 目标RSF服务提供者地址。bindInfo - 服务元信息。methodName - 远程服务方法名parameterTypes - 远程方法参数列表。parameterObjects - 参数值TimeoutExceptionExecutionExceptionInterruptedExceptionpublic RsfFuture asyncInvoke(AddressProvider target, RsfBindInfo<?> bindInfo, String methodName, Class<?>[] parameterTypes, Object[] parameterObjects)
target - 目标RSF服务提供者地址。bindInfo - 服务元信息。methodName - 远程服务方法名parameterTypes - 远程方法参数列表。parameterObjects - 参数值public void callBackInvoke(AddressProvider target, RsfBindInfo<?> bindInfo, String methodName, Class<?>[] parameterTypes, Object[] parameterObjects, net.hasor.utils.future.FutureCallback<Object> listener)
target - 目标RSF服务提供者地址。bindInfo - 服务元信息。methodName - 远程服务方法名parameterTypes - 远程方法参数列表。parameterObjects - 参数值listener - 回调接口。public void callBackRequest(AddressProvider target, RsfBindInfo<?> bindInfo, String methodName, Class<?>[] parameterTypes, Object[] parameterObjects, net.hasor.utils.future.FutureCallback<RsfResponse> listener)
RsfResponse。target - 目标RSF服务提供者地址。bindInfo - 服务元信息。methodName - 远程服务方法名parameterTypes - 远程方法参数列表。parameterObjects - 参数值listener - 回调接口。Copyright © 2020–2021. All rights reserved.