Jakarta ee 配置Geronimos MDB InstanceLimit

Jakarta ee 配置Geronimos MDB InstanceLimit,jakarta-ee,jms,activemq,geronimo,Jakarta Ee,Jms,Activemq,Geronimo,我无法配置Geronimo/ActiveMQ以便一次处理10条以上的消息 我试着从这里得到建议, 但是将maxSessions设置为高于10的值没有任何效果。但是,将其设置为低于该值的值会产生效果 我还试图通过设置以下内容来设置InstanceLimit: <module name="org.apache.geronimo.configs/j2ee-server/2.1.4/car"> <gbean name="org.apache.geronimo.configs/j

我无法配置Geronimo/ActiveMQ以便一次处理10条以上的消息

我试着从这里得到建议, 但是将
maxSessions
设置为高于10的值没有任何效果。但是,将其设置为低于该值的值会产生效果

我还试图通过设置以下内容来设置
InstanceLimit

<module name="org.apache.geronimo.configs/j2ee-server/2.1.4/car">
    <gbean name="org.apache.geronimo.configs/j2ee-server/2.1.4/car?ServiceModule=org.apache.geronimo.configs/j2ee-server/2.1.4/car,j2eeType=GBean,name=CustomPropertiesGBean" 
           gbeanInfo="org.apache.geronimo.system.properties.SystemProperties">
        <attribute name="systemProperties">Default\ MDB\ Container.InstanceLimit=50</attribute>
    </gbean>
</module>

默认\MDB\Container.InstanceLimit=50

好了,我终于明白了!这里有一个冗长的解释,希望它也能帮助一些人

在修补之后,我发现ActiveMQ的激活参数没有限制上限,我们可以减少并行实例,尽管:

<activation-config-property>
    <activation-config-property-name>destinationType</activation-config-property-name>
    <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
</activation-config-property>
<activation-config-property>
    <activation-config-property-name>maxSessions</activation-config-property-name>
    <activation-config-property-value>3</activation-config-property-value>
</activation-config-property>
<activation-config-property>
    <activation-config-property-name>maxMessagesPerSessions</activation-config-property-name>
    <activation-config-property-value>2</activation-config-property-value>
</activation-config-property>

成功了!由此我从调试会话中获得了使用过的ID。。。现在我们可以设置InstanceLimit=0,并可以通过ActiveMQ的
maxSessions
属性配置并行工作MDB

好了,我终于明白了!这里有一个冗长的解释,希望它也能帮助一些人

在修补之后,我发现ActiveMQ的激活参数没有限制上限,我们可以减少并行实例,尽管:

<activation-config-property>
    <activation-config-property-name>destinationType</activation-config-property-name>
    <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
</activation-config-property>
<activation-config-property>
    <activation-config-property-name>maxSessions</activation-config-property-name>
    <activation-config-property-value>3</activation-config-property-value>
</activation-config-property>
<activation-config-property>
    <activation-config-property-name>maxMessagesPerSessions</activation-config-property-name>
    <activation-config-property-value>2</activation-config-property-value>
</activation-config-property>
成功了!由此我从调试会话中获得了使用过的ID。。。现在我们可以设置InstanceLimit=0,并可以通过ActiveMQ的
maxSessions
属性配置并行工作MDB

<module name="org.apache.geronimo.configs/j2ee-server/2.2.1/car">
    <gbean name="org.apache.geronimo.configs/j2ee-server/2.2.1/car?ServiceModule=org.apache.geronimo.configs/j2ee-server/2.2.1/car,j2eeType=GBean,name=CustomPropertiesGBean" 
               gbeanInfo="org.apache.geronimo.system.properties.SystemProperties">
        <attribute name="systemProperties">org.apache.geronimo.configs/activemq-ra/2.2.1/car.ActiveMQ\ RA-javax.jms.MessageListener.InstanceLimit=50</attribute>
    </gbean>
</module>