[ https://issues.apache.org/activemq/browse/AMQ-1045?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mykola Paliyenko reopened AMQ-1045: ----------------------------------- Similar problem 4.1.1 rev 533993 sometimes when I shut down one of ActiveMQ servers that configured in JDBC master-slave way DefaultMessageListenerContainer does not reconnect. Messages are published but not consumed Config of container <bean class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="autoStartup" value="${jms.sms.start}" /> <property name="concurrentConsumers" value="${jms.sms.concurrent.consumers}" /> <property name="connectionFactory" ref="jmsConnectionFactory" /> <property name="destination" ref="jmsSmsDestination" /> <property name="messageListener" ref="smsJmsListener" /> <property name="sessionTransacted" value="true"></property> </bean> Connection factory <bean id="jmsConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start" destroy-method="stop"> <property name="connectionFactory"> <bean class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="failover:(tcp://localhost:61616,tcp://localhost:61716)" /> <property name="redeliveryPolicy"> <bean class="org.apache.activemq.RedeliveryPolicy"> <property name="backOffMultiplier" value="3"/> <property name="useExponentialBackOff" value="true"/> <property name="maximumRedeliveries" value="11"></property> <property name="initialRedeliveryDelay" value="2000"></property> </bean> </property> </bean> </property> </bean> Also whenit reconeects it show such messages often DEBUG AbstractRegion - Removing consumer: ID:MPaliyenkoN2-3962-1178284368281-1:0:1:2014 DEBUG AbstractRegion - Adding consumer: ID:MPaliyenkoN2-3962-1178284368281-1:0:1:2015 DEBUG AbstractRegion - Removing consumer: ID:MPaliyenkoN2-3962-1178284368281-1:0:1:2015 DEBUG AbstractRegion - Adding consumer: ID:MPaliyenkoN2-3962-1178284368281-1:0:1:2016 DEBUG AbstractRegion - Removing consumer: ID:MPaliyenkoN2-3962-1178284368281-1:0:1:2016 DEBUG AbstractRegion - Adding consumer: ID:MPaliyenkoN2-3962-1178284368281-1:0:1:2017 DEBUG AbstractRegion - Removing consumer: ID:MPaliyenkoN2-3962-1178284368281-1:0:1:2017 DEBUG AbstractRegion - Adding consumer: ID:MPaliyenkoN2-3962-1178284368281-1:0:1:2018 After I switched several times the messages dissapeared. Server config <beans> <!-- Allows us to use system properties as variables in this configuration file --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/> <broker brokerName="localhost" useJmx="true" xmlns="http://activemq.org/config/1.0"> <!-- Use the following to set the broker memory limit <memoryManager> <usageManager id="memory-manager" limit="20 MB"/> </memoryManager> --> <!-- Use the following to configure how ActiveMQ is exposed in JMX <managementContext> <managementContext connectorPort="1099" jmxDomainName="org.apache.activemq"/> </managementContext> --> <persistenceAdapter> <jdbcPersistenceAdapter dataSource="#mysql-ds"/> </persistenceAdapter> <transportConnectors> <transportConnector name="openwire" uri="tcp://localhost:61616"/> <transportConnector name="ssl" uri="ssl://localhost:61617"/> <transportConnector name="stomp" uri="stomp://localhost:61613"/> </transportConnectors> <networkConnectors> <!-- by default just auto discover the other brokers --> <networkConnector name="default-nc" uri="multicast://default"/> <!-- <networkConnector name="host1 and host2" uri="static://(tcp://host1:61616,tcp://host2:61616)" failover="true"/> --> </networkConnectors> </broker> <bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost/sonoportal?relaxAutoCommit=true"/> <property name="username" value="root"/> <property name="password" value=""/> </bean> </beans> please suggest > PooledConnectionFactory does not work with the > org.springframework.jms.listener.DefaultMessageListenerContainer in the > failure case > ----------------------------------------------------------------------------------------------------------------------------------- > > Key: AMQ-1045 > URL: https://issues.apache.org/activemq/browse/AMQ-1045 > Project: ActiveMQ > Issue Type: Bug > Affects Versions: 4.0 > Reporter: Hiram Chirino > Assigned To: Hiram Chirino > Fix For: 4.1.1, 4.2.0 > > > The DefaultMessageListenerContainer has retry logic built into it. When a > connection dies it tried to reconnect by getting a new connection from the > ConnectionFactory. Since the PooledConenctionFactory has one Connection it, > it keeps on trying to give out the Connection that died. We would like the > PooledConnectionFactory to be able to "evict" the dead connection and create > a new one. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.