GERONIMO-5152 fix usage of timer tasks

git-svn-id: https://svn.apache.org/repos/asf/geronimo/components/txmanager/trunk@912468 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/CommitTask.java b/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/CommitTask.java
index b189683..af95279 100644
--- a/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/CommitTask.java
+++ b/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/CommitTask.java
@@ -38,7 +38,7 @@
 /**
  * @version $Rev$ $Date$
  */
-public class CommitTask extends TimerTask {
+public class CommitTask implements Runnable {
     private static final Logger log = LoggerFactory.getLogger(CommitTask.class);
     private final Xid xid;
     private final List<TransactionBranch> rms;
diff --git a/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/ExponentialtIntervalRetryScheduler.java b/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/ExponentialtIntervalRetryScheduler.java
index 9c3e8c6..77bf114 100644
--- a/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/ExponentialtIntervalRetryScheduler.java
+++ b/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/ExponentialtIntervalRetryScheduler.java
@@ -32,8 +32,22 @@
 
     private final int base = 2;
 
-    public void retry(TimerTask task, int count) {
+    public void retry(Runnable task, int count) {
         long interval = Math.round(Math.pow(base, count)) * 1000;
-        timer.schedule(task, interval);
+        timer.schedule(new TaskWrapper(task), interval);
+    }
+
+    private static class TaskWrapper extends TimerTask {
+
+        private final Runnable delegate;
+
+        private TaskWrapper(Runnable delegate) {
+            this.delegate = delegate;
+        }
+
+        @Override
+        public void run() {
+            delegate.run();
+        }
     }
 }
diff --git a/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/RecoverTask.java b/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/RecoverTask.java
index 3d32b29..2ce0294 100644
--- a/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/RecoverTask.java
+++ b/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/RecoverTask.java
@@ -28,7 +28,7 @@
 /**
  * @version $Rev$ $Date$
  */
-public class RecoverTask extends TimerTask {
+public class RecoverTask implements Runnable {
 
     private final RetryScheduler retryScheduler;
     private final NamedXAResourceFactory namedXAResourceFactory;
diff --git a/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/RetryScheduler.java b/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/RetryScheduler.java
index 4fcdd54..356a8dd 100644
--- a/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/RetryScheduler.java
+++ b/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/RetryScheduler.java
@@ -27,5 +27,5 @@
  */
 public interface RetryScheduler {
 
-    void retry(TimerTask task, int count);
+    void retry(Runnable task, int count);
 }