public interface UserService {
public UserInfo getUserInfo(String userId);
}
public class UserServiceImpl implements UserService {
public UserInfo getUserInfo(String userId) {
// ...
return userInfo;
}
}
public class RemoteServiceServer {
public static void main(String[] args) {
UserService userService = new UserServiceImpl();
RPCServerConfig serverConfig = new RPCServerConfig();
serverConfig.setAddress("127.0.0.1");
serverConfig.setPort(8080);
RPCServer server = new RPCServer(serverConfig);
server.registerService(UserService.class, userService);
server.start();
}
}
public class RemoteClient {
public static void main(String[] args) {
RPCClientConfig clientConfig = new RPCClientConfig();
clientConfig.setAddress("127.0.0.1");
clientConfig.setPort(8080);
RPCClient client = new RPCClient(clientConfig);
UserService userService = client.createProxy(UserService.class);
UserInfo userInfo = userService.getUserInfo("123");
// ...
}
}