我正在寻找的是确切的激活配置属性名称,以便配置消息驱动Bean以接受来自共享订阅模式的JMS主题的消息
@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "destinationLookup",propertyValue = "java:app/jms/testT1"),
@ActivationConfigProperty(propertyName = "destinationType",propertyValue = "javax.jms.Topic"),
//the below property is not working in GlassFish (4.1) - just to convey the idea
@ActivationConfigProperty(propertyName = "sharedSubscription",propertyValue = "TRUE")
})
//编辑
请注意:目的是能够在JavaEE应用程序中使用MDB(针对共享主题进行负载平衡),该应用程序可以在视野范围内进行扩展。此问题与集群设置无关,因此useSharedSubscriptionInClusteredContainer
(在Open MQ中)的使用不适用
答案 0 :(得分:0)
如果我理解正确,你就不需要这样做。允许单个订阅允许多个使用者的目的是解决Java SE限制,这在Java EE中不是问题:
http://www.oracle.com/technetwork/articles/java/jms2messaging-1954190.html
在Java EE中,您只需要创建MDB以订阅主题,然后将bean池配置为具有多个MDB:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-ejb-jar PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 EJB 3.1//EN" "http://glassfish.org/dtds/glassfish-ejb-jar_3_1-1.dtd">
<glassfish-ejb-jar>
<enterprise-beans>
<ejb>
<ejb-name>MyPooledMDB</ejb-name>
<bean-pool>
<max-pool-size>5</max-pool-size>
<resize-quantity>1</resize-quantity>
<steady-pool-size>1</steady-pool-size>
</bean-pool>
</ejb>
</enterprise-beans>
</glassfish-ejb-jar>
有关更多信息,请参阅Oracle GlassFish文档: https://docs.oracle.com/cd/E18930_01/html/821-2418/beait.html
(请注意steady-pool-size
===&#34;初始和最小泳池尺寸&#34; )