首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用curator从testServer获取活动?

如何使用curator从testServer获取活动?
EN

Stack Overflow用户
提问于 2019-05-24 09:31:18
回答 1查看 44关注 0票数 0

我已经编写了关于我的服务的测试代码。我的代码如下所示。

代码语言:javascript
复制
        Object obj = new Object();
        service.add(obj); // zookeeper node created in service.add

        Thread.sleep(7000); // wait until it is created

        Boolean created = OtherService.pick(a2, a2); // use node date in OtherService

        assertThat(created).isTrue();

在这种情况下,我不想使用Thread.sleep。有没有办法从TestingServer获取事件或回调来测试节点是否创建??不使用thread.sleep ??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-24 15:14:37

我使用latch进行与zookeeper的节点创建的同步。

代码语言:javascript
复制
        TreeCacheListener listener = (curator, event) -> {
            switch (event.getType()) {
                case NODE_ADDED:
                    createdLatch.countDown();
                }
            };
        cache.getListenable().addListener(listener);

        Object obj = new Object();
        service.add(obj); // node creation by zookeeper

        // Wait until Node is created
        timing.awaitLatch(createdLatch);

        Boolean created = OtherService.pick(a2, a2); // use node date in OtherService

        assertThat(created).isTrue();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56284793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档