當前位置: 首頁>>代碼示例>>Java>>正文


Java PathChildrenCacheEvent.Type方法代碼示例

本文整理匯總了Java中org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent.Type方法的典型用法代碼示例。如果您正苦於以下問題:Java PathChildrenCacheEvent.Type方法的具體用法?Java PathChildrenCacheEvent.Type怎麽用?Java PathChildrenCacheEvent.Type使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent的用法示例。


在下文中一共展示了PathChildrenCacheEvent.Type方法的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: testDispatcherPropagatesEvents

import org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent; //導入方法依賴的package包/類
@Test
public void testDispatcherPropagatesEvents() throws Exception {
  final PathChildrenCacheEvent.Type[] types = new PathChildrenCacheEvent.Type[] {
      PathChildrenCacheEvent.Type.CHILD_ADDED,
      PathChildrenCacheEvent.Type.CHILD_REMOVED,
      PathChildrenCacheEvent.Type.CHILD_UPDATED
  };

  for (final PathChildrenCacheEvent.Type type:types) {
    dispatcher.childEvent(null, new PathChildrenCacheEvent(type, child));

    final TransientStoreEvent event = TransientStoreEvent.of(EventDispatcher.MAPPINGS.get(type), key, value);
    Mockito
        .verify(store)
        .fireListeners(event);
  }

  Assert.assertEquals("Number of event types that dispatcher can handle is different", types.length, EventDispatcher.MAPPINGS.size());
}
 
開發者ID:axbaretto,項目名稱:drill,代碼行數:20,代碼來源:TestEventDispatcher.java

示例2: updateNodeStatus

import org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent; //導入方法依賴的package包/類
public String updateNodeStatus(String nodeId, PathChildrenCacheEvent.Type eventType) throws Exception {

        String clusterStatus = null;

        switch (eventType){

            case CHILD_ADDED:
                logger.info("ClusterSyncManager Leader: {}. STATUS - Group Initialized: {} ", groupId, nodeId);
                clusterNodesStatus.get(NODE_STATUS.INITIALIZED).add(nodeId);
                clusterNodesStatus.get(NODE_STATUS.STOPPED).remove(nodeId);
                break;
            case CHILD_REMOVED:
                logger.error("*****ClusterSyncManager Leader: {}.  STATUS - Group {} are notified as DOWN *****",
                        groupId, nodeId);
                clusterNodesStatus.get(NODE_STATUS.INITIALIZED).remove(nodeId);
                clusterNodesStatus.get(NODE_STATUS.STOPPED).add(nodeId);
                break;
        }


        return updateNodeStatus();

    }
 
開發者ID:Stratio,項目名稱:Decision,代碼行數:24,代碼來源:ClusterSyncManager.java

示例3: createChildrenCacheEventMock

import org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent; //導入方法依賴的package包/類
/**
 * Create mock {@link PathChildrenCacheEvent} object using given controller ID and DPID.
 *
 * @param controllerId Controller ID.
 * @param path         HexString of DPID.
 * @param type         Event type to be set to mock object.
 * @return Mock PathChildrenCacheEvent object
 */
private PathChildrenCacheEvent createChildrenCacheEventMock(String controllerId, String path,
                                                            PathChildrenCacheEvent.Type type) {
    PathChildrenCacheEvent event = createMock(PathChildrenCacheEvent.class);
    ChildData data = createMock(ChildData.class);

    expect(data.getPath()).andReturn(path).anyTimes();
    expect(data.getData()).andReturn(controllerId.getBytes()).anyTimes();
    replay(data);

    expect(event.getType()).andReturn(type).anyTimes();
    expect(event.getData()).andReturn(data).anyTimes();
    replay(event);

    return event;
}
 
開發者ID:opennetworkinglab,項目名稱:spring-open,代碼行數:24,代碼來源:ZookeeperRegistryTest.java

示例4: childEvent

import org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent; //導入方法依賴的package包/類
@Override
public void childEvent(CuratorFramework client, PathChildrenCacheEvent event)
        throws Exception {
    PathChildrenCacheEvent.Type eventType = event.getType();
    switch (eventType) {
    case INITIALIZED:
        LOG.debug("initailize the service instance list from zookeeper.");
        break;
    case CHILD_ADDED:
        LOG.debug("add new service instance from zookeeper.");
        this.addChild(event.getData());
        break;
    case CHILD_UPDATED:
        LOG.debug("update service instance  from zookeeper.");
        this.addChild(event.getData());
        break;
    case CONNECTION_RECONNECTED:
        this.cache.rebuild();
        break;
    case CHILD_REMOVED:
    case CONNECTION_SUSPENDED:
    case CONNECTION_LOST:
        LOG.debug("remove service instance  from zookeeper.");
        this.removeChild(event.getData());
        break;
    default:
        LOG.debug("Ignore PathChildrenCache event : {path:"
                + event.getData().getPath() + " data:"
                + new String(event.getData().getData()) + "}");
    }
}
 
開發者ID:jigsaw-projects,項目名稱:jigsaw-payment,代碼行數:32,代碼來源:RefreshableTransportPool.java

示例5: expectGroupEvent

import org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent; //導入方法依賴的package包/類
final void expectGroupEvent(PathChildrenCacheEvent.Type eventType) {
  while (true) {
    try {
      PathChildrenCacheEvent event = groupEvents.take();
      if (event.getType() == eventType) {
        break;
      }
    } catch (InterruptedException ex) {
      throw new RuntimeException(ex);
    }
  }
}
 
開發者ID:PacktPublishing,項目名稱:Mastering-Mesos,代碼行數:13,代碼來源:BaseCuratorDiscoveryTest.java

示例6: childEvent

import org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent; //導入方法依賴的package包/類
@Override
public void childEvent(final CuratorFramework client, final PathChildrenCacheEvent event) throws Exception {
  final PathChildrenCacheEvent.Type original = event.getType();
  final TransientStoreEventType mapped = MAPPINGS.get(original);
  if (mapped != null) { // dispatch the event to listeners only if it can be mapped
    final String path = event.getData().getPath();
    final byte[] bytes = event.getData().getData();
    final V value = store.getConfig().getSerializer().deserialize(bytes);
    store.fireListeners(TransientStoreEvent.of(mapped, path, value));
  }
}
 
開發者ID:axbaretto,項目名稱:drill,代碼行數:12,代碼來源:EventDispatcher.java

示例7: test_path_cache

import org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent; //導入方法依賴的package包/類
@Test
public void test_path_cache() throws Exception {
    CuratorFramework zk = curator.usingNamespace("namespace-test");
    String groupPath = "/group-1";
    String s = zk.create().forPath(groupPath);
    Assert.assertEquals(groupPath, s);
    Stat stat = zk.checkExists().forPath("/group-1");
    Assert.assertNotNull(stat);
    stat = zk.checkExists().forPath("/namespace-test/group-1");
    Assert.assertNull(stat);

    final PathChildrenCacheEvent.Type[] saveEventType = new PathChildrenCacheEvent.Type[1];
    final long[] saveTime = new long[1];
    PathChildrenCache pcc = new PathChildrenCache(zk, groupPath, true);
    pcc.start();
    pcc.getListenable().addListener(new PathChildrenCacheListener() {
        @Override
        public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception {
            logger.info("event type={}", event.getType());
            switch (event.getType()) {
                case CHILD_ADDED:
                    saveEventType[0] = PathChildrenCacheEvent.Type.CHILD_ADDED;
                    saveTime[0] = System.currentTimeMillis();
                    logger.info("child[path={}, date={}] added", event.getData().getPath(), new String(event.getData().getData()));
                    break;
                case CHILD_UPDATED:
                    saveEventType[0] = PathChildrenCacheEvent.Type.CHILD_UPDATED;
                    saveTime[0] = System.currentTimeMillis();
                    logger.info("child[path={}, date={}] updated", event.getData().getPath(), new String(event.getData().getData()));
                    break;
            }
        }
    });

    String hostPath = groupPath + "/localhost:8001";
    zk.create().forPath(hostPath);
    long wtStart = System.currentTimeMillis();
    Thread.sleep(30);
    // use 15 ms
    // System.out.println("listener wait time="+(saveTime[0] - wtStart));
    Assert.assertEquals(PathChildrenCacheEvent.Type.CHILD_ADDED, saveEventType[0]);
    // System.out.println(new String(zk.getData().forPath(hostPath)));

    // create three node
    String threePath = groupPath + "/hosts/localhost:8001";
    zk.create().creatingParentsIfNeeded().forPath(threePath);
    zk.setData().forPath(threePath, "{tree}".getBytes());
    // test update
    zk.setData().forPath(hostPath, "{}".getBytes());
    Thread.sleep(30);
    Assert.assertEquals(PathChildrenCacheEvent.Type.CHILD_UPDATED, saveEventType[0]);

    // test set parent node's data
    zk.setData().forPath(groupPath, "{grou-data}".getBytes());
    Thread.sleep(30);
    Assert.assertEquals(PathChildrenCacheEvent.Type.CHILD_UPDATED, saveEventType[0]);
}
 
開發者ID:netboynb,項目名稱:coco,代碼行數:58,代碼來源:CuratorTest.java

示例8: notify

import org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent; //導入方法依賴的package包/類
/** Translating method */
public final void notify(Path path, byte[] data, PathChildrenCacheEvent.Type type) {
    String pathString = "/" + path.toString(); // this silly path class strips the leading "/" :-/
    PathChildrenCacheEvent event = new PathChildrenCacheEvent(type, new ChildData(pathString, null, data));
    notify(path, event);
}
 
開發者ID:vespa-engine,項目名稱:vespa,代碼行數:7,代碼來源:MockCurator.java


注:本文中的org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent.Type方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。