public interface MyService {
@Async
CompletableFuture<String> doSomething();
}
@Rpc
public class MyServiceImpl implements MyService {
public CompletableFuture<String> doSomething() {
}
}
@RpcServer(port = 8080)
public class MyRpcServer {
public static void main(String[] args) {
Injector injector = Injector.of(MyRpcServer.class);
RpcServer server = injector.getInstance(RpcServer.class);
server.listen();
}
}
@RpcClient
public class MyRpcClient {
public static void main(String[] args) {
Injector injector = Injector.of(MyRpcClient.class);
MyService service = injector.getInstance(MyService.class);
service.doSomething().whenComplete((result, exception) -> {
if (exception != null) {
} else {
}
});
}
}