From 5783500a67fea05de7f8b2eac2072000a7a1e750 Mon Sep 17 00:00:00 2001 From: mdb Date: Tue, 10 Jul 2007 22:12:12 +0000 Subject: [PATCH] Make Interval constructor lenient about the RunQueue it's passed. Caveat operarius. git-svn-id: https://samskivert.googlecode.com/svn/trunk@2128 6335cc39-0255-0410-8fd6-9bcaacd3b74c --- src/java/com/samskivert/servlet/user/UserManager.java | 5 ++--- src/java/com/samskivert/util/Interval.java | 7 ++----- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/java/com/samskivert/servlet/user/UserManager.java b/src/java/com/samskivert/servlet/user/UserManager.java index 24897e52..f0088c59 100644 --- a/src/java/com/samskivert/servlet/user/UserManager.java +++ b/src/java/com/samskivert/servlet/user/UserManager.java @@ -111,7 +111,7 @@ public class UserManager * * @param pruneQueue an optional run queue on which to run our periodic session pruning task. */ - public void init (Properties config, ConnectionProvider conprov, final RunQueue pruneQueue) + public void init (Properties config, ConnectionProvider conprov, RunQueue pruneQueue) throws PersistenceException { // save this for later @@ -139,8 +139,7 @@ public class UserManager } // register a cron job to prune the session table every hour - _pruner = new Interval() { - { _runQueue = pruneQueue; } // blame Ray for being draconian in Interval's constructor + _pruner = new Interval(pruneQueue) { public void expired () { try { _repository.pruneSessions(); diff --git a/src/java/com/samskivert/util/Interval.java b/src/java/com/samskivert/util/Interval.java index 42108266..c24e4a59 100644 --- a/src/java/com/samskivert/util/Interval.java +++ b/src/java/com/samskivert/util/Interval.java @@ -63,18 +63,15 @@ public abstract class Interval */ public Interval () { + this(null); } /** * Create an Interval that uses the specified {@link RunQueue} to run the {@link #expired} - * method. + * method. If null is supplied the interval will be run directly on the timer thread. */ public Interval (RunQueue runQueue) { - if (runQueue == null) { - throw new NullPointerException("RunQueue cannot be null, " + - "use other constructor if you want a simple Interval."); - } _runQueue = runQueue; }