From 21126f766cb081e57c3c1c29e2a44b699c56b059 Mon Sep 17 00:00:00 2001 From: jrandom <jrandom> Date: Sat, 31 Jul 2004 04:15:09 +0000 Subject: [PATCH] put the adminManager in the context so we can control it (and in turn, restart it) --- router/java/src/net/i2p/router/Router.java | 3 +++ router/java/src/net/i2p/router/RouterContext.java | 10 +++++++++- router/java/src/net/i2p/router/startup/StartupJob.java | 2 -- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/router/java/src/net/i2p/router/Router.java b/router/java/src/net/i2p/router/Router.java index 9fbd6a7aa6..3a2c2c3128 100644 --- a/router/java/src/net/i2p/router/Router.java +++ b/router/java/src/net/i2p/router/Router.java @@ -154,6 +154,7 @@ public class Router { warmupCrypto(); _sessionKeyPersistenceHelper.startup(); _context.jobQueue().addJob(new StartupJob(_context)); + _context.adminManager().startup(); } public boolean isAlive() { return _isAlive; } @@ -493,6 +494,7 @@ public class Router { _isAlive = false; I2PThread.removeOOMEventListener(_oomListener); try { _context.jobQueue().shutdown(); } catch (Throwable t) { _log.log(Log.CRIT, "Error shutting down the job queue", t); } + try { _context.adminManager().shutdown(); } catch (Throwable t) { _log.log(Log.CRIT, "Error shutting down the admin manager", t); } try { _context.statPublisher().shutdown(); } catch (Throwable t) { _log.log(Log.CRIT, "Error shutting down the stats manager", t); } try { _context.clientManager().shutdown(); } catch (Throwable t) { _log.log(Log.CRIT, "Error shutting down the client manager", t); } try { _context.tunnelManager().shutdown(); } catch (Throwable t) { _log.log(Log.CRIT, "Error shutting down the tunnel manager", t); } @@ -537,6 +539,7 @@ public class Router { _isAlive = false; try { _context.commSystem().restart(); } catch (Throwable t) { _log.log(Log.CRIT, "Error restarting the comm system", t); } + try { _context.adminManager().restart(); } catch (Throwable t) { _log.log(Log.CRIT, "Error restarting the client manager", t); } try { _context.clientManager().restart(); } catch (Throwable t) { _log.log(Log.CRIT, "Error restarting the client manager", t); } try { _context.tunnelManager().restart(); } catch (Throwable t) { _log.log(Log.CRIT, "Error restarting the tunnel manager", t); } try { _context.peerManager().restart(); } catch (Throwable t) { _log.log(Log.CRIT, "Error restarting the peer manager", t); } diff --git a/router/java/src/net/i2p/router/RouterContext.java b/router/java/src/net/i2p/router/RouterContext.java index bcce250bd8..9c0b8a30de 100644 --- a/router/java/src/net/i2p/router/RouterContext.java +++ b/router/java/src/net/i2p/router/RouterContext.java @@ -6,6 +6,7 @@ import java.util.Properties; import net.i2p.I2PAppContext; import net.i2p.data.Hash; +import net.i2p.router.admin.AdminManager; import net.i2p.router.client.ClientManagerFacadeImpl; import net.i2p.router.networkdb.kademlia.KademliaNetworkDatabaseFacade; import net.i2p.router.peermanager.Calculator; @@ -33,6 +34,7 @@ import net.i2p.router.tunnelmanager.PoolingTunnelManagerFacade; */ public class RouterContext extends I2PAppContext { private Router _router; + private AdminManager _adminManager; private ClientManagerFacade _clientManagerFacade; private ClientMessagePool _clientMessagePool; private JobQueue _jobQueue; @@ -69,6 +71,7 @@ public class RouterContext extends I2PAppContext { _contexts.add(this); } private void initAll() { + _adminManager = new AdminManager(this); _clientManagerFacade = new ClientManagerFacadeImpl(this); _clientMessagePool = new ClientMessagePool(this); _jobQueue = new JobQueue(this); @@ -112,7 +115,12 @@ public class RouterContext extends I2PAppContext { public Router router() { return _router; } /** convenience method for querying the router's ident */ public Hash routerHash() { return _router.getRouterInfo().getIdentity().getHash(); } - + + /** + * Controls a basic admin interface + * + */ + public AdminManager adminManager() { return _adminManager; } /** * How are we coordinating clients for the router? */ diff --git a/router/java/src/net/i2p/router/startup/StartupJob.java b/router/java/src/net/i2p/router/startup/StartupJob.java index bdc325162d..c12872c084 100644 --- a/router/java/src/net/i2p/router/startup/StartupJob.java +++ b/router/java/src/net/i2p/router/startup/StartupJob.java @@ -11,7 +11,6 @@ package net.i2p.router.startup; import net.i2p.router.JobImpl; import net.i2p.router.RouterContext; -import net.i2p.router.admin.AdminManager; /** * The StartupJob should be run once on router startup to initialize the system @@ -35,7 +34,6 @@ public class StartupJob extends JobImpl { public String getName() { return "Startup Router"; } public void runJob() { ReadConfigJob.doRead(getContext()); - new AdminManager(getContext()).startup(); getContext().jobQueue().addJob(new LoadClientAppsJob(getContext())); getContext().statPublisher().startup(); getContext().jobQueue().addJob(new LoadRouterInfoJob(getContext())); -- GitLab