<dependency> <groupId>org.apache.tajo</groupId> <artifactId>tajo-core</artifactId> <version>0.12.0</version> </dependency> properties tajo.rpc.protocol.class=avro tajo.rpc.client.class=org.apache.tajo.rpc.AsyncRpcClient tajo.rpc.server.class=org.apache.tajo.rpc.AsyncRpcServer avdl protocol MyRpcServiceProtocol { int add(int a, int b); double multiply(double a, double b); } public class MyRpcServiceImpl implements MyRpcServiceProtocol { @Override public int add(int a, int b) { return a + b; } @Override public double multiply(double a, double b) { return a * b; } } public class RpcServerExample { public static void main(String[] args) { try { Configuration conf = new Configuration(); MyRpcServiceImpl serviceImpl = new MyRpcServiceImpl(); TajoAsyncRpcServer rpcServer = new TajoAsyncRpcServer(conf, "localhost", 12345); rpcServer.addHandler(MyRpcServiceProtocol.class, serviceImpl); rpcServer.start(); } catch (Exception e) { e.printStackTrace(); } } } public class RpcClientExample { public static void main(String[] args) { try { InetSocketAddress serverAddr = new InetSocketAddress("localhost", 12345); TajoAsyncRpcClient rpcClient = new TajoAsyncRpcClient(new Configuration(), serverAddr); MyRpcServiceProtocol proxy = rpcClient.getStub(MyRpcServiceProtocol.class); int result1 = proxy.add(10, 20); double result2 = proxy.multiply(3.14, 2.0); System.out.println("Result1: " + result1); System.out.println("Result2: " + result2); rpcClient.close(); } catch (Exception e) { e.printStackTrace(); } } }


上一篇:
下一篇:
切换中文