工具下载地址https://download.csdn.net/download/qq_31408331/11022369
首先引入EasyRPC包(服务提供方使用EasyRPCServer1.0.jar,服务调用方使用EasyRPCClient1.0.jar)
然后引入依赖的三个工具包
guava.jar
guava-util.jar
javassist.jar
然后你就可欢快的使用EasyRPC了
如何配置一个注册中心?
1.作为简单服务使用
第一步,你需要为EasyRPC准备一个配置启动类,该启动类需要继承 LXSRPCAbstractContext,
第二步,使用@LXSRPCScan 标识 RPC注册中心需要扫描作为远程服务接口的包
第三步,调用 load方法启动注册中心
example
@LXSRPCScan("org.lxs.rpc.test")
public class LXSJavaBeanConfig extends LXSRPCAbstractContext{
public static void main(String[] args) {
LXSJavaBeanConfig config = new LXSJavaBeanConfig();
config.load();
}
}
2.Spring项目中使用
example
@Component
@LXSRPCScan("com.casic.cloud.analysis.service")
public class RPCServerConfig extends LXSRPCAbstractContext{
}
如何定义自己的远程服务
1.定义通信实体
public class Order implements Serializable{
private static final long serialVersionUID = -4150317909261201120L;
}
2.定义接口
example
public interface OrderService {
/**
* 根据主键获取订单名称
* @param cguid
* @return
*/
public String getOrderName(String cguid);
/**
* 根据主键获取订单的详细信息
* @param cguid
* @return
*/
public Order getOrderInfo(String cguid);
}
3.接口实现
example
@LXSService
public class OrderServiceImpl implements OrderService{
@Override
public String getOrderName(String cguid) {
System.out.println("打开数据库连接");
System.out.println("查询数据 "+cguid);
System.out.println("关闭数据库连接");
return "查询结果:"+cguid+"~";
}
@Override
public Order getOrderInfo(String cguid) {
System.out.println("打开数据库连接");
System.out.println("查询数据 "+cguid);
System.out.println("关闭数据库连接");
Order order = new Order();
order.setCguid(cguid);
order.setCount(265);
order.setOrderName("西门子订单");
order.setDutyOfficer("张三");
return order;
}
}
如何调用远程的服务
1.使用Maven下载服务提供方的jar包(或者直接自己打jar包)
2.自定义配置类
example
@LXSRPCTarget(host = "localhost",port="18000")//服务注册中心默认端口为18000
public class RPCConfig extends LXSRPCAbstractClientConfig{
//无需任何实现
}
3.接口调用
example
OrderService service
= LXSRPCClient.newInstance(OrderService.class);
String orderName = service.getOrderName("1234");
注册中心状态介绍
DOWN:默认状态
SECURE:保护状态,EasyRpc在启动之后到对外提供服务之前处于该状态,该阶段会进行服务注册,检查
RUNNING:注册中心已经完全启动完毕,可以对外提供服务
DESTORY:强制调用注册中心关闭方法,将处于该状态,主要是资源销毁