【问题标题】:WildFly: is it possible to communicate between non-ejb services of 2 ears?WildFly:是否可以在 2 个耳朵的非 ejb 服务之间进行通信?
【发布时间】:2017-12-11 14:31:39
【问题描述】:

鉴于我在 WildFly 实例上部署了 2 个耳朵。我想在他们之间建立一些通信。对我来说似乎最舒服的方法是使用一些普通的豆子。

“bean”不是指 ejb-bean,因为我不使用 ejb。这是很重要的一点。对我来说最好的选择是 Spring bean。

无论如何,Spring bean,或者只是某个 Java 类的某个实例,我想在 both 耳朵的内存中拥有某个 Java 对象的 shared 实例,部署在我的 WildFly 上。

有可能吗? 如果没有,有哪些选择?

【问题讨论】:

    标签: java jakarta-ee jboss wildfly ear


    【解决方案1】:

    在standalone(-full).xml中声明一个队列,两个topic进行双向通信,让耳朵相互提交和处理消息。

    【讨论】:

      【解决方案2】:

      这通常不是我推荐的,因为它紧密耦合了应用程序。我的一般建议是在应用程序之间使用某种远程处理。

      话虽如此,有几种方法可以实现这一目标。首先,您必须确保两个 EAR 使用相同的共享类。最简单的方法是将它们移动到 JBoss 模块并在您的 EAR 中声明一个依赖项。重要的是类不在 EAR 中。然后你必须以某种方式注册对象,JNDI 和 JMX 是明显的候选者。

      EJB 调用也应该是可能的,但共享类的相同规则适用(向 EJB 添加接口,在 EAR 之间共享接口,仅通过接口引用 EJB)。有多种方法可以使 EJB 对 Spring 可用,最明显的一种是工厂 bean。

      【讨论】:

        猜你喜欢
        • 2020-05-31
        • 2010-09-29
        • 2011-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-18
        • 1970-01-01
        相关资源
        最近更新 更多