com.github.houbb.rpc.client.proxy.ServiceContext Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rpc-client Show documentation
Show all versions of rpc-client Show documentation
The client module of rpc framework.
The newest version!
package com.github.houbb.rpc.client.proxy;
import com.github.houbb.load.balance.api.ILoadBalance;
import com.github.houbb.rpc.client.support.fail.enums.FailTypeEnum;
import com.github.houbb.rpc.client.support.register.ClientRegisterManager;
import com.github.houbb.rpc.common.constant.enums.CallTypeEnum;
import com.github.houbb.rpc.common.support.inteceptor.RpcInterceptor;
import com.github.houbb.rpc.common.support.invoke.InvokeManager;
import com.github.houbb.rpc.common.support.status.service.StatusManager;
import com.github.houbb.rpc.client.support.filter.RpcFilter;
/**
* 反射调用上下文
* @author binbin.hou
* @since 0.0.6
* @see com.github.houbb.rpc.client.config.reference.ReferenceConfig 对这里的信息进行一次转换。
*/
public interface ServiceContext {
/**
* 服务唯一标识
* @since 0.0.6
* @return 服务唯一标识
*/
String serviceId();
/**
* 服务接口
* @since 0.0.6
* @return 服务接口
*/
Class serviceInterface();
/**
* 调用服务
* @return 调用服务
* @since 0.0.6
*/
InvokeManager invokeManager();
/**
* 超时时间
* 单位:mills
* @return 超时时间
* @since 0.0.7
*/
long timeout();
/**
* 调用方式
* @return 枚举值
* @since 0.1.0
*/
CallTypeEnum callType();
/**
* 失败策略
* @return 失败策略枚举
* @since 0.1.1
*/
FailTypeEnum failType();
/**
* 是否进行泛化调用
* @return 是否
* @since 0.1.2
*/
boolean generic();
/**
* 状态管理类
* @return 状态管理类
* @since 0.1.3
*/
StatusManager statusManager();
/**
* 拦截器
* @return 拦截器
* @since 0.1.4
*/
RpcInterceptor interceptor();
/**
* 客户端注册中心管理类
* @return 结果
* @since 0.1.8
*/
ClientRegisterManager clientRegisterManager();
/**
* rpc 过滤器
* @since 0.2.0
* @return 过滤器
*/
RpcFilter rpcFilter();
/**
* 负载均衡策略
* @return 策略
* @since 0.2.0
*/
ILoadBalance loadBalance();
}