Hi!

Its mee again. 
I spend arround 5 hours now digging in JBM code to find out why my system 
behaves as it does.

Testenvironment:
- One local persistent Queue with a lot of messages in.
- An EJB3 MDB attached to the Queue using maxSession and maxMessages set to 1
- redelivery is set to MDBs default (5 think)
- JBM 1.4.0 SP3 on 4.2.1 GA

To test Logic errors and the ways JBM handles exceptions I set 
context.setRollbackOnly() while handling the messages in my MDB onMessage() 
method. 


What I thought is this behaviour of Message A B C....:
A -> fail
A ->  fail
A ->  fail
A ->  fail
A ->  fail -> DLQ
B ->  fail 
B ->  fail 
B ->  fail 
B ->  fail 
B ->  fail -> DLQ
and so on

But what happens is always a handling of 2 messages:
A -> fail
B -> fail
A -> fail
B -> fail
A -> fail
B -> fail
A -> fail
B -> fail
A -> fail -> DLQ
B -> fail -> DLQ
C -> fail
D -> fail 
C -> fail
D -> fail 
and so on...

While debugging and tracing I see that the ClientConsumer
calls removeFirst() on the  BasicPriorityLinkedList from 2 Threads and in 
twisting manner the   addFirst() and removeFirst() which lead in this A,B,A,B 
order.

What can I do to have this AAAABBBB handling?

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4159467#4159467

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4159467
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to