diff options
author | Benoit Foucher <benoit@zeroc.com> | 2015-06-17 21:17:55 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2015-06-17 21:17:55 +0200 |
commit | 9b12ee6b394e046023b4836a2a5288db6ee32c3b (patch) | |
tree | 46a2ded2b285cb6786b1b94a7f285d82970ac8fb /java | |
parent | ICE-6605 Fixed android tests to work with Java 1.8 (diff) | |
download | ice-9b12ee6b394e046023b4836a2a5288db6ee32c3b.tar.bz2 ice-9b12ee6b394e046023b4836a2a5288db6ee32c3b.tar.xz ice-9b12ee6b394e046023b4836a2a5288db6ee32c3b.zip |
The communicator now catch exceptions raised by plugin initialize and raise PluginInitializationException instead
Diffstat (limited to 'java')
4 files changed, 21 insertions, 7 deletions
diff --git a/java/src/Ice/src/main/java/Ice/PluginManagerI.java b/java/src/Ice/src/main/java/Ice/PluginManagerI.java index e2f7beb1f6b..b82c9cc3e45 100644 --- a/java/src/Ice/src/main/java/Ice/PluginManagerI.java +++ b/java/src/Ice/src/main/java/Ice/PluginManagerI.java @@ -32,7 +32,21 @@ public final class PluginManagerI implements PluginManager { for(PluginInfo p : _plugins) { - p.plugin.initialize(); + try + { + p.plugin.initialize(); + } + catch(Ice.PluginInitializationException ex) + { + throw ex; + } + catch(RuntimeException ex) + { + PluginInitializationException e = new PluginInitializationException(); + e.reason = "plugin `" + p.name + "' initialization failed"; + e.initCause(ex); + throw e; + } initializedPlugins.add(p.plugin); } } diff --git a/java/src/IceDiscovery/src/main/java/IceDiscovery/PluginI.java b/java/src/IceDiscovery/src/main/java/IceDiscovery/PluginI.java index 6fd030fc59a..0afc4d7f915 100644 --- a/java/src/IceDiscovery/src/main/java/IceDiscovery/PluginI.java +++ b/java/src/IceDiscovery/src/main/java/IceDiscovery/PluginI.java @@ -94,7 +94,7 @@ public class PluginI implements Ice.Plugin catch(Ice.LocalException ex) { StringBuilder b = new StringBuilder(); - b.append("unable to establish multicast connection, IceDiscovery will be disabled:\n"); + b.append("IceDiscovery is unable to establish a multicast connection:\n"); b.append("proxy = "); b.append(lookupPrx.toString()); b.append('\n'); diff --git a/java/src/IceLocatorDiscovery/src/main/java/IceLocatorDiscovery/PluginI.java b/java/src/IceLocatorDiscovery/src/main/java/IceLocatorDiscovery/PluginI.java index bbe3fd148ff..c93d4f19df3 100644 --- a/java/src/IceLocatorDiscovery/src/main/java/IceLocatorDiscovery/PluginI.java +++ b/java/src/IceLocatorDiscovery/src/main/java/IceLocatorDiscovery/PluginI.java @@ -379,7 +379,7 @@ class PluginI implements Ice.Plugin catch(Ice.LocalException ex) { StringBuilder s = new StringBuilder(); - s.append("unable to establish multicast connection, Ice locator discovery will be disabled:\n"); + s.append("IceLocatorDiscovery is unable to establish a multicast connection:\n"); s.append("proxy = ").append(lookupPrx.toString()).append("\n").append(ex); throw new Ice.PluginInitializationException(s.toString()); } diff --git a/java/test/src/main/java/test/Ice/plugin/Client.java b/java/test/src/main/java/test/Ice/plugin/Client.java index 2397d0d46c0..a4aa05fffc6 100644 --- a/java/test/src/main/java/test/Ice/plugin/Client.java +++ b/java/test/src/main/java/test/Ice/plugin/Client.java @@ -59,9 +59,9 @@ public class Client extends test.Util.Application communicator = Ice.Util.initialize(args, initData); test(false); } - catch(RuntimeException ex) + catch(Ice.PluginInitializationException ex) { - test(ex.getMessage().equals("PluginInitializeFailException")); + test(ex.getCause().getMessage().equals("PluginInitializeFailException")); } test(communicator == null); printWriter.println("ok"); @@ -142,9 +142,9 @@ public class Client extends test.Util.Application initData.properties.setProperty("Ice.PluginLoadOrder", "PluginOneFail, PluginTwoFail, PluginThreeFail"); communicator = Ice.Util.initialize(args, initData); } - catch(RuntimeException ex) + catch(Ice.PluginInitializationException ex) { - test(ex.getMessage().equals("PluginInitializeFailException")); + test(ex.getCause().getMessage().equals("PluginInitializeFailException")); } test(communicator == null); printWriter.println("ok"); |