[
http://jira.jboss.com/jira/browse/JBREM-1005?page=comments#action_12419150 ]
Ron Sigal commented on JBREM-1005:
----------------------------------
Two changes have been made for
org.jboss.remoting.transport.bisocket.BisocketClientInvoker.PingTimerTask and
BisocketServerInvoker.ControlMonitorTimerTask.
1. if "pingFrequency" is set to a value <= 0, the TimerTasks will not be
created;
2. when the TimerTasks are shut down, they will call Timer.purge() right after calling
super.cancel().
The changes have been made on the 2.2 and 2.x branches.
Unit test: org.jboss.test.remoting.transport.bisocket.timertask.TimerTaskTestCase.
The test passes on both branches. Waiting for hudson results.
Prevent build up of cancelled TimerTasks in bisocket transport
--------------------------------------------------------------
Key: JBREM-1005
URL:
http://jira.jboss.com/jira/browse/JBREM-1005
Project: JBoss Remoting
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 2.4.0.GA (Pinto), 2.2.2.SP8
Reporter: Ron Sigal
Assigned To: Ron Sigal
Fix For: 2.4.0.SP1, 2.2.2.SP9
The behavior of java.util.Timer and java.util.TimerThread is such that a cancelled
java.util.TimerTask is removed from the Timer's queue the next time it is executed
after being cancelled. JBossMessaging has effectively disabled the bisocket control
connection ping mechanism by setting the parameter "pingFrequency" to 214748364,
which means that the
org.jboss.remoting.transport.bisocket.BisocketServerInvoker.ControlMonitorTimerTask gets
created but essentially "never" runs. So when a JBM connection closes, it also
shuts down the Remoting bisocket connection, which causes the ControlMonitorTimerTask to
get cancelled, but it remains in the Timer queue "forever".
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira