使用fabric8 Watch API监听所有Service上的删除操作没有监听到,为什么?(可付费解决问题)

发布于 2022-09-12 02:53:19 字数 2244 浏览 14 评论 0

我用fabric8来监听所有Service上的删除动作,代码如下。 从代码中,我先给所有Service创建了一个Watch,然后删除service1,但是输出信息里没有打印删除信息,到是有一些ADDED信息。
我可以付钱解决这个问题。

    @Test
    public void testWatchServices() {
        final CountDownLatch deleteLatch = new CountDownLatch(1);
        final CountDownLatch closeLatch = new CountDownLatch(1);


        Watch watch = client.services().inNamespace("auth").watch(new Watcher<Service>() {
            @Override
            public void eventReceived(Action action, Service resource) {
                switch (action) {
                    default:
                        System.out.println(action+" "+resource.getMetadata().getName()+"  is doing!");
//                        throw new AssertionFailedError(action.toString().concat(" isn't recognised."));
                }
            }

            @Override
            public void onClose(KubernetesClientException cause) {

            }
        });

        //CREATE
        if (client.pods().inNamespace("auth").withName("service1") != null) {
            client.pods().inNamespace("auth").create(new PodBuilder().withNewMetadata().withName("service1").endMetadata().build());
        }
//        //READ
//        ServiceList serviceList = client.services().inNamespace("auth").list();
//        System.out.println(JSON.toJSONString(serviceList,true));
//        assertNotNull(serviceList);



 //DELETE
        client.pods().inNamespace("auth").withName("service1").delete();

//        //READ AGAIN
//        serviceList = client.services().inNamespace("auth").list();
//        assertNotNull(serviceList);

 try {
            assertTrue(deleteLatch.await(1, TimeUnit.MINUTES));
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        watch.close();
        try {
            assertTrue(closeLatch.await(1, TimeUnit.MINUTES));
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

控制台打印信息:

ADDED auth-redis-ddb  is doing!
ADDED authentication-service  is doing!
ADDED auth-api  is doing!
ADDED auth-jsclient  is doing!
ADDED auth-api-central  is doing!
ADDED authentication-facade  is doing!
ADDED auth-authentication-server  is doing!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冬天的雪花 2022-09-19 02:53:19

因为你删除pods的时候. 是不会把 service 删除的.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文