summaryrefslogtreecommitdiff
path: root/java/src
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/src
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/src')
-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
3 files changed, 17 insertions, 3 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());
}