Search in sources :

Example 1 with FabricDiscoveryAgent

use of io.fabric8.mq.fabric.discovery.FabricDiscoveryAgent in project fabric8 by jboss-fuse.

the class MQProfileTest method waitForBroker.

protected void waitForBroker(String groupName) throws Exception {
    ServiceProxy<CuratorFramework> curatorProxy = ServiceProxy.createServiceProxy(bundleContext, CuratorFramework.class);
    try {
        CuratorFramework curator = curatorProxy.getService();
        final CountDownLatch serviceLatch = new CountDownLatch(1);
        final FabricDiscoveryAgent discoveryAgent = new FabricDiscoveryAgent();
        discoveryAgent.setCurator(curator);
        discoveryAgent.setGroupName(groupName);
        discoveryAgent.setDiscoveryListener(new DiscoveryListener() {

            @Override
            public void onServiceAdd(DiscoveryEvent discoveryEvent) {
                System.out.println("Service added:" + discoveryEvent.getServiceName());
                serviceLatch.countDown();
                try {
                    discoveryAgent.stop();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }

            @Override
            public void onServiceRemove(DiscoveryEvent discoveryEvent) {
                System.out.println("Service removed:" + discoveryEvent.getServiceName());
            }
        });
        discoveryAgent.start();
        Assert.assertTrue(serviceLatch.await(15, TimeUnit.MINUTES));
    } finally {
        curatorProxy.close();
    }
}
Also used : CuratorFramework(org.apache.curator.framework.CuratorFramework) FabricDiscoveryAgent(io.fabric8.mq.fabric.discovery.FabricDiscoveryAgent) DiscoveryEvent(org.apache.activemq.command.DiscoveryEvent) CountDownLatch(java.util.concurrent.CountDownLatch) DiscoveryListener(org.apache.activemq.transport.discovery.DiscoveryListener)

Aggregations

FabricDiscoveryAgent (io.fabric8.mq.fabric.discovery.FabricDiscoveryAgent)1 CountDownLatch (java.util.concurrent.CountDownLatch)1 DiscoveryEvent (org.apache.activemq.command.DiscoveryEvent)1 DiscoveryListener (org.apache.activemq.transport.discovery.DiscoveryListener)1 CuratorFramework (org.apache.curator.framework.CuratorFramework)1