summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2015-06-17 21:17:55 +0200
committerBenoit Foucher <benoit@zeroc.com>2015-06-17 21:17:55 +0200
commit9b12ee6b394e046023b4836a2a5288db6ee32c3b (patch)
tree46a2ded2b285cb6786b1b94a7f285d82970ac8fb /java
parentICE-6605 Fixed android tests to work with Java 1.8 (diff)
downloadice-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')
-rw-r--r--java/src/Ice/src/main/java/Ice/PluginManagerI.java16
-rw-r--r--java/src/IceDiscovery/src/main/java/IceDiscovery/PluginI.java2
-rw-r--r--java/src/IceLocatorDiscovery/src/main/java/IceLocatorDiscovery/PluginI.java2
-rw-r--r--java/test/src/main/java/test/Ice/plugin/Client.java8
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");