这篇文章将为大家详细讲解有关如何实现RPC实验,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
package com.rpc;
import java.io.IOException;
import org.apache.hadoop.ipc.VersionedProtocol;
public interface MyRPCProtocol extends VersionedProtocol {
public static final long versionID = 4L;
String hello(String name);
}
class MyRPCProtocolImpl implements MyRPCProtocol {
@Override
public long getProtocolVersion(String arg0, long arg1) throws IOException {
return MyRPCProtocol.versionID;
}
@Override
public String hello(String name) {
return "hello " + name;
}
}
package com.rpc;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.ipc.RPC;
import org.apache.hadoop.ipc.RPC.Server;
public class MyServer {
public static int PORT = 3333;
public static void main(String[] args) throws Exception {
final Server server = RPC.getServer(new MyRPCProtocolImpl(), "localhost", MyServer.PORT, new Configuration());
server.start();
}
}
package com.rpc;
import java.net.InetSocketAddress;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.ipc.RPC;
public class MyClient {
public static void main(String[] args) throws Exception {
final InetSocketAddress inetSocketAddress = new InetSocketAddress("localhost", MyServer.PORT);
MyRPCProtocol rpc = (MyRPCProtocol)RPC.getProxy(MyRPCProtocol.class, MyRPCProtocol.versionID, inetSocketAddress, new Configuration());
String str = rpc.hello("习大大");
System.out.println(str);
RPC.stopProxy(rpc);
}
}
依赖包:hadoop-core-1.2.1、commons-configuration-1.6、commons-lang-2.4、commons-logging-1.1.1
关于“如何实现RPC实验”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。