[jboss-cvs] JBoss Messaging SVN: r7551 - trunk/src/main/org/jboss/messaging/integration/transports/netty.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jul 9 10:39:05 EDT 2009
Author: jmesnil
Date: 2009-07-09 10:39:05 -0400 (Thu, 09 Jul 2009)
New Revision: 7551
Modified:
trunk/src/main/org/jboss/messaging/integration/transports/netty/HttpKeepAliveTask.java
trunk/src/main/org/jboss/messaging/integration/transports/netty/NettyConnector.java
Log:
make sure HTTP TimerTasks can not be run after they have been canceled
Modified: trunk/src/main/org/jboss/messaging/integration/transports/netty/HttpKeepAliveTask.java
===================================================================
--- trunk/src/main/org/jboss/messaging/integration/transports/netty/HttpKeepAliveTask.java 2009-07-09 13:59:37 UTC (rev 7550)
+++ trunk/src/main/org/jboss/messaging/integration/transports/netty/HttpKeepAliveTask.java 2009-07-09 14:39:05 UTC (rev 7551)
@@ -32,9 +32,15 @@
public class HttpKeepAliveTask extends TimerTask
{
private final List<HttpAcceptorHandler> handlers = new ArrayList<HttpAcceptorHandler>();
+ private boolean closed = false;
public synchronized void run()
{
+ if (closed)
+ {
+ return;
+ }
+
long time = System.currentTimeMillis();
for (HttpAcceptorHandler handler : handlers)
{
@@ -54,6 +60,8 @@
public synchronized boolean cancel()
{
+ closed = true;
+
return super.cancel();
}
}
Modified: trunk/src/main/org/jboss/messaging/integration/transports/netty/NettyConnector.java
===================================================================
--- trunk/src/main/org/jboss/messaging/integration/transports/netty/NettyConnector.java 2009-07-09 13:59:37 UTC (rev 7550)
+++ trunk/src/main/org/jboss/messaging/integration/transports/netty/NettyConnector.java 2009-07-09 14:39:05 UTC (rev 7551)
@@ -544,10 +544,15 @@
private class HttpIdleTimerTask extends TimerTask
{
- long currentTime = System.currentTimeMillis();
+ private boolean closed = false;
public synchronized void run()
{
+ if (closed)
+ {
+ return;
+ }
+
if (!waitingGet && System.currentTimeMillis() > lastSendTime + httpMaxClientIdleTime)
{
HttpRequest httpRequest = new DefaultHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.GET, url);
@@ -558,6 +563,8 @@
public synchronized boolean cancel()
{
+ closed = true;
+
return super.cancel();
}
}
More information about the jboss-cvs-commits
mailing list