I think that there is a bug on versions 2.x.
I tested on WildFly and Jboss EAP and both don't repect max-pool on version 2.x. Version 1.x works fine.
<resource-adapters>
<resource-adapter id="org.jboss.genericjms">
<module slot="main" id="org.jboss.genericjms"/>
<transaction-support>NoTransaction</transaction-support>
<connection-definitions>
<connection-definition class-name="org.jboss.resource.adapter.jms.JmsManagedConnectionFactory" jndi-name="TestConnJMS" pool-name="TestConnJMS">
<config-property name="ConnectionFactory">QueueConnectionFactory</config-property>
<config-property name="JndiParameters">java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory;java.naming.provider.url=tcp://localhost:7222;java.naming.security.principal=admin;java.naming.security.credentials=
</config-property>
<config-property name="UserName">admin</config-property>
<pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>15</max-pool-size>
<flush-strategy>EntirePool</flush-strategy>
<prefill>true</prefill>
</pool>
<timeout>
<blocking-timeout-millis>30000</blocking-timeout-millis>
<idle-timeout-minutes>1</idle-timeout-minutes>
<allocation-retry>5</allocation-retry>
<allocation-retry-wait-millis>1000</allocation-retry-wait-millis>
</timeout>
<validation>
<background-validation>false</background-validation>
<background-validation-millis>2000</background-validation-millis>
<use-fast-fail>true</use-fast-fail>
</validation>
</connection-definition>
</connection-definitions>
</resource-adapter>
</resource-adapters>
Version 2.x -> Started with 30 connections and grows more than max-conn in minutes