【问题标题】:Difference between Vert.x event bus and CDI EventVert.x 事件总线和 CDI 事件之间的区别
【发布时间】:2023-01-26 23:48:52
【问题描述】:

使用事件总线发布事件与使用带有@Observes 的 CDI 事件有什么区别?

我目前正在将事件总线用于 Quarkus 中的所有异步通信。由于 vert.x 事件总线不支持 Quarkus (https://github.com/quarkusio/quarkus/issues/10889) 中的集群通信,我可以接受本地事件发布。但是,在什么情况下人们会选择使用 CDI 事件而不是使用事件总线?

【问题讨论】:

    标签: java cdi quarkus event-bus


    【解决方案1】:

    CDI 事件“在线程中”发生,这意味着事件触发线程在观察者上调用一个未知数,可能是 0,也可能是 100。这里的关键是观察者总是在与触发线程相同的线程中运行。 在此处阅读详细信息:https://www.baeldung.com/cdi-event-notification

    这可能与 Vert.x 不同,哪些事件可能在新线程中触发,或者可能在同一线程中触发。这完全取决于您编写和配置程序的方式。如果你有一个集群的 Vert.x 应用程序,他们确实如果它们在另一个集群成员上启动,则在不同的线程中触发。

    针对您的情况的正确答案取决于您要解决的问题。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-20
    • 2011-11-18
    • 2021-06-01
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多