[ 
https://issues.apache.org/jira/browse/AMQ-6603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15888349#comment-15888349
 ] 

Gary Tully commented on AMQ-6603:
---------------------------------

I think there is something in this. The consumer creation failing with an 
exception is not being tracked by the failover transport and when it 
reconnects, b/c the session is still present b/c it was pooled, it gets 
recreated along with the failed consumer.
The connection state tracker needs to respond to the failure to create the 
consumer such that it is not recreated on reconnect. I think.
Will see if I can validate with that test code and peek at a possible fix.

> Excessive number of consumers when used with PooledConnectionFactory and 
> Failover transport
> -------------------------------------------------------------------------------------------
>
>                 Key: AMQ-6603
>                 URL: https://issues.apache.org/jira/browse/AMQ-6603
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: JMS client
>    Affects Versions: 5.14.3
>            Reporter: Tadayoshi Sato
>            Assignee: Gary Tully
>         Attachments: pooled-amq-client.zip, spring-amq-client.zip
>
>
> When {{PooledConnectionFactory}} is used with Failover transport, 
> insufficient access control settings on the broker result in an excessive 
> number of consumer objects on the broker once the access control settings are 
> properly set. 
> Here is an example Spring XML configuration:
> {code:xml}
> <beans ...>
>   <bean id="jmsConnectionFactory" 
> class="org.apache.activemq.ActiveMQConnectionFactory">
>     <property name="brokerURL" value="failover:(tcp://localhost:61616)" />
>     <property name="userName" value="test" />
>     <property name="password" value="test" />
>   </bean>
>   <bean id="pooledConnectionFactory" 
> class="org.apache.activemq.pool.PooledConnectionFactory">
>     <property name="connectionFactory" ref="jmsConnectionFactory" />
>     <property name="maxConnections" value="10" />
>   </bean>
>   <bean id="jmsContainer" 
> class="org.springframework.jms.listener.DefaultMessageListenerContainer">
>     <property name="connectionFactory" ref="pooledConnectionFactory" />
>     <property name="destinationName" value="TEST" />
>     <property name="messageListener" ref="messageListener" />
>     <property name="concurrentConsumers" value="10" />
>   </bean>
>   <bean id="messageListener" class="com.redhat.issues.amq.SpringJmsConsumer" 
> />
> </beans>
> {code}
> In this configuration we expect only one connection and 10 consumers for 
> {{TEST}} queue, but after following the reproducer steps we see around 10 
> connections and 100 consumers for the queue on hawtio. In the above 
> configuration Spring DMLC is used but we can reproduce the issue without 
> Spring.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to