Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.1.2
-
None
-
Advanced
Description
when running a mass test against a CXF/JMS endpoint we discovered that our solution was disposing of messages. On further investigation we discovered that the code in the JMSListenerThread when it runs out of threads on the workqueue doesn't loop like the comment suggests but rather disposes of the message.
We altered the code to follow the comments advice (shown below) and now it calls into the code held in the else statement (which just runs the message in the listener thread, maybe not ideal from an architectural viewpoint but we don't lose messages).
//FIXME - no room left on workqueue, what to do
//for now, loop until it WILL fit on the queue,
//although we could just dispatch on this thread.