首页 > 其他 > 详细

RPC实验

时间:2014-12-21 22:15:21      阅读:361      评论:0      收藏:0      [点我收藏+]
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实验

原文:http://my.oschina.net/sniperLi/blog/359001

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!