Hi,

Had a user of our service complain that they were losing a message
intermittently (i.e. message sent to queue and Spring DMLC does not process
message) and was able to confirm this problem.  Environment summary is as
follows:

Embedded broker that is running inside JBoss
Producers and Consumers are using the following URL to connect
vm://localhost?broker.useJmx=true&broker.persistent=false&broker.useShutdownHook=false
Consumer is using Spring DMLC

To reproduce the scenario, we have a test where we loop 10 times and send a
persistent message to a queue and the DMLC picks up the message (or should
atleast).  We ran this test 28 times and saw the problem 3 times in a Linux
environment.  When running on Windows, we ran 20 times with no issue at all. 
Not sure if it is an OS related issue but wanted to point this out.

Does anyone have any tips (logging levels on specific packages, or
otherwise) to further debug this or run into this problem before?  The DMLC
configuration is below and perhaps it is an issue there, not sure.

Please note: We are using the embedded broker for development purposes. 
When in production we would be connecting to a remote broker.

<bean id="dmlc"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
                <property name="connectionFactory" 
ref="pooledInternalJmsConnFactory"/>
                <property name="autoStartup" value="false" />
                <property name="destination">
                        <ref bean="executionQueue"/>
                </property>
                <property name="concurrentConsumers"   ref="minThreadCount" />
                <property name="maxConcurrentConsumers" ref="maxThreadCount"/>
                <property name="idleTaskExecutionLimit" value="5"/>
                <property name="acceptMessagesWhileStopping" value="false"/>
</bean>

<bean id="executionQueue" class="org.apache.activemq.command.ActiveMQQueue">
                <property name="physicalName" ref=executionQueueName"/>
</bean>

<bean id="pooledInternalJmsConnFactory"
class="org.springframework.jms.connection.CachingConnectionFactory">
                <property name="targetConnectionFactory" 
ref="internalJmsFactory"/>
                <property name="reconnectOnException" value="true"/>
                <property name="sessionCacheSize" value="10" />
</bean>

<bean id="internalJmsFactory"
class="org.apache.activemq.ActiveMQConnectionFactory">
                <property name="brokerURL"
value="vm://localhost?broker.useJmx=true&broker.persistent=false&broker.useShutdownHook=false"/>
</bean>



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Intermittent-loss-of-message-5-3-2-Linux-with-DMLC-tp4654844.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to