diff --git a/src/java/com/threerings/presents/server/PresentsDObjectMgr.java b/src/java/com/threerings/presents/server/PresentsDObjectMgr.java index f78c9bffa..ddb01e87a 100644 --- a/src/java/com/threerings/presents/server/PresentsDObjectMgr.java +++ b/src/java/com/threerings/presents/server/PresentsDObjectMgr.java @@ -131,9 +131,6 @@ public class PresentsDObjectMgr } }); - // also tell the report manager that we're providing the runqueue for it to do its business - repmgr.init(this); - // register our event helpers registerEventHelpers(); } diff --git a/src/java/com/threerings/presents/server/PresentsServer.java b/src/java/com/threerings/presents/server/PresentsServer.java index 96dc53526..1b75b65d3 100644 --- a/src/java/com/threerings/presents/server/PresentsServer.java +++ b/src/java/com/threerings/presents/server/PresentsServer.java @@ -258,9 +258,6 @@ public class PresentsServer /** Handles orderly initialization and shutdown of our managers, etc. */ @Inject protected Lifecycle _lifecycle; - /** Handles generation of state of the server reports. */ - @Inject protected ReportManager _repmgr; - /** Used to invoke background tasks that should not be allowed to tie up the distributed object * manager thread (generally talking to databases and other relatively slow entities). */ @Inject @MainInvoker protected Invoker _invoker; diff --git a/src/java/com/threerings/presents/server/ReportManager.java b/src/java/com/threerings/presents/server/ReportManager.java index 798f4a4c4..8d8ee22f1 100644 --- a/src/java/com/threerings/presents/server/ReportManager.java +++ b/src/java/com/threerings/presents/server/ReportManager.java @@ -23,6 +23,7 @@ package com.threerings.presents.server; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; +import com.google.inject.Inject; import com.google.inject.Singleton; import com.samskivert.util.Interval; @@ -62,12 +63,12 @@ public class ReportManager public static final String PROFILE_TYPE = "profile"; /** - * Starts up our periodic report generation task on the supplied run queue. + * Starts up our periodic report generation task. */ - public void init (RunQueue rqueue) + public void activatePeriodicReport () { // queue up an interval which will generate reports - _reportInterval = new Interval(rqueue) { + _reportInterval = new Interval(_omgr) { @Override public void expired () { logReport(LOG_REPORT_HEADER + @@ -187,6 +188,9 @@ public class ReportManager /** Used to generate "state of server" reports. */ protected Multimap _reporters = ArrayListMultimap.create(); + // dependencies + @Inject protected PresentsDObjectMgr _omgr; + /** The frequency with which we generate "state of server" reports. */ protected static final long REPORT_INTERVAL = 15 * 60 * 1000L;