summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2003-03-31 18:56:43 +0000
committerBenoit Foucher <benoit@zeroc.com>2003-03-31 18:56:43 +0000
commit11552b9bdf4221b54c11d1edac56ace223ef7070 (patch)
treec72b211689216317b9f64f1a73f16557a34abef5 /java/src
parentIceStorm changes (diff)
downloadice-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.java12
-rw-r--r--java/src/IceInternal/ThreadPool.java8
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;
}