您的位置:首页 > 运维架构 > 网站架构

rmi高可用的简单实现-zookeeper

2016-07-17 16:04 453 查看
Client端

package demo.zookeeper.remoting.client;

package demo.zookeeper.remoting.client;

import demo.zookeeper.remoting.common.HelloService;
import java.rmi.Naming;

public class RmiClient {

public static void main(String[] args) throws Exception {
String url = "rmi://localhost:1098/demo.zookeeper.remoting.server.HelloServiceImpl";
HelloService helloService = (HelloService) Naming.lookup(url);
String result = helloService.sayHello("abc");
System.out.println(result);
}
}


Server端

package demo.zookeeper.remoting.server;

import java.rmi.Naming;
import java.rmi.registry.LocateRegistry;

public class RmiServer {

public static void main(String[] args) throws Exception {
int port = 1098;
String url = "rmi://localhost:1098/demo.zookeeper.remoting.server.HelloServiceImpl";
LocateRegistry.createRegistry(port);
Naming.rebind(url, new HelloServiceImpl());
}
}


COMMON类

package demo.zookeeper.remoting.common;

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface HelloService extends Remote {

String sayHello(String name) throws RemoteException;
}


package demo.zookeeper.remoting.common;

public interface Constant {

String ZK_CONNECTION_STRING = "node11,node12,node13:2181";
int ZK_SESSION_TIMEOUT = 5000;
String ZK_REGISTRY_PATH = "/registry";
String ZK_PROVIDER_PATH = ZK_REGISTRY_PATH + "/provider";
}


package demo.zookeeper.remoting.server;

import demo.zookeeper.remoting.common.HelloService;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

public class HelloServiceImpl extends UnicastRemoteObject implements HelloService {

/**
*
*/
private static final long serialVersionUID = 1L;

protected HelloServiceImpl() throws RemoteException {
}

@Override
public String sayHello(String name) throws RemoteException {
return String.format("Hello %s", name);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zookeeper rmi