You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Renaud Bruyeron <br...@fullsix.com> on 2006/10/06 14:39:18 UTC
AMQ 4.1 + Jencks 1.3: queued messages not delivered
I am running into problems with the the 20060830 snapshot of AMQ 4.1.
I use this version inside servicemix-3.0 final (by replacing the
activemq jars and the activeio one with the ones from 4.1), which uses
jencks 1.3. I need the jdbc-master-slave mode, which is a 4.1-only feature
afaik.
I am running into this situation where messages are queued, and
sometimes some of them are not delivered into the message listener.
I use the MDP approach and set the concurrency to 1 (only one listener
on each subscription):
<!-- the JCA container -->
<bean id="jencks" class="org.jencks.JCAContainer"
singleton="true">
<!-- lets use the default servicemix BootstrapContext (from JNDI) -->
<property name="bootstrapContext" ref="bootstrapContext"/>
<!-- the JCA Resource Adapter -->
<property name="resourceAdapter" ref="activeMQResourceAdapter" />
</bean>
<bean id="activeMQResourceAdapter"
class="org.apache.activemq.ra.ActiveMQResourceAdapter"
singleton="true">
<property name="serverUrl" value="${activemq.connection.url}" />
</bean>
<bean name="jcaEndpoint"
class="org.jencks.JCAConnector">
<property name="jcaContainer" ref="jencks" />
<!-- subscription details -->
<property name="activationSpec">
<bean
class="org.apache.activemq.ra.ActiveMQActivationSpec">
<property name="destination" value="mmx.queue.sms" />
<property name="destinationType"
value="javax.jms.Queue" />
<property name="maxSessions" value="1"/>
<property name="maxMessagesPerBatch" value="5"/>
</bean>
</property>
<!-- use XA transactions -->
<property name="transactionManager" ref="userTransaction" />
<property name="ref" value="myEndpoint" />
</bean>
If I kill off the JCA container and restart it, the "stuck" messages are
delivered normally. When messages are stuck, other messages can make it
through the queue, therefore it is not an issue with the connection
itself. It looks like something's wrong in the way the consumers
maintain their states. Resetting that state (i.e. restarting the JVM)
fixes the problem.
Any idea what could be wrong?
- Renaud