<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          snrpc簡單 Netty RPC 框架

          聯(lián)合創(chuàng)作 · 2023-09-23 13:08

          snrpc 是一個簡單的 Netty RPC 框架,使用 protostuff 1.07 作為序列化工具,使用 Netty-3.2.1 作為 NIO。

          使用方式:

          比如:

          1. server class;

          interface and implementor
                  // define an interface:
                   public interface SnRpcInterface {
                      public String getMessage(String param);
                  }
              // implement interface
              public class SnRpcImpl implements SnRpcInterface {
                  public String getMessage(String param) {
                      return "hi,it is message from server...param+" + param;
                  }
              }

          2, start server

              SnRpcInterface inter = new SnRpcImpl();
              SnRpcServer server = new SnNettyRpcServer(new Object[] { inter });
              try {
                  server.start();
              } catch (Throwable e) {
                  e.printStackTrace();
              }

          3,config file

          snrpcserver.properties

          #tcpNoDelay 
          snrpc.tcp.nodelay=true
          #call the bind method as many times as you want
          snrpc.tcp.reuseAddress=true
          #ISDEBUG
          snrpc.dev=true
          #TCP timeout
          snrpc.read.timeout=25000
          #server port
          snrpc.http.port=8080

          config.xml

          <?xml version="1.0" encoding="UTF-8"?><application>
           <!-- rpc interface services -->    
           <rpcServices>
                  <rpcService name="SnRpcInterface" interface="org.stefan.snrpc.server.SnRpcInterface" overload="true">
                     <rpcImplementor  class="org.stefan.snrpc.server.SnRpcImpl"/> 
                  </rpcService>
              </rpcServices></application>

          4, client invoker

              SnRpcConnectionFactory factory = new SnNettyRpcConnectionFactory(
                          "localhost", 8080);
              factory = new PoolableRpcConnectionFactory(factory);
              SnRpcClient client = new CommonSnRpcClient(factory);
              try {
                  SnRpcInterface clazz = client.proxy(SnRpcInterface.class);
                  String message = clazz.getMessage("come on");
                  System.out.println("client receive message .... : " + message);
              } catch (Throwable e) {
                  e.printStackTrace();
              }

          要求

          • JDK6+

          • Maven 2

          依賴

          • reflectasm-1.07.jar

          • asm-4.0.jar

          • log4j-1.2.16.jar

          • dom4j-1.6.1.jar

          • xml-apis-1.0.b2.jar

          • slf4j-api-1.6.6.jar

          • netty-3.2.1.Final.jar

          • jaxen-1.1.6.jar

          • protostuff-core-1.0.7.jar

          • protostuff-api-1.0.7.jar

          • protostuff-runtime-1.0.7.jar

          • protostuff-collectionschema-1.0.7.jar

          • commons-pool-1.6.jar

          瀏覽 10
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久草手机在线播放 | 天堂网2024 | 中国婬乱a一级毛多女 | 亚洲视频免费观看H | 91在线无码精品秘 入口动漫板 |