【发布时间】:2016-07-11 22:36:24
【问题描述】:
我想为消息驱动的 EJB 创建一个关于主题的共享非持久订阅,并且想知道如何使用 @MessageDriven 和 @ActivationConfigProperty 来实现。
我发现 article 描述了类似的内容,但我不确定这是否适用于我的问题:
订阅的共享依赖于设置的客户端 ID,不仅针对持久订阅(始终需要客户端 ID),而且针对非持久订阅(通常不需要客户端 ID)。如果订阅由资源适配器创建以供消息驱动 bean (MDB) 使用,并且未设置客户端 ID,则资源适配器会将客户端 ID 设置为 MDB 的名称。但是,如果订阅是使用 JMS API 以编程方式创建的,并且未设置客户端 ID,则会引发异常。
请注意,在 EJB 或 Web 容器中,使用连接工厂创建连接的应用程序不允许在新创建的连接上设置客户端 ID,而必须在连接工厂上设置它。这个限制是由 EJB 规范强加的,尽管它也适用于 Web 组件。应用客户端容器中没有这样的限制。
【问题讨论】:
标签: java jakarta-ee jms weblogic12c message-driven-bean