forked from I2P_Developers/i2p.i2p
* Router: Set killVMOnEnd before runRouter() (for azi2phelper)
* RoutingKeyGenerator: Don't assume UTC (for azi2phelper)
This commit is contained in:
@ -13,6 +13,7 @@ import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.Locale;
|
||||
import java.util.TimeZone;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
@ -64,7 +65,11 @@ public class RoutingKeyGenerator {
|
||||
private final static Calendar _cal = GregorianCalendar.getInstance(TimeZone.getTimeZone("GMT"));
|
||||
private static final String FORMAT = "yyyyMMdd";
|
||||
private static final int LENGTH = FORMAT.length();
|
||||
private final static SimpleDateFormat _fmt = new SimpleDateFormat(FORMAT);
|
||||
private final static SimpleDateFormat _fmt = new SimpleDateFormat(FORMAT, Locale.US);
|
||||
static {
|
||||
// make sure GMT is set, azi2phelper Vuze plugin is disabling static JVM TZ setting in Router.java
|
||||
_fmt.setCalendar(_cal);
|
||||
}
|
||||
|
||||
/**
|
||||
* The current (today's) mod data.
|
||||
|
@ -138,11 +138,27 @@ public class Router implements RouterClock.ClockShiftListener {
|
||||
*/
|
||||
public Router() { this(null, null); }
|
||||
|
||||
/**
|
||||
* Instantiation only. Starts no threads. Does not install updates.
|
||||
* RouterContext is created but not initialized.
|
||||
* You must call runRouter() after any constructor to start things up.
|
||||
*/
|
||||
public Router(Properties envProps) { this(null, envProps); }
|
||||
|
||||
/**
|
||||
* Instantiation only. Starts no threads. Does not install updates.
|
||||
* RouterContext is created but not initialized.
|
||||
* You must call runRouter() after any constructor to start things up.
|
||||
*/
|
||||
public Router(String configFilename) { this(configFilename, null); }
|
||||
|
||||
/**
|
||||
* Instantiation only. Starts no threads. Does not install updates.
|
||||
* RouterContext is created but not initialized.
|
||||
* You must call runRouter() after any constructor to start things up.
|
||||
*/
|
||||
public Router(String configFilename, Properties envProps) {
|
||||
_killVMOnEnd = true;
|
||||
_gracefulExitCode = -1;
|
||||
_config = new ConcurrentHashMap<String, String>();
|
||||
|
||||
@ -307,7 +323,6 @@ public class Router implements RouterClock.ClockShiftListener {
|
||||
_log = _context.logManager().getLog(Router.class);
|
||||
_log.info("New router created with config file " + _configFilename);
|
||||
//_sessionKeyPersistenceHelper = new SessionKeyPersistenceHelper(_context);
|
||||
_killVMOnEnd = true;
|
||||
_oomListener = new OOMListener(_context);
|
||||
|
||||
_shutdownHook = new ShutdownHook(_context);
|
||||
@ -333,7 +348,7 @@ public class Router implements RouterClock.ClockShiftListener {
|
||||
/**
|
||||
* Configure the router to kill the JVM when the router shuts down, as well
|
||||
* as whether to explicitly halt the JVM during the hard fail process.
|
||||
*
|
||||
* Defaults to true. Set to false for embedded before calling runRouter()
|
||||
*/
|
||||
public void setKillVMOnEnd(boolean shouldDie) { _killVMOnEnd = shouldDie; }
|
||||
|
||||
@ -429,7 +444,10 @@ public class Router implements RouterClock.ClockShiftListener {
|
||||
/**
|
||||
* This must be called after instantiation.
|
||||
* Starts the threads. Does not install updates.
|
||||
* Most users will just call main() instead.
|
||||
* This is for embedded use.
|
||||
* Standard standalone installation uses main() instead, which
|
||||
* checks for updates and then calls this.
|
||||
*
|
||||
* @since public as of 0.9 for Android and other embedded uses
|
||||
*/
|
||||
public synchronized void runRouter() {
|
||||
@ -1108,6 +1126,8 @@ public class Router implements RouterClock.ClockShiftListener {
|
||||
/**
|
||||
* Usage: Router [rebuild]
|
||||
* No other options allowed, for now
|
||||
* Instantiates Router(), and either installs updates and exits,
|
||||
* or calls runRouter().
|
||||
*
|
||||
* @param args null ok
|
||||
* @throws IllegalArgumentException
|
||||
|
Reference in New Issue
Block a user