当前位置:  软件>java软件

简单 Netty RPC 框架 snrpc

    来源:    发布时间:2014-12-16

    本文导语:  snrpc 是一个简单的 Netty RPC 框架,使用 protostuff 1.07 作为序列化工具,使用 Netty-3.2.1 作为 NIO。使用方式:比如:1. server class;interface and implementor         // define an interface:          public interface SnRpcInterface {    ...

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
     
 
        
            
        
    

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



    
 
 

您可能感兴趣的文章:

  • 网络应用框架 Netty
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Socket.IO服务器端实现 socketio-netty


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3