1 The MessageingPostOffice need a readwritelock to handle msg,such as
route,binding,removeBinding.
2 Once find a route,get readwritelock,it is using MessagingQueue to handle the
msg(Delivery handle(DeliveryObserver observer, MessageReference reference, Transaction
tx)).
3 while handdling msg,the Correspond MessagingQueue require a lock to deliver msg.
4 Then using RoundRobin policy choose one ServerSessionEndpoint to deliver msg by
Remoting's bisocket.The serverSeeionEndpoint synchronize the method of
handleDelivery.
The question is that,one thread hung at step 4 due to no tcp buffer(4557 port recv window
is zero) to write bytes.The other thead need a lock to process bytes on port 4557.It is
the reason of deadlock,if not using bisocket may resolve the problem?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4191577#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...