java - 如何配置消息驱动 Bean 应用程序和 Glassfish 以使用来自远程 Message Broker 的消息?

标签 java glassfish ejb jms messaging

我创建了一个简单的 MDB 应用程序并将其部署到带有嵌入式 MQ 代理的 Glassfish v 3.1。还创建了名称为“jms/Queue”的目标资源。 请看下面的部分代码:

    @MessageDriven(
       mappedName = "jms/Queue",
       activationConfig = {
          @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
        }
    )

    public class MessageBean implements MessageListener {

         public void onMessage(Message message) {
........

这工作正常,但如何配置此应用程序以使用远程 MQ 代理实例(位于另一台主机上)?

最佳答案

你有两个选择:

  • Use the REMOTE mode在为 ConnectionFactoryQueue 实体配置 JNDI 资源时,使这些实体由远程 OpenMQ 托管。

  • 配置网桥以将托管在不同实例中的两个队列连接在一起。这是 documentation reference关于那个功能。

关于java - 如何配置消息驱动 Bean 应用程序和 Glassfish 以使用来自远程 Message Broker 的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10897630/

相关文章:

caching - 远程无状态 session Bean 引用可以缓存在 EJB3 中吗?

spring - 使用 Spring 在 WebSphere 中使用 Grails 跨集群访问 EJB

java - 如何根据javafx中的复选框选择生成按钮(图片)

java - 为什么 log4j 记录到两个单独的文件?

java - 我的应用程序如何知道要使用哪个私钥

json - Glassfish JAX-RS JSON 映射简单示例内部服务器错误 500 未生成日志

jsf - javax.naming.NameNotFoundException : Name [attribute name] is not bound in this Context. 无法找到 [类名]

java - 具有 INNER JOIN 条件的 JPA 命名查询失败

java - 如何持久保存 Map<String, List<String>>?

jakarta-ee - 在 glassfish 上发射 felix shell