0 Replies Latest reply on Aug 12, 2015 10:21 AM by llper16

    Increase the number of MDB consumers when connecting to remote ActiveMQ server

    llper16

      Dear all,

      I'm using wildfly 9.0.1.Final to connect to a remote (another machine) ActiveMQ 5.11 server.

      I'm successful in producing the message to a test queue, and to consume it with an MDB.

      The problem is, no matter how I change the maxSession / maxSessions property and the mdb pool, I still always see a single (1) MDB consumer attached to the ActiveMQ queue.

      Here my configuration:

       

      <?xml version="1.0" ?>
      
      
      <server xmlns="urn:jboss:domain:3.0">
      
      
          <extensions>
              <extension module="org.jboss.as.clustering.infinispan"/>
              <extension module="org.jboss.as.connector"/>
              <extension module="org.jboss.as.deployment-scanner"/>
              <extension module="org.jboss.as.ee"/>
              <extension module="org.jboss.as.ejb3"/>
              <extension module="org.jboss.as.jaxrs"/>
              <extension module="org.jboss.as.jdr"/>
              <extension module="org.jboss.as.jmx"/>
              <extension module="org.jboss.as.jpa"/>
              <extension module="org.jboss.as.jsf"/>
              <extension module="org.jboss.as.jsr77"/>
              <extension module="org.jboss.as.logging"/>
              <extension module="org.jboss.as.mail"/>
              <extension module="org.jboss.as.messaging"/>
              <extension module="org.jboss.as.naming"/>
              <extension module="org.jboss.as.pojo"/>
              <extension module="org.jboss.as.remoting"/>
              <extension module="org.jboss.as.sar"/>
              <extension module="org.jboss.as.security"/>
              <extension module="org.jboss.as.transactions"/>
              <extension module="org.jboss.as.webservices"/>
              <extension module="org.jboss.as.weld"/>
              <extension module="org.wildfly.extension.batch"/>
              <extension module="org.wildfly.extension.bean-validation"/>
              <extension module="org.wildfly.extension.io"/>
              <extension module="org.wildfly.extension.request-controller"/>
              <extension module="org.wildfly.extension.security.manager"/>
              <extension module="org.wildfly.extension.undertow"/>
              <extension module="org.wildfly.iiop-openjdk"/>
          </extensions>
      
      
          <system-properties>
              <property name="jms.queue.hello.destinationtype111" value="javax.jms.Queue"/>
              <property name="jms.queue.hello.acknowledgemode111" value="Auto-acknowledge"/>
          </system-properties>
      
      
      
      
          <management>
              <security-realms>
                  <security-realm name="ManagementRealm">
                      <authentication>
                          <local default-user="$local" skip-group-loading="true"/>
                          <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
                      </authentication>
                      <authorization map-groups-to-roles="false">
                          <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
                      </authorization>
                  </security-realm>
                  <security-realm name="ApplicationRealm">
                      <authentication>
                          <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
                          <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
                      </authentication>
                      <authorization>
                          <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
                      </authorization>
                  </security-realm>
              </security-realms>
              <audit-log>
                  <formatters>
                      <json-formatter name="json-formatter"/>
                  </formatters>
                  <handlers>
                      <file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/>
                  </handlers>
                  <logger log-boot="true" log-read-only="false" enabled="false">
                      <handlers>
                          <handler name="file"/>
                      </handlers>
                  </logger>
              </audit-log>
              <management-interfaces>
                  <http-interface security-realm="ManagementRealm" http-upgrade-enabled="true">
                      <socket-binding http="management-http"/>
                  </http-interface>
              </management-interfaces>
              <access-control provider="simple">
                  <role-mapping>
                      <role name="SuperUser">
                          <include>
                              <user name="$local"/>
                          </include>
                      </role>
                  </role-mapping>
              </access-control>
          </management>
      
      
          <profile>
              <subsystem xmlns="urn:jboss:domain:logging:3.0">
                  <console-handler name="CONSOLE">
                      <level name="INFO"/>
                      <formatter>
                          <named-formatter name="COLOR-PATTERN"/>
                      </formatter>
                  </console-handler>
                  <periodic-rotating-file-handler name="FILE" autoflush="true">
                      <formatter>
                          <named-formatter name="PATTERN"/>
                      </formatter>
                      <file relative-to="jboss.server.log.dir" path="server.log"/>
                      <suffix value=".yyyy-MM-dd"/>
                      <append value="true"/>
                  </periodic-rotating-file-handler>
                  <logger category="com.arjuna">
                      <level name="WARN"/>
                  </logger>
                  <logger category="org.apache.tomcat.util.modeler">
                      <level name="WARN"/>
                  </logger>
                  <logger category="org.jboss.as.config">
                      <level name="DEBUG"/>
                  </logger>
                  <logger category="sun.rmi">
                      <level name="WARN"/>
                  </logger>
                  <logger category="jacorb">
                      <level name="WARN"/>
                  </logger>
                  <logger category="jacorb.config">
                      <level name="ERROR"/>
                  </logger>
                  <root-logger>
                      <level name="INFO"/>
                      <handlers>
                          <handler name="CONSOLE"/>
                          <handler name="FILE"/>
                      </handlers>
                  </root-logger>
                  <formatter name="PATTERN">
                      <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
                  </formatter>
                  <formatter name="COLOR-PATTERN">
                      <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
                  </formatter>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:batch:1.0">
                  <job-repository>
                      <in-memory/>
                  </job-repository>
                  <thread-pool>
                      <max-threads count="10"/>
                      <keepalive-time time="30" unit="seconds"/>
                  </thread-pool>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:bean-validation:1.0"/>
              <subsystem xmlns="urn:jboss:domain:datasources:3.0">
                  <datasources>
                      <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                          <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
                          <driver>h2</driver>
                          <security>
                              <user-name>sa</user-name>
                              <password>sa</password>
                          </security>
                      </datasource>
                      <drivers>
                          <driver name="h2" module="com.h2database.h2">
                              <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                          </driver>
                      </drivers>
                  </datasources>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
                  <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:ee:3.0">
                  <spec-descriptor-property-replacement>true</spec-descriptor-property-replacement>
                  <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
                  <concurrent>
                      <context-services>
                          <context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-provider="true"/>
                      </context-services>
                      <managed-thread-factories>
                          <managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/>
                      </managed-thread-factories>
                      <managed-executor-services>
                          <managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default" context-service="default" hung-task-threshold="60000" core-threads="5" max-threads="25" keepalive-time="5000"/>
                      </managed-executor-services>
                      <managed-scheduled-executor-services>
                          <managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-threshold="60000" core-threads="2" keepalive-time="3000"/>
                      </managed-scheduled-executor-services>
                  </concurrent>
                  <default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" jms-connection-factory="java:jboss/DefaultJMSConnectionFactory" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:ejb3:3.0">
                  <session-bean>
                      <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="activemq-rar"/>
                      <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
                  </mdb>
                  <pools>
                      <bean-instance-pools>
                          <strict-max-pool name="slsb-strict-max-pool" max-pool-size="10" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                          <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                          <strict-max-pool name="jms-mdb-pool" max-pool-size="100" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                      </bean-instance-pools>
                  </pools>
                  <caches>
                      <cache name="simple"/>
                      <cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/>
                  </caches>
                  <passivation-stores>
                      <passivation-store name="infinispan" cache-container="ejb" max-size="10000"/>
                  </passivation-stores>
                  <async thread-pool-name="default"/>
                  <timer-service thread-pool-name="default" default-data-store="default-file-store">
                      <data-stores>
                          <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
                      </data-stores>
                  </timer-service>
                  <remote connector-ref="http-remoting-connector" thread-pool-name="default"/>
                  <thread-pools>
                      <thread-pool name="default">
                          <max-threads count="10"/>
                          <keepalive-time time="100" unit="milliseconds"/>
                      </thread-pool>
                      
                  </thread-pools>
                  <iiop enable-by-default="false" use-qualified-name="false"/>
                  <default-security-domain value="other"/>
                  <default-missing-method-permissions-deny-access value="true"/>
                  <log-system-exceptions value="true"/>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:io:1.1">
                  <worker name="default"/>
                  <buffer-pool name="default"/>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:infinispan:3.0">
                  <cache-container name="server" default-cache="default" module="org.wildfly.clustering.server">
                      <local-cache name="default">
                          <transaction mode="BATCH"/>
                      </local-cache>
                  </cache-container>
                  <cache-container name="web" default-cache="passivation" module="org.wildfly.clustering.web.infinispan">
                      <local-cache name="passivation">
                          <locking isolation="REPEATABLE_READ"/>
                          <transaction mode="BATCH"/>
                          <file-store passivation="true" purge="false"/>
                      </local-cache>
                      <local-cache name="persistent">
                          <locking isolation="REPEATABLE_READ"/>
                          <transaction mode="BATCH"/>
                          <file-store passivation="false" purge="false"/>
                      </local-cache>
                  </cache-container>
                  <cache-container name="ejb" default-cache="passivation" module="org.wildfly.clustering.ejb.infinispan" aliases="sfsb">
                      <local-cache name="passivation">
                          <locking isolation="REPEATABLE_READ"/>
                          <transaction mode="BATCH"/>
                          <file-store passivation="true" purge="false"/>
                      </local-cache>
                      <local-cache name="persistent">
                          <locking isolation="REPEATABLE_READ"/>
                          <transaction mode="BATCH"/>
                          <file-store passivation="false" purge="false"/>
                      </local-cache>
                  </cache-container>
                  <cache-container name="hibernate" default-cache="local-query" module="org.hibernate.infinispan">
                      <local-cache name="local-query">
                          <eviction strategy="LRU" max-entries="10000"/>
                          <expiration max-idle="100000"/>
                      </local-cache>
                      <local-cache name="entity">
                          <transaction mode="NON_XA"/>
                          <eviction strategy="LRU" max-entries="10000"/>
                          <expiration max-idle="100000"/>
                      </local-cache>
                      <local-cache name="timestamps"/>
                  </cache-container>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:iiop-openjdk:1.0">
                  <orb socket-binding="iiop" ssl-socket-binding="iiop-ssl"/>
                  <initializers security="identity" transactions="spec"/>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
              <subsystem xmlns="urn:jboss:domain:jca:3.0">
                  <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
                  <bean-validation enabled="true"/>
                  <default-workmanager>
                      <short-running-threads>
                          <core-threads count="50"/>
                          <queue-length count="50"/>
                          <max-threads count="50"/>
                          <keepalive-time time="10" unit="seconds"/>
                      </short-running-threads>
                      <long-running-threads>
                          <core-threads count="50"/>
                          <queue-length count="50"/>
                          <max-threads count="50"/>
                          <keepalive-time time="10" unit="seconds"/>
                      </long-running-threads>
                  </default-workmanager>
                  <cached-connection-manager/>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
              <subsystem xmlns="urn:jboss:domain:jmx:1.3">
                  <expose-resolved-model/>
                  <expose-expression-model/>
                  <remoting-connector/>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:jpa:1.1">
                  <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
              <subsystem xmlns="urn:jboss:domain:jsr77:1.0"/>
              <subsystem xmlns="urn:jboss:domain:mail:2.0">
                  <mail-session name="default" jndi-name="java:jboss/mail/Default">
                      <smtp-server outbound-socket-binding-ref="mail-smtp"/>
                  </mail-session>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:messaging:3.0"/>
              <subsystem xmlns="urn:jboss:domain:naming:2.0">
                  <remote-naming/>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
              <subsystem xmlns="urn:jboss:domain:remoting:3.0">
                  <endpoint worker="default"/>
                  <http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:resource-adapters:3.0">
                  <resource-adapters>
                      <resource-adapter id="activemq-rar">
                          <archive>
                              activemq-rar-5.11.1.rar
                          </archive>
                          <transaction-support>XATransaction</transaction-support>
                          <config-property name="ServerUrl">
                              tcp://192.168.1.127:61616?jms.rmIdFromConnectionId=true&amp;jms.prefetchPolicy.queuePrefetch=1
                          </config-property>
                          <config-property name="UserName">
                              admin
                          </config-property>
                          <config-property name="UseInboundSession">
                              false
                          </config-property>
                          <config-property name="Password">
                              admin
                          </config-property>
                          <connection-definitions>
                              <connection-definition class-name="org.apache.activemq.ra.ActiveMQManagedConnectionFactory" jndi-name="java:jboss/DefaultJMSConnectionFactory" enabled="true" pool-name="ConnectionFactory">
                                  <xa-pool>
                                      <min-pool-size>1</min-pool-size>
                                      <max-pool-size>20</max-pool-size>
                                      <prefill>false</prefill>
                                      <is-same-rm-override>false</is-same-rm-override>
                                  </xa-pool>
                              </connection-definition>
                          </connection-definitions>
                          <admin-objects>
                              <admin-object class-name="org.apache.activemq.command.ActiveMQQueue" jndi-name="java:/queue/HELLOWORLDMDBQueue" use-java-context="true" pool-name="HELLOWORLDMDBQueue">
                                  <config-property name="PhysicalName">
                                      HELLOWORLDMDBQueue
                                  </config-property>
                              </admin-object>
                              <admin-object class-name="org.apache.activemq.command.ActiveMQTopic" jndi-name="java:/topic/HELLOWORLDMDBTopic" use-java-context="true" pool-name="HELLOWORLDMDBTopic">
                                  <config-property name="PhysicalName">
                                      HELLOWORLDMDBTopic
                                  </config-property>
                              </admin-object>
                          </admin-objects>
                      </resource-adapter>
                  </resource-adapters>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:request-controller:1.0"/>
              <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
              <subsystem xmlns="urn:jboss:domain:security-manager:1.0">
                  <deployment-permissions>
                      <maximum-set>
                          <permission class="java.security.AllPermission"/>
                      </maximum-set>
                  </deployment-permissions>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:security:1.2">
                  <security-domains>
                      <security-domain name="other" cache-type="default">
                          <authentication>
                              <login-module code="Remoting" flag="optional">
                                  <module-option name="password-stacking" value="useFirstPass"/>
                              </login-module>
                              <login-module code="RealmDirect" flag="required">
                                  <module-option name="password-stacking" value="useFirstPass"/>
                              </login-module>
                          </authentication>
                      </security-domain>
                      <security-domain name="jboss-web-policy" cache-type="default">
                          <authorization>
                              <policy-module code="Delegating" flag="required"/>
                          </authorization>
                      </security-domain>
                      <security-domain name="jboss-ejb-policy" cache-type="default">
                          <authorization>
                              <policy-module code="Delegating" flag="required"/>
                          </authorization>
                      </security-domain>
                  </security-domains>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:transactions:3.0">
                  <core-environment>
                      <process-id>
                          <uuid/>
                      </process-id>
                  </core-environment>
                  <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:undertow:2.0">
                  <buffer-cache name="default"/>
                  <server name="default-server">
                      <http-listener name="default" socket-binding="http" redirect-socket="https"/>
                      <host name="default-host" alias="localhost">
                          <location name="/" handler="welcome-content"/>
                          <filter-ref name="server-header"/>
                          <filter-ref name="x-powered-by-header"/>
                      </host>
                  </server>
                  <servlet-container name="default">
                      <jsp-config/>
                      <websockets/>
                  </servlet-container>
                  <handlers>
                      <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
                  </handlers>
                  <filters>
                      <response-header name="server-header" header-name="Server" header-value="WildFly/9"/>
                      <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
                  </filters>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:webservices:2.0">
                  <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
                  <endpoint-config name="Standard-Endpoint-Config"/>
                  <endpoint-config name="Recording-Endpoint-Config">
                      <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
                          <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
                      </pre-handler-chain>
                  </endpoint-config>
                  <client-config name="Standard-Client-Config"/>
              </subsystem>
              <subsystem xmlns="urn:jboss:domain:weld:2.0"/>
          </profile>
      
      
          <interfaces>
              <interface name="management">
                  <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
              </interface>
              <interface name="public">
                  <inet-address value="${jboss.bind.address:127.0.0.1}"/>
              </interface>
              <interface name="unsecure">
                  <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
              </interface>
          </interfaces>
      
      
          <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
              <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
              <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
              <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
              <socket-binding name="http" port="${jboss.http.port:8080}"/>
              <socket-binding name="https" port="${jboss.https.port:8443}"/>
              <socket-binding name="iiop" interface="unsecure" port="3528"/>
              <socket-binding name="iiop-ssl" interface="unsecure" port="3529"/>
              <socket-binding name="txn-recovery-environment" port="4712"/>
              <socket-binding name="txn-status-manager" port="4713"/>
              <outbound-socket-binding name="mail-smtp">
                  <remote-destination host="localhost" port="25"/>
              </outbound-socket-binding>
          </socket-binding-group>
      
      
          <deployments>
              <deployment name="snow-om.war" runtime-name="snow-om.war">
                  <content sha1="29a6b55c24d7d1ffbc79dc7c33684f1a664c4184"/>
              </deployment>
          </deployments>
      </server>
      

       

       

       

      <?xml version="1.1" encoding="UTF-8"?>
      <jboss:ejb-jar xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
                     xmlns="http://java.sun.com/xml/ns/javaee"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                     xmlns:s="urn:security:1.1"
                     xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-ejb3-2_0.xsd http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"
                     version="3.1"
                     impl-version="2.0"
                     xmlns:p="urn:ejb-pool:1.0"
                     >
      
       <enterprise-beans>
      
        <message-driven>
        <ejb-name>HelloWorldQueueMDB</ejb-name>
        <ejb-class>ch.suntis.snow.om.jms.HelloWorldQueueMDB</ejb-class>
        <message-destination-type>${jms.queue.hello.destinationtype:javax.jms.Queue}</message-destination-type>
      
        <activation-config>
        <activation-config-property>
        <activation-config-property-name>clientId</activation-config-property-name>
        <activation-config-property-value>${jms.queue.hello.clientId:helloID}</activation-config-property-value>
        </activation-config-property>
        <activation-config-property>
        <activation-config-property-name>destinationType</activation-config-property-name>
        <activation-config-property-value>${jms.queue.hello.destinationtype:javax.jms.Queue}</activation-config-property-value>
        </activation-config-property>
        <activation-config-property>
        <activation-config-property-name>acknowledgeMode</activation-config-property-name>
        <activation-config-property-value>${jms.queue.hello.acknowledgemode:Auto-acknowledge}</activation-config-property-value>
        </activation-config-property>
        <activation-config-property>
        <activation-config-property-name>destination</activation-config-property-name>
        <activation-config-property-value>${jms.queue.hello.destination:HELLOWORLDMDBQueue}</activation-config-property-value>
        </activation-config-property>
        <activation-config-property>
        <activation-config-property-name>maxSessions</activation-config-property-name>
        <activation-config-property-value>${jms.queue.hello.maxsession:20}</activation-config-property-value>
        </activation-config-property>
      
        <!--
        <activation-config-property>
        <activation-config-property-name>user</activation-config-property-name>
        <activation-config-property-value>${jms.user:admin}</activation-config-property-value>
        </activation-config-property>
      
        <activation-config-property>
        <activation-config-property-name>pass</activation-config-property-name>
        <activation-config-property-value>${jms.password:admin}</activation-config-property-value>
        </activation-config-property>
        -->
      
        </activation-config>
      
      
        </message-driven>
       </enterprise-beans>
      
      
       <assembly-descriptor>
      <!--         <s:security> -->
      <!--             <ejb-name>DDMyDomainSFSB</ejb-name> -->
      <!--             <s:security-domain>myDomain</s:security-domain> -->
      <!--             <s:run-as-principal>myPrincipal</s:run-as-principal> -->
      <!--         </s:security> -->
      
        <!-- This allows you to select the pool that is used by the SLSB or MDB. Pools are defined in the server configuration (i.e. standalone.xml or domain.xml) -->
      <!-- <p:pool> -->
      <!--   <ejb-name>*</ejb-name> -->
      <!--   <p:bean-instance-pool-ref>jms-mdb-pool</p:bean-instance-pool-ref> -->
      <!-- </p:pool> -->
          </assembly-descriptor>
      
      </jboss:ejb-jar>
      

      (deployed under WEB-INF/jboss-ejb3.xml

       

      Here my MDB:

      
      package ch.suntis.snow.om.jms;
      
      
      import java.util.logging.Logger;
      
      
      import javax.ejb.TransactionAttribute;
      import javax.ejb.TransactionAttributeType;
      import javax.ejb.TransactionManagement;
      import javax.ejb.TransactionManagementType;
      import javax.jms.JMSException;
      import javax.jms.Message;
      import javax.jms.MessageListener;
      import javax.jms.ObjectMessage;
      import javax.jms.TextMessage;
      
      
      import ch.suntis.snow.om.intf.domain.order.DbOrder;
      
      
      /**
       * <p>
       * A simple Message Driven Bean that asynchronously receives and processes the messages that are sent to the queue.
       * </p>
       * 
       * 
       */
      //@MessageDriven(name = "HelloWorldQueueMDB", activationConfig = {
      //        @ActivationConfigProperty(propertyName = "destination", propertyValue = "HELLOWORLDMDBQueue"),
      //        @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
      //        @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"), 
      //        @ActivationConfigProperty(propertyName = "maxSession", propertyValue = "10") 
      //})
      //https://docs.jboss.org/ejb3/docs/tutorial/1.0.7/html/Message_Driven_Beans.html
      @TransactionManagement(value=TransactionManagementType.CONTAINER)  
      @TransactionAttribute(TransactionAttributeType.REQUIRED)  
      public class HelloWorldQueueMDB implements MessageListener {
      
      
          private final static Logger LOGGER = Logger.getLogger(HelloWorldQueueMDB.class.toString());
      
      
          /**
           * @see MessageListener#onMessage(Message)
           */
          public void onMessage(Message rcvMessage) {
              TextMessage msg = null;
              try {
                  if (rcvMessage instanceof TextMessage) {
                      msg = (TextMessage) rcvMessage;
                      LOGGER.info("Received text Message from queue: " + msg.getText());
                  } else if(rcvMessage instanceof ObjectMessage){
                  ObjectMessage om = (ObjectMessage) rcvMessage;
                 
                  if(om.getObject() instanceof DbOrder) {
                  DbOrder order = (DbOrder)om.getObject();
                          LOGGER.info("Received new ORDER from queue: " + order.toString());
                  } else
                  LOGGER.info("Received ObjectMessage from queue: " + rcvMessage.toString());
      
      
                  } else {
                      LOGGER.warning("Message of wrong type: " + rcvMessage.getClass().getName());
                  }
                  
                  
              } catch (JMSException e) {
                  throw new RuntimeException(e);
              }
          }
      }
      

       

      As I said, I can send and receive from the queue, but the ActiveMQ web interface tells me that only 1 consumer with clientID = 'HelloID' is listening to the HELLOWORLDMDBQueue, no matter what my pool size says or the maxSessions parameter is configured.

       

      Can someone point me to the right direction?

       

      KR,

      Davide