summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2019-08-30 12:06:08 +0200
committerBenoit Foucher <benoit@zeroc.com>2019-08-30 12:06:08 +0200
commit552d3e916337b7fedec06b05b0f78d9ab3084dc2 (patch)
tree1846d3b0ae27163cac0191fd305f93fb77005eaf /java
parentFixed Ice/admin test to not wait indefinitely, fixes #343 (diff)
downloadice-552d3e916337b7fedec06b05b0f78d9ab3084dc2.tar.bz2
ice-552d3e916337b7fedec06b05b0f78d9ab3084dc2.tar.xz
ice-552d3e916337b7fedec06b05b0f78d9ab3084dc2.zip
Fixed IceBox exception handling, fixes #486
Diffstat (limited to 'java')
-rw-r--r--java/src/IceBox/src/main/java/com/zeroc/IceBox/ServiceManagerI.java23
1 files changed, 11 insertions, 12 deletions
diff --git a/java/src/IceBox/src/main/java/com/zeroc/IceBox/ServiceManagerI.java b/java/src/IceBox/src/main/java/com/zeroc/IceBox/ServiceManagerI.java
index 6395e333fe5..b9fde6d039a 100644
--- a/java/src/IceBox/src/main/java/com/zeroc/IceBox/ServiceManagerI.java
+++ b/java/src/IceBox/src/main/java/com/zeroc/IceBox/ServiceManagerI.java
@@ -391,19 +391,10 @@ public class ServiceManagerI implements ServiceManager
// Start Admin (if enabled) and/or deprecated IceBox.ServiceManager OA
//
_communicator.addAdminFacet(this, "IceBox.ServiceManager");
- try
+ _communicator.getAdmin();
+ if(adapter != null)
{
- _communicator.getAdmin();
- if(adapter != null)
- {
- adapter.activate();
- }
- }
- catch(com.zeroc.Ice.ObjectAdapterDeactivatedException ex)
- {
- //
- // Expected if the communicator has been shutdown.
- //
+ adapter.activate();
}
//
@@ -435,6 +426,14 @@ public class ServiceManagerI implements ServiceManager
_logger.error(sw.toString());
return 1;
}
+ catch(com.zeroc.Ice.CommunicatorDestroyedException ex)
+ {
+ // Expected if the communicator is shutdown by the shutdown hook
+ }
+ catch(com.zeroc.Ice.ObjectAdapterDeactivatedException ex)
+ {
+ // Expected if the communicator is shutdown by the shutdown hook
+ }
catch(Throwable ex)
{
java.io.StringWriter sw = new java.io.StringWriter();