It seems that it is actually a lease / renew problem for MDB.
After look into the source code of JBoss remoting, it seems that the Messaging simply
removes the client connection endpoint when it is notified by the jboss remoting.Lease
class. The Lease class has a timer that checks if the client has renewed its lease or not.
If not, it considers it as a dead connection and notifies the Messaging callback
listener:
private class LeaseTimerTask extends TimerTask
| {
|
| protected boolean running = true;
|
| /**
| * The action to be performed by this timer task.
| */
| public void execute()
| {
| if(running)
| {
| if(leaseUpdated)
| {
| leaseUpdated = false;
| leaseTimer.schedule(this, leaseWindow);
| }
| else
| {
| stopLease();
| notifier.connectionLost(locatorURL, clientSessionId, requestPayload);
| }
| }
| }
| }
|
My question is then: how to configure Messaging to auto renew its connection lease on a
deployed MDB? I looked into the jboss-messaging.sar\remoting-service.xml and there is a
leasePeriod setting. I am not sure how to change it, as MDB would require an infinite
lease period then.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4009158#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...