Hi

This is expected. The TIMED_WAITING thread is a JmsConsumer thread
which pickup new messages from the ActiveMQ message queue.
Currently there queue is empty so there is no messages to pickup and
therefore the thread is waiting.

If you put messages on that queue, then the thread will pickup and
process the messages.

In the Camel distribution you can also try the
camel-example-management, and then stop route 1.
Then eventually the message queue will dry out and route 3 has no more
messages to pickup and will do a TIMED_WAITING as in your case

"Camel (camel) thread #3 - JmsConsumer[stock]" daemon prio=5
tid=7ff28e7b0000 nid=0x119608000 in Object.wait() [119607000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <7a3b43880> (a java.lang.Object)
        at 
org.apache.activemq.SimplePriorityMessageDispatchChannel.dequeue(SimplePriorityMessageDispatchChannel.java:89)
        - locked <7a3b43880> (a java.lang.Object)
        at 
org.apache.activemq.ActiveMQMessageConsumer.dequeue(ActiveMQMessageConsumer.java:452)
        at 
org.apache.activemq.ActiveMQMessageConsumer.receive(ActiveMQMessageConsumer.java:577)
        at 
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveMessage(AbstractPollingMessageListenerContainer.java:429)



On Mon, Feb 6, 2012 at 12:41 PM, Francesco Malvezzi
<francesco.malve...@unimore.it> wrote:
> I'm a bit confused about the jmx management of camel. According to
> http://camel.apache.org/camel-jmx.html, jmx should be enabled on every camel
> project.
>
> Actually from jconsole I can see a org.codehaus.classwords:launcher item
> which resembles camel very closely. And indeed it should be, because if I
> connect the camel log gets populated with a long thread strace:
>
> "Camel (camel-1) thread #4 - JmsConsumer[username.to]" daemon prio=10
> tid=0x8ecb8800 nid=0x1977 in Object.wait() [0x8d2ae000]
>   java.lang.Thread.State: TIMED_WAITING (on object monitor)
>        at java.lang.Object.wait(Native Method)
>        - waiting on <0xadb6bc48> (a java.lang.Object)
>        at
> org.apache.activemq.SimplePriorityMessageDispatchChannel.dequeue(SimplePriorityMessageDispatchChannel.java:89)
>        - locked <0xadb6bc48> (a java.lang.Object)
>        at
> org.apache.activemq.ActiveMQMessageConsumer.dequeue(ActiveMQMessageConsumer.java:452)
>        at
> org.apache.activemq.ActiveMQMessageConsumer.receive(ActiveMQMessageConsumer.java:577)
>        at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveMessage(AbstractPollingMessageListenerContainer.java:429)
>        at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:310)
>        at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)
>        at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
>        at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
>        at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>        at java.lang.Thread.run(Thread.java:662)
> [...]
>
> "VM Thread" prio=10 tid=0x080d3c00 nid=0x1903 runnable
>
> "GC task thread#0 (ParallelGC)" prio=10 tid=0x0805f000 nid=0x1901 runnable
>
> "GC task thread#1 (ParallelGC)" prio=10 tid=0x08060800 nid=0x1902 runnable
>
> "VM Periodic Task Thread" prio=10 tid=0x080fb800 nid=0x190a waiting on
> condition
>
> JNI global references: 1341
>
> Heap
>  PSYoungGen      total 160832K, used 103451K [0xa9580000, 0xb3e80000,
> 0xb4020000)
>  eden space 150528K, 65% used [0xa9580000,0xaf668ce0,0xb2880000)
>  from space 10304K, 40% used [0xb3470000,0xb388e070,0xb3e80000)
>  to   space 11264K, 0% used [0xb2880000,0xb2880000,0xb3380000)
>  PSOldGen        total 82432K, used 51728K [0x94020000, 0x990a0000,
> 0xa9580000)
>  object space 82432K, 62% used [0x94020000,0x972a4378,0x990a0000)
>  PSPermGen       total 65536K, used 41593K [0x90020000, 0x94020000,
> 0x94020000)
>  object space 65536K, 63% used [0x90020000,0x928be6f0,0x94020000)
>
> What am I missing? My camel version in 2.8.4
>
> thank you,
>
> Francesco
>
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/thread-error-with-java-lang-Thread-State-TIMED-WAITING-from-jconsole-tp5459905p5459905.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Reply via email to