I have made some more tests and it appears that the problem comes from
ActiveMQ.
My scenario:
. 1 publisher sending 23000 messages at 10 messages/second (each
messages are published only into 1 queue).
. 3 consumers in separate JVM using your sample code
ConsumerTool.java and just printing message in console.
. At mid of the test, I stop consumers and restart them.
. At end, 10 messages from one queue are still in queue and aren't
consumed.
(Here is my command line for consumer : "tcp://jupiter:61616" "false"
"COM.ESBWEVADA" "true" "100000" "consumer13" "false" "500")
ActiveMq config :
<beans xmlns="http://activemq.org/config/1.0">
<broker brokerName="nova1" persistent="true" useJmx="true">
<persistenceAdapter>
<journaledJDBC journalLogFiles="5" dataDirectory="../activemq-data"
dataSource="#derby-ds" >
<adapter><bytesJDBCAdapter/></adapter>
</journaledJDBC>
<!--
<jdbcPersistenceAdapter dataSource="#derby-ds" cleanupPeriod="600">
<adapter><bytesJDBCAdapter/></adapter>
</jdbcPersistenceAdapter>
-->
</persistenceAdapter>
<transportConnectors>
<transportConnector name="default" uri="tcp://localhost:61616"
discoveryUri="multicast://default"/>
<transportConnector name="stomp" uri="stomp://localhost:61613"/>
</transportConnectors>
<networkConnectors>
<networkConnector name="default" uri="multicast://default"/>
</networkConnectors>
</broker>
<bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource">
<property name="databaseName" value="derbydb"/>
<property name="createDatabase" value="create"/>
</bean>
</beans>
Finally, producer and consumers run on a machine and the broker on another.
Any help are welcome.
Etienne
-----Message d'origine-----
De : Etienne Carouy [mailto:[EMAIL PROTECTED]
Envoyé : jeudi 4 mai 2006 15:24
À : [email protected]
Objet : RE: Message not dequeue
Some more informations :
I try with ActiveMQ RC2 but I have the same behaviour.
I try to reproduce the problem with less messages (2000 messages) but it
works correctly (all messages are consumed).
Mule is configured to auto-ack the message, I will try to acknowledge myself
messages and keep you informed.
Etienne
-----Message d'origine-----
De : James Strachan [mailto:[EMAIL PROTECTED]
Envoyé : jeudi 4 mai 2006 14:31
À : [email protected]
Objet : Re: Message not dequeue
BTW if you look a the MBeans in JMX you should be able to see the status of
each active consumer to see whats going on...
http://activemq.org/JMX
James
On 5/4/06, James Strachan <[EMAIL PROTECTED]> wrote:
>
> It sounds like there is a JMS consumer which has not finished processing
> all its messages; either because its hung or its not acknowledging the
> messages. Leave the broker running; try just restart the consumer JVM and
> see if that fixes it. If thats the case its probably some issue with how
> Mule uses JMS; maybe the mule lists might help?
>
> James
>
>
> On 5/4/06, Etienne Carouy <[EMAIL PROTECTED]> wrote:
> >
> > Hi,
> >
> >
> >
> > I have a little problem with ActiveMQ 4.0 (snapshot). I use ActiveMQ
> > with
> > Mule 1.2 and a standard JmsConnector. My producer (ESB1) fills 3 queues
> > with
> > message at average speed of 10 messages per second (sending about 23000
> > messages for my test).
> >
> >
> >
> > I have 3 consumers (one per queue) inside another mule (ESB2) that
> > consume
> > those messages. All is working fine if both of mule runs simultaneously
> > (on
> > 2 different computers in my test).
> >
> >
> >
> > The problem comes if I stop ESB2 during the test. When I restart it, it
> > consumes messages but at the end of the test, some messages still in the
> > queue (I can see it in the console management: the queue size = X > 0
> > but if
> > I browse the queue I can't get any messages)
> >
> >
> >
> > If I stop ActiveMQ and my consumer and restart them, my consumer
> > consumes
> > the X messages?!
> >
> >
> >
> > Any idea on what's wrong.
> >
> >
> >
> > Thanks in advance for your answer.
> >
> >
> >
> > Etienne
> >
> >
> >
>
>
> --
>
> James
> -------
> http://radio.weblogs.com/0112098/
>
--
James
-------
http://radio.weblogs.com/0112098/