java - 在 fabric8 Kubernetes client events() API 中的 Watcher 中,我可以监视哪些资源?

标签 java events event-handling kubernetes fabric8

我正在探索 (undocumented?) events() APIFabric8's Kubernetes client project .

具体来说,我发现我可以执行以下操作:

client.events().inAnyNamespace().watch(new Watcher<Something>() {
    @Override
    public final void eventReceived(final Action action, final Something something) {

    }

    @Override
    public final void onClose(final KubernetesClientException kubernetesClientException) {
      if (kubernetesClientException != null) {
        // log? throw?
      }
    }
});

something 的允许值是多少?和 Something为了一些有用的事情发生?我假设它们应该是 Pod、服务等,但我不确定。

Watcher 's sole type parameter is declared as <T> , 所以看起来我可以创建一个新的 Watcher<Integer> , 但我愿意赌永远不会被跟注的钱。这表明 <T> 在实践中实际上存在界限。 ,但我不知道它是什么,或者如果是这样的话为什么会被省略。

如果非要我猜的话,我会根据参数名称来猜测,resource , 它会像 T extends Resource <?, ?>但同样,这只是一个猜测。

感谢您提供任何指示,尤其是对我确定我错过的其他文档的指示。

更新 #1:通过对源代码的研究,我可以看到唯一一个 Watcher.Action 的地方。的 eventReceived()方法称为 forces the payload to be considered to be a HasMetadata object .也许这就是我的答案?

最佳答案

例如,您可以观看特定的播客或特定的工作。这种情况下的 T 类型分别是 Pod 或 Job。尝试

kube.extensions().jobs().createNew()...done().watch(new Watcher<Job>(){...})

关于java - 在 fabric8 Kubernetes client events() API 中的 Watcher 中,我可以监视哪些资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43598572/

相关文章:

javascript - 事件.目标。选择 parent 而不是 child

java - 如何将图库中的图像设置为 slider ?

java - 在生产代码中使用 JNA 的 Native.setProtected

java - 扫描程序在使用next()或nextFoo()之后跳过nextLine()吗?

node.js - 捕捉 Ctrl-C 在 Node 中如何工作?

c - GTK+/GLIB 事件循环并向事件循环发出信号

JAVAFX 如何在 BorderPane 的右侧居中 Vbox

.net - 术语 - 事件可以是 "thrown"吗?

java - 如何将changeHandler()添加到我的程序中

javascript - JQuery on() 的使用和覆盖