Author: shawkins
Date: 2009-03-30 19:11:41 -0400 (Mon, 30 Mar 2009)
New Revision: 669
Modified:
trunk/common-internal/src/main/java/com/metamatrix/common/queue/WorkerPoolFactory.java
Log:
TEIID-445 refinement of cancellation
Modified:
trunk/common-internal/src/main/java/com/metamatrix/common/queue/WorkerPoolFactory.java
===================================================================
---
trunk/common-internal/src/main/java/com/metamatrix/common/queue/WorkerPoolFactory.java 2009-03-30
22:31:07 UTC (rev 668)
+++
trunk/common-internal/src/main/java/com/metamatrix/common/queue/WorkerPoolFactory.java 2009-03-30
23:11:41 UTC (rev 669)
@@ -86,9 +86,6 @@
private static ScheduledThreadPoolExecutor stpe = new ScheduledThreadPoolExecutor(1, new
NamedThreadFactory("Scheduler")); //$NON-NLS-1$
- /**
- * TODO: purge user canceled scheduled tasks.
- */
static class StatsCapturingSharedThreadPoolExecutor implements WorkerPool {
class ScheduledFutureTask extends FutureTask<Void> implements
ScheduledFuture<Void> {
@@ -119,6 +116,7 @@
@Override
public boolean cancel(boolean mayInterruptIfRunning) {
this.scheduledFuture.cancel(false);
+ scheduledTasks.remove(this);
return super.cancel(mayInterruptIfRunning);
}