use of com.baidu.brpc.naming.NotifyListener in project brpc-java by baidu.
the class ZookeeperNamingServiceTest method testSubscribe.
@Test
public void testSubscribe() throws Exception {
setUp();
final List<ServiceInstance> adds = new ArrayList<ServiceInstance>();
final List<ServiceInstance> deletes = new ArrayList<ServiceInstance>();
SubscribeInfo subscribeInfo = createSubscribeInfo(false);
namingService.subscribe(subscribeInfo, new NotifyListener() {
@Override
public void notify(Collection<ServiceInstance> addList, Collection<ServiceInstance> deleteList) {
System.out.println("receive new subscribe info time:" + System.currentTimeMillis());
System.out.println("add size:" + addList.size());
for (ServiceInstance instance : addList) {
System.out.println(instance);
}
adds.addAll(addList);
System.out.println("delete size:" + deleteList.size());
for (ServiceInstance instance : deleteList) {
System.out.println(instance);
}
deletes.addAll(deleteList);
}
});
RegisterInfo registerInfo = createRegisterInfo("127.0.0.1", 8013);
namingService.register(registerInfo);
System.out.println("register time=" + System.currentTimeMillis());
Thread.sleep(1000);
Assert.assertTrue(adds.size() == 1);
Assert.assertTrue(deletes.size() == 0);
Assert.assertTrue(adds.get(0).getIp().equals("127.0.0.1"));
Assert.assertTrue(adds.get(0).getPort() == 8013);
adds.clear();
deletes.clear();
namingService.unregister(registerInfo);
System.out.println("unregister time=" + System.currentTimeMillis());
Thread.sleep(1000);
Assert.assertTrue(adds.size() == 0);
Assert.assertTrue(deletes.size() == 1);
Assert.assertTrue(deletes.get(0).getIp().equals("127.0.0.1"));
Assert.assertTrue(deletes.get(0).getPort() == 8013);
namingService.unsubscribe(subscribeInfo);
tearDown();
}
use of com.baidu.brpc.naming.NotifyListener in project brpc-java by baidu.
the class ZookeeperNamingServiceTest method testSubscribeWhenZookeeperDownAndUp.
/**
* This test must test under actual zookeeper server, Not the TestingServer of Curator
*/
@Test
@Ignore
public void testSubscribeWhenZookeeperDownAndUp() throws Exception {
namingUrl = new BrpcURL("zookeeper://127.0.0.1:2181");
namingService = new ZookeeperNamingService(namingUrl);
final List<ServiceInstance> adds = new ArrayList<ServiceInstance>();
final List<ServiceInstance> deletes = new ArrayList<ServiceInstance>();
SubscribeInfo subscribeInfo = createSubscribeInfo(false);
namingService.subscribe(subscribeInfo, new NotifyListener() {
@Override
public void notify(Collection<ServiceInstance> addList, Collection<ServiceInstance> deleteList) {
System.out.println("receive new subscribe info time:" + System.currentTimeMillis());
System.out.println("add size:" + addList.size());
for (ServiceInstance instance : addList) {
System.out.println(instance);
}
adds.addAll(addList);
System.out.println("delete size:" + deleteList.size());
for (ServiceInstance instance : deleteList) {
System.out.println(instance);
}
deletes.addAll(deleteList);
}
});
RegisterInfo registerInfo = createRegisterInfo("127.0.0.1", 8014);
namingService.register(registerInfo);
System.out.println("register time=" + System.currentTimeMillis());
Thread.sleep(1000);
Assert.assertTrue(adds.size() == 1);
Assert.assertTrue(deletes.size() == 0);
Assert.assertTrue(adds.get(0).getIp().equals("127.0.0.1"));
Assert.assertTrue(adds.get(0).getPort() == 8014);
adds.clear();
deletes.clear();
// sleep for restarting zookeeper
Thread.sleep(30 * 1000);
List<ServiceInstance> instances = namingService.lookup(subscribeInfo);
Assert.assertTrue(instances.size() == 1);
Assert.assertTrue(instances.get(0).getIp().equals("127.0.0.1"));
Assert.assertTrue(instances.get(0).getPort() == 8014);
namingService.unregister(registerInfo);
System.out.println("unregister time=" + System.currentTimeMillis());
Thread.sleep(1000);
Assert.assertTrue(adds.size() == 0);
Assert.assertTrue(deletes.size() == 1);
Assert.assertTrue(deletes.get(0).getIp().equals("127.0.0.1"));
Assert.assertTrue(deletes.get(0).getPort() == 8014);
namingService.unsubscribe(subscribeInfo);
}
use of com.baidu.brpc.naming.NotifyListener in project brpc-java by baidu.
the class ConsulNamingServiceTest method testRegisterAndSubscribe.
@Test
public void testRegisterAndSubscribe() throws InterruptedException {
RegisterInfo registerInfo = createRegisterInfo("127.0.0.1", 8015);
RegisterInfo anotherRegisterInfo = createRegisterInfo("127.0.0.1", 8016);
consulNamingService.register(registerInfo);
consulNamingService.register(anotherRegisterInfo);
Thread.sleep(3 * 1000);
SubscribeInfo subscribeInfo = createSubscribeInfo(false);
final List<ServiceInstance> adds = consulNamingService.lookup(subscribeInfo);
Assert.assertTrue(adds.size() == 2);
adds.clear();
final List<ServiceInstance> deletes = new ArrayList<ServiceInstance>();
consulNamingService.subscribe(subscribeInfo, new NotifyListener() {
@Override
public void notify(Collection<ServiceInstance> addList, Collection<ServiceInstance> deleteList) {
adds.addAll(addList);
deletes.addAll(deleteList);
log.info("notify: {}, {}", addList, deleteList);
}
});
consulNamingService.unregister(registerInfo);
Thread.sleep(3 * 1000);
Assert.assertTrue(adds.size() == 0);
Assert.assertTrue(deletes.size() == 1);
Assert.assertTrue(deletes.get(0).equals(new ServiceInstance("127.0.0.1", 8015)));
adds.clear();
deletes.clear();
consulNamingService.register(registerInfo);
Thread.sleep(3 * 1000);
Assert.assertTrue(adds.size() == 1);
Assert.assertTrue(deletes.size() == 0);
Assert.assertTrue(adds.get(0).equals(new ServiceInstance("127.0.0.1", 8015)));
}
Aggregations