1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 fastRPC v0.1 发布,基于 AIO 的 RPC 调用框架 下载

本帖由 漂亮的石头2016-04-11 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    487,584
    赞:
    47
    基于java AIO实现的RPC调用框架,封装完全屏蔽IO通信层,使用者就像调用本地API一样调用RPC接口


    RPC服务端初始化


    public static void main(String[] args) throws Exception {
    new FastRpcServer()
    .threadSize(20)
    .register("test", new TestService())
    .bind(4567)
    .start();
    }

    public class TestService implements ITestService {

    private final Logger log = LoggerFactory.getLogger(getClass());

    @Override
    public String say(String what) {
    String result = "say " + what;
    log.debug(result);
    return result;
    }

    @Override
    public String name() {
    log.debug("call name");
    return "call name";
    }

    @Override
    public void ok(String ok) {
    log.debug("call ok");
    log.debug("param:{}", ok);
    }

    @Override
    public void none() {
    log.debug("call none");
    }

    @Override
    public User doUser(User user) {
    log.debug("收到user:" + user);
    user.setAge(user.getAge() - 1);
    user.setName("hello " + user.getName());
    user.setSex(!user.isSex());
    return user;
    }
    }
    RPC客户端初始化



    public static void main(String[] args) {
    try(IClient client = new FastRpcClient()) {
    client.connect(new InetSocketAddress("127.0.0.1", 4567));
    ITestService service = client.getService("test", ITestService.class);
    String say = service.say("Hello!");
    System.out.println(say);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }


    public interface ITestService {

    String say(String what);

    String name();

    void ok(String ok);

    void none();

    User doUser(User user);
    }
    fastRPC v0.1 发布,基于 AIO 的 RPC 调用框架下载地址
     
正在加载...