diff --git a/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java b/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java index 8b28164a1b..06f2e019ca 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java @@ -8,6 +8,7 @@ import java.net.URLClassLoader; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -537,6 +538,7 @@ public class PluginStarter implements Runnable { if (files[i].isDirectory()) rv.add(files[i].getName()); } + Collections.sort(rv); // ensure the list is in sorted order. return rv; } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/PluginStopper.java b/apps/routerconsole/java/src/net/i2p/router/web/PluginStopper.java index ca81463d04..16e1e8e4cd 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/PluginStopper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/PluginStopper.java @@ -1,5 +1,7 @@ package net.i2p.router.web; +import java.util.Collections; +import java.util.List; import net.i2p.router.RouterContext; import net.i2p.util.Log; @@ -27,7 +29,9 @@ public class PluginStopper extends PluginStarter { */ private static void stopPlugins(RouterContext ctx) { Log log = ctx.logManager().getLog(PluginStopper.class); - for (String app : getPlugins()) { + List pl = getPlugins(); + Collections.reverse(pl); // reverse the order + for (String app : pl) { if (isPluginRunning(app, ctx)) { try { stopPlugin(ctx, app); diff --git a/history.txt b/history.txt index 3e2bcbca76..b78ed20897 100644 --- a/history.txt +++ b/history.txt @@ -1,5 +1,6 @@ 2012-03-19 sponge - * Plugins: less confusing message, fix CNFE by catch and ignore on delete. + * Plugins: Less confusing message, fix CNFE by catch and ignore on delete. + Order and reverse order plugin names for start/stop all cases. 2012-03-17 zzz * BuildHandler: Implement restart and shutdown to stop the thread