public static void main(String[] args) throws TException{ //处理器 TProcessor processor = new HelloService.Processor<HelloService.Iface>(new HelloServiceImpl()); // 传输通道 - 非阻塞方式 TNonblockingServerSocket serverTransport = new TNonblockingServerSocket(SERVER_PORT); // 多线程半同步半异步 TThreadedSelectorServer.Args tArgs = new TThreadedSelectorServer.Args(serverTransport); tArgs.processor(processor); // 使用非阻塞式IO,服务端和客户端需要指定TFramedTransport数据传输的方式 tArgs.transportFactory(new TFramedTransport.Factory()); //使用高密度二进制协议 tArgs.protocolFactory(new TCompactProtocol.Factory()); // 多线程半同步半异步的服务模型 TThreadedSelectorServer server = new TThreadedSelectorServer(tArgs); System.out.println("HelloTThreadedSelectorServer start...."); server.serve(); } }
dataServer = new TThreadedSelectorServer(options); LOG.info("Launching Thrift server."); dataServer.serve(); LOG.info("Thrift server exited.");
public static void main(String[] args) { try { // 设置服务端口为 7777 TNonblockingServerSocket nonBlockingServerSocket = new TNonblockingServerSocket(PORT); // 关联处理器与 HelloService 服务的实现 TMultiplexedProcessor tMultiplexedProcessor = new TMultiplexedProcessor(); tMultiplexedProcessor.registerProcessor("HelloService",new HelloService.Processor(new HelloServiceImpl())); TThreadedSelectorServer.Args threadedSelectorServerArgs = new TThreadedSelectorServer.Args(nonBlockingServerSocket); TProcessorFactory processorFactory = new TProcessorFactory(tMultiplexedProcessor); threadedSelectorServerArgs.processorFactory(processorFactory); // 协议 threadedSelectorServerArgs.protocolFactory(new TCompactProtocol.Factory()); // transport threadedSelectorServerArgs.transportFactory(new TFramedTransport.Factory()); TThreadedSelectorServer server = new TThreadedSelectorServer(threadedSelectorServerArgs); log.info("server start listen on {0}...",PORT); server.serve(); } catch (TTransportException e) { e.printStackTrace(); } } }