<dependency>
<groupId>org.apache.tajo</groupId>
<artifactId>tajo-rpc</artifactId>
<version>0.12.0</version>
</dependency>
public interface Calculator {
int add(int a, int b);
int multiply(int a, int b);
}
public class CalculatorImpl implements Calculator {
@Override
public int add(int a, int b) {
return a + b;
}
@Override
public int multiply(int a, int b) {
return a * b;
}
}
import org.apache.tajo.rpc.NettyServerBase;
public class Server {
public static void main(String[] args) throws Exception {
Calculator calculator = new CalculatorImpl();
NettyServerBase server = new NettyServerBase(0, Calculator.class, calculator, 1);
server.start();
server.awaitTermination();
}
}
import org.apache.tajo.rpc.NettyClientBase;
public class Client {
public static void main(String[] args) throws Exception {
NettyClientBase<Calculator> client = new NettyClientBase<>(Calculator.class, "localhost", 0);
Calculator calculator = client.getProxy();
int result = calculator.add(10, 5);
System.out.println("Addition result: " + result);
result = calculator.multiply(3, 4);
System.out.println("Multiplication result: " + result);
client.close();
}
}