JTA Timeout and "Redelivery Delay Override" of JMS queues
edited Dec 19, 2012 3:26AM in Order and Service Management (Communications Industry) (MOSC) 3 commentsAnswered
Redelivery Delay Override: value for JMS queues should be generally larger than JTA timeout, the reason is simple, for example
1. JTA Timeout = 300 seconds
2. Redelivery Delay Override = 5 seconds
Redelivery Limit: 5
3. Order 100 will go to automated_task which will spawn on multi-instance nodes, there are two such instances
4. thread 1 and 2 of oms.automation start running for order 100
5. thread 1 get order 100 Jboss lock and it will take 250 seconds to finish (system slow)
6. Thread 2 will try to get 100 Jboss lock and JBoss lock timeout 15 seconds later, transaction rollback, 5 seconds later this task thread for order 100 will start again, assume it is still thread 2 of oms.automation (20 seconds passed)
1. JTA Timeout = 300 seconds
2. Redelivery Delay Override = 5 seconds
Redelivery Limit: 5
3. Order 100 will go to automated_task which will spawn on multi-instance nodes, there are two such instances
4. thread 1 and 2 of oms.automation start running for order 100
5. thread 1 get order 100 Jboss lock and it will take 250 seconds to finish (system slow)
6. Thread 2 will try to get 100 Jboss lock and JBoss lock timeout 15 seconds later, transaction rollback, 5 seconds later this task thread for order 100 will start again, assume it is still thread 2 of oms.automation (20 seconds passed)
0