gpt4 book ai didi

java - 有没有办法知道是否有CDI事件的观察者?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:47:33 25 4
gpt4 key购买 nike

我的 UI 中有一个 Button 不应始终添加。它所做的唯一一件事就是在单击时触发 CDI 事件。

现在,如果没有 bean 观察到该事件,我想阻止将 Button 添加到 UI。有没有办法查看注入(inject)的 Event 对象上是否有任何观察者或阻止注入(inject)它以便我可以检查它是否为 null

最佳答案

以下似乎有效:

@Inject
private BeanManager beanManager;

...

Set<ObserverMethod<? super Document>> observers =
beanManager.resolveObserverMethods(
new Document(), new AnnotationLiteral<Any>() {});
observers.isEmpty();

(虽然它可能不是最好的架构。稍后你可能会有一个观察者,它只是一个空的实现或者只是根据运行时条件忽略事件。)

关于java - 有没有办法知道是否有CDI事件的观察者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24684648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com