diff options
author | Benoit Foucher <benoit@zeroc.com> | 2003-03-31 18:56:43 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2003-03-31 18:56:43 +0000 |
commit | 11552b9bdf4221b54c11d1edac56ace223ef7070 (patch) | |
tree | c72b211689216317b9f64f1a73f16557a34abef5 /java/src | |
parent | IceStorm changes (diff) | |
download | ice-11552b9bdf4221b54c11d1edac56ace223ef7070.tar.bz2 ice-11552b9bdf4221b54c11d1edac56ace223ef7070.tar.xz ice-11552b9bdf4221b54c11d1edac56ace223ef7070.zip |
Correctly handle CommunicatorDestroyedException when calling
Instance::objectAdapterFactory()
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/ObjectPrxHelper.java | 12 | ||||
-rw-r--r-- | java/src/IceInternal/ThreadPool.java | 8 |
2 files changed, 7 insertions, 13 deletions
diff --git a/java/src/Ice/ObjectPrxHelper.java b/java/src/Ice/ObjectPrxHelper.java index a0ce5e5d2f7..63d3330e1fd 100644 --- a/java/src/Ice/ObjectPrxHelper.java +++ b/java/src/Ice/ObjectPrxHelper.java @@ -672,17 +672,7 @@ public class ObjectPrxHelper implements ObjectPrx { if(_reference.collocationOptimization) { - IceInternal.ObjectAdapterFactory objectAdapterFactory = _reference.instance.objectAdapterFactory(); - - // - // Instance components may be null if communicator has been destroyed. - // - if(objectAdapterFactory == null) - { - throw new CommunicatorDestroyedException(); - } - - ObjectAdapter adapter = objectAdapterFactory.findObjectAdapter(this); + ObjectAdapter adapter = _reference.instance.objectAdapterFactory().findObjectAdapter(this); if(adapter != null) { _ObjectDelD delegate = __createDelegateD(); diff --git a/java/src/IceInternal/ThreadPool.java b/java/src/IceInternal/ThreadPool.java index 6aaa8af9c0b..4dba5aec090 100644 --- a/java/src/IceInternal/ThreadPool.java +++ b/java/src/IceInternal/ThreadPool.java @@ -600,8 +600,12 @@ public final class ThreadPool trace("shutdown detected"); } - ObjectAdapterFactory factory = _instance.objectAdapterFactory(); - if(factory == null) + ObjectAdapterFactory factory; + try + { + factory = _instance.objectAdapterFactory(); + } + catch(Ice.CommunicatorDestroyedException e) { continue; } |