Jakarta ee 如何通过wildfly 10 standalone-full.xml限制ejb mdb(消息驱动bean)实例

Jakarta ee 如何通过wildfly 10 standalone-full.xml限制ejb mdb(消息驱动bean)实例,jakarta-ee,configuration,ejb,wildfly,message-driven-bean,Jakarta Ee,Configuration,Ejb,Wildfly,Message Driven Bean,我们在wildfly10的standalone-full.xml中有以下配置 <subsystem xmlns="urn:jboss:domain:ejb3:4.0"> <session-bean> <stateless> <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>

我们在wildfly10的standalone-full.xml中有以下配置

 <subsystem xmlns="urn:jboss:domain:ejb3:4.0">
            <session-bean>
                <stateless>
                    <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
                </stateless>
                <stateful default-access-timeout="5000" cache-ref="simple" passivation-disabled-cache-ref="simple"/>
                <singleton default-access-timeout="5000"/>
            </session-bean>
            <mdb>
                <resource-adapter-ref resource-adapter-name="${ejb.resource-adapter-name:activemq-ra.rar}"/>
                <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
            </mdb>
            <pools>
                <bean-instance-pools>
                    <strict-max-pool name="slsb-strict-max-pool" derive-size="from-worker-pools" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                    <strict-max-pool name="mdb-strict-max-pool" derive-size="from-cpu-count" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                    <strict-max-pool name="ExchangeMessagePool" max-pool-size="10" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                    </bean-instance-pools>
            </pools>
            </subsystem>

如果不指定@ResourceAdapter,它将使用名为“activemq ra”的默认池连接工厂,它有自己的默认值,并且除了指定的池之外,还使用默认值(我认为是15),或者两者都使用。您可以使用maxSessions=“n”对MDB进行注释,这会将并行实例的数量限制为n。

如果您不指定@ResourceAdapter,它将使用名为“activemq ra”的默认池连接工厂,该工厂有自己的默认值,除了指定的池之外,还使用默认值(我认为是15),或者两者都使用。您可以使用maxSessions=“n”对MDB进行注释,这样会将并行实例的数量限制在n个。

可能重复的实例您知道如何做了吗?我也在尝试类似的场景,可能是重复的。你知道怎么做吗?我也在尝试类似的场景
@MessageDriven(name = "ExchangeMessage", activationConfig = {@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"), @ActivationConfigProperty(propertyName = "destination", propertyValue = "jms/queue/ExchangeMessageQueue")})
@PermitAll
@Pool("ExchangeMessagePool")
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
@TransactionManagement(TransactionManagementType.CONTAINER)
public class ExchangeMessageBean implements MessageListener
{
...
}