项目作者: langwolf

项目描述 :
Thrift on Netty
高级语言: Java
项目地址: git://github.com/langwolf/netty-thrift.git
创建时间: 2018-02-17T14:27:54Z
项目社区:https://github.com/langwolf/netty-thrift

开源协议:Apache License 2.0

下载


Netty-Thrift

Thrift on Netty

  • jdk1.8, netty4.1.20.Final, thrift0.9.3
  • based on nettythrift and nifty
  • add Multi-service mode

Example

  1. Map<String, TBaseProcessor<?>> map = Maps.newHashMap();
  2. map.put("test", new TCalculator.Processor<TCalculator.Iface>(new CalcIfaceImpl()));
  3. map.put("test2", new TCalculator.Processor<TCalculator.Iface>(new CalcIfaceImpl()));
  4. TNettyThriftServer.Args nettyArg = new TNettyThriftServer.Args(8090);
  5. nettyArg.setMaxReadBuffer(1024 * 100);
  6. nettyArg.setMap(map);
  7. final TServer nettyServer = new TNettyThriftServer(nettyArg);
  8. new Thread(()->{
  9. nettyServer.serve();
  10. }).start();

OR

  1. Map<String, TBaseProcessor<?>> map = Maps.newHashMap();
  2. map.put("test", new TCalculator.Processor<TCalculator.Iface>(new CalcIfaceImpl()));
  3. map.put("test2", new TCalculator.Processor<TCalculator.Iface>(new CalcIfaceImpl()));
  4. ThriftServerDef[] serverDefs = ThriftServerDef.newBuilder().listen(port)
  5. .withProcessors(map)
  6. .using(Executors.newCachedThreadPool())
  7. .builds();
  8. final MultiServerBootstrap server = new MultiServerBootstrap(serverDefs, 8089, TimeUnit.SECONDS.toMillis(15));
  9. server.start();