Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
None
-
None
-
Mac OX/X
Description
I've found that if I configure Jencks with a low maxMessagesPerSessions (e.g. 3) and a higher maxSessions (e.g. 8) then my consumers hang after about 30 messages and no more messages get consumed.
Any idea why this might be? I find that if I make the maxMessagesPerSessions (which AFAIK matches the queue prefetch value) higher then it seems to work. I'm happy to do this, but I'm puzzled as to why this occurs.
Any help gratefully accepted - sample Spring config below. Also, I've attached sample code to this issue. Run the RequestHandler server from within Eclipse against a standalone broker, and then just use the ActiveMQ Web Console to sent 1000 messages to the queue RA.request
/Ade
<bean id="listenerJcaConnector" class="org.jencks.JCAConnector">
<property name="jcaContainer" ref="jencksContainer"/>
<property name="transactionManager" ref="transactionManager"/>
<property name="activationSpec">
<bean class="org.apache.activemq.ra.ActiveMQActivationSpec">
<property name="destination" value="RA.REQUEST"/>
<property name="destinationType" value="javax.jms.Queue"/>
<property name="maxSessions" value="8"/>
<property name="maxMessagesPerSessions" value="3"/> <!-- effectively, this just matches the prefetch size -->
</bean>
</property>
<property name="ref" value="messageListener"/>
</bean>