|
|
DefaultMessageListenerContainer thread behavior?
Hi there,
I am using Spring with Active-MQ. I have three active-mq queues, each has 5-10 concurrent consumers. I am using cached connection factory. I have my config file at the end.
The runtime behavior is correct, but in Eclipse debug window, once I start up my app, I see 15 threads all running. This is because I have three queue, each has 5 consumers. What I see is that each thread is tagged by the following in the debug window.
DefaultMessageListenerContainer#0-xxxx, where xxxx keeps increasing very fast.
DefaultMessageListenerContainer#1-xxxx, where xxxx keeps increasing.
DefaultMessageListenerContainer#2-xxxx, where xxxx keeps increasing.
I am just a little uneasy what this is really about. Are all these listeners actively doing some work? Should not they just be notified when message arrive? Are they quickly create and then deallocate resource?
It almost look like the threads are busy waiting or wasting some resource.
any idea?
lt;bean id=quot;cachedConnectionFactoryquot;
class=quot;org..jms.connection.CachingC onnectionFactoryquot;
p:targetConnectionFactory-ref=quot;jmsFactoryquot;
p:sessionCacheSize=quot;10quot; /gt;
lt;jms:listener-container connection-factory=quot;cachedConnectionFactoryquot; acknowledge=quot;transactedquot; concurrency=quot;5-10quot; prefetch=quot;1quot;gt;
lt;jms:listener destination=quot;rest.pushquot; ref=quot;restEdgeAdapterquot; method=quot;onMessagequot;/gt;
lt;jms:listener destination=quot;edgemail.pushquot; ref=quot;mailEdgeAdapterquot; method=quot;onMessagequot;/gt;
lt;jms:listener destination=quot;backbonemail.pushquot; ref=quot;smtpAdaptorquot; method=quot;onMessagequot;/gt;
lt;/jms:listener-containergt;
here is the log
01/18/2011 17:03:02 [main] WARN BrokerRegistry - Broker localhost not started so using myBroker instead
01/18/2011 17:03:02 [main] INFO TransportConnector - Connector vm--localhost Started
01/18/2011 17:03:02 [main] INFO CachingConnectionFactory - Established shared JMS Connection: ActiveMQConnection {id=ID:yzhou-lp2-4138-1295388179794-3:0,clientId=null,started=false}
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Established shared JMS Connection
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Resumed paused task: org..jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker@17e8830
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Resumed paused task: org..jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker@1f0b28
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Resumed paused task: org..jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker@157135
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Resumed paused task: org..jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker@1bb57d9
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Resumed paused task: org..jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker@848738
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Established shared JMS Connection
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Resumed paused task: org..jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker@1f81d61
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Resumed paused task: org..jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker@50daa6
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Resumed paused task: org..jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker@42ce9b
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Resumed paused task: org..jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker@a2a74
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Resumed paused task: org..jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker@1692eec
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Established shared JMS Connection
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Resumed paused task: org..jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker@87b5d0
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Resumed paused task: org..jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker@1b16f10
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Resumed paused task: org..jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker@1f2865b
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Resumed paused task: org..jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker@152e336
01/18/2011 17:03:02 [main] DEBUG DefaultMessageListenerContainer - Resumed paused task: org..jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker@c32338
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#0-1] DEBUG CachingConnectionFactory - Creating cached JMS Session for mode 0: ActiveMQSession {id=ID:yzhou-lp2-4138-1295388179794-3:0:1,started=true}
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#1-1] DEBUG CachingConnectionFactory - Creating cached JMS Session for mode 0: ActiveMQSession {id=ID:yzhou-lp2-4138-1295388179794-3:0:6,started=true}
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#0-2] DEBUG CachingConnectionFactory - Creating cached JMS Session for mode 0: ActiveMQSession {id=ID:yzhou-lp2-4138-1295388179794-3:0:4,started=true}
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#2-2] DEBUG CachingConnectionFactory - Creating cached JMS Session for mode 0: ActiveMQSession {id=ID:yzhou-lp2-4138-1295388179794-3:0:9,started=true}
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#0-4] DEBUG CachingConnectionFactory - Creating cached JMS Session for mode 0: ActiveMQSession {id=ID:yzhou-lp2-4138-1295388179794-3:0:15,started=true}
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#2-3] DEBUG CachingConnectionFactory - Creating cached JMS Session for mode 0: ActiveMQSession {id=ID:yzhou-lp2-4138-1295388179794-3:0:11,started=true}
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#0-5] DEBUG CachingConnectionFactory - Creating cached JMS Session for mode 0: ActiveMQSession {id=ID:yzhou-lp2-4138-1295388179794-3:0:14,started=true}
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#2-1] DEBUG CachingConnectionFactory - Creating cached JMS Session for mode 0: ActiveMQSession {id=ID:yzhou-lp2-4138-1295388179794-3:0:3,started=true}
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#1-2] DEBUG CachingConnectionFactory - Creating cached JMS Session for mode 0: ActiveMQSession {id=ID:yzhou-lp2-4138-1295388179794-3:0:2,started=true}
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#1-3] DEBUG CachingConnectionFactory - Creating cached JMS Session for mode 0: ActiveMQSession {id=ID:yzhou-lp2-4138-1295388179794-3:0:5,started=true}
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#1-5] DEBUG CachingConnectionFactory - Creating cached JMS Session for mode 0: ActiveMQSession {id=ID:yzhou-lp2-4138-1295388179794-3:0:8,started=true}
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#2-5] DEBUG CachingConnectionFactory - Creating cached JMS Session for mode 0: ActiveMQSession {id=ID:yzhou-lp2-4138-1295388179794-3:0:13,started=true}
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#0-3] DEBUG CachingConnectionFactory - Creating cached JMS Session for mode 0: ActiveMQSession {id=ID:yzhou-lp2-4138-1295388179794-3:0:10,started=true}
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#2-4] DEBUG CachingConnectionFactory - Creating cached JMS Session for mode 0: ActiveMQSession {id=ID:yzhou-lp2-4138-1295388179794-3:0:12,started=true}
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#1-4] DEBUG CachingConnectionFactory - Creating cached JMS Session for mode 0: ActiveMQSession {id=ID:yzhou-lp2-4138-1295388179794-3:0:7,started=true}
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#0-3] DEBUG CachingConnectionFactory - Creating cached JMS MessageConsumer for destination [queue--rest.push]: ActiveMQMessageConsumer { value=ID:yzhou-lp2-4138-1295388179794-3:0:10:1, started=true }
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#1-3] DEBUG CachingConnectionFactory - Creating cached JMS MessageConsumer for destination [queue--edgemail.push]: ActiveMQMessageConsumer { value=ID:yzhou-lp2-4138-1295388179794-3:0:5:1, started=true }
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#0-1] DEBUG CachingConnectionFactory - Creating cached JMS MessageConsumer for destination [queue--rest.push]: ActiveMQMessageConsumer { value=ID:yzhou-lp2-4138-1295388179794-3:0:1:1, started=true }
01/18/2011 17:03:02 [org..jms.listener.DefaultMessageLis tenerContainer#0-2] DEBUG CachingConnectionFactory - Creating cached JMS MessageConsumer for destination [queue--rest.push]: ActiveMQMessageConsumer { value=ID:yzhou-lp2-4138-1295388179794-3:0:4:1, started=true }
01/18/2011 17:03:02 |
|