Mar 21st, 2012, 10:23 AM
Configurable Message Listener per Memory Usage
I am using SpringJMS with TIBCO EMS. I am looking for approach where Message Listeners would be configurable at the runtime depending on the memory size.
Case - 1)
Say I have max 10 concurrent consumers configured for the Message Listener (DefaultMessageListenerContainer) and machine memory size is 2 GB. Now if 50 messages (Object Message) come my message listener would only scale upto the maximum number of the concurrent consumers allowed.
But I need a approach where if say memory consumed by 10 consumers is less than 2 GB and I am able to handle more messages I can increase the number of consumers and when the messages comes with heavy load I can scale down the number of concurrent consumers. So I need to have concurrent consumers dependent on the memory usage?
Case - 2)
If the <Case -1> can be handled by dynamically changing the messageSelector for the listeners? In that case I can maintain some kind of "Percent Memory In Use" value to filter the messages. If the messages with heavy load comes that will be passed to listener with lower "Percent Memory In Use" and so on.
Last edited by vijay.agarwal; Mar 22nd, 2012 at 12:09 PM.