diff options
Diffstat (limited to 'java/src/IceInternal/Instance.java')
-rw-r--r-- | java/src/IceInternal/Instance.java | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/java/src/IceInternal/Instance.java b/java/src/IceInternal/Instance.java index b285a643822..4bfe313538f 100644 --- a/java/src/IceInternal/Instance.java +++ b/java/src/IceInternal/Instance.java @@ -21,21 +21,33 @@ public final class Instance @Override public void updateConnectionObservers() { - _instance.outgoingConnectionFactory().updateConnectionObservers(); - _instance.objectAdapterFactory().updateConnectionObservers(); + try + { + _instance.outgoingConnectionFactory().updateConnectionObservers(); + _instance.objectAdapterFactory().updateConnectionObservers(); + } + catch(Ice.CommunicatorDestroyedException ex) + { + } } @Override public void updateThreadObservers() { - _instance.clientThreadPool().updateObservers(); - ThreadPool serverThreadPool = _instance.serverThreadPool(false); - if(serverThreadPool != null) + try + { + _instance.clientThreadPool().updateObservers(); + ThreadPool serverThreadPool = _instance.serverThreadPool(false); + if(serverThreadPool != null) + { + serverThreadPool.updateObservers(); + } + _instance.objectAdapterFactory().updateThreadObservers(); + _instance.endpointHostResolver().updateObserver(); + } + catch(Ice.CommunicatorDestroyedException ex) { - serverThreadPool.updateObservers(); } - _instance.objectAdapterFactory().updateThreadObservers(); - _instance.endpointHostResolver().updateObserver(); } final private Instance _instance; |