diff options
author | Marc Laukien <marc@zeroc.com> | 2004-02-20 17:44:41 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2004-02-20 17:44:41 +0000 |
commit | f86bb34ec33de67fcc569d1f8cf6df2a6b7af6ad (patch) | |
tree | 520786ae72c4376b505f21f8adf9f5ea522cf9bf /java/src/Ice/ObjectPrxHelper.java | |
parent | Win32 fixes (diff) | |
download | ice-f86bb34ec33de67fcc569d1f8cf6df2a6b7af6ad.tar.bz2 ice-f86bb34ec33de67fcc569d1f8cf6df2a6b7af6ad.tar.xz ice-f86bb34ec33de67fcc569d1f8cf6df2a6b7af6ad.zip |
C++ -> Java
Diffstat (limited to 'java/src/Ice/ObjectPrxHelper.java')
-rw-r--r-- | java/src/Ice/ObjectPrxHelper.java | 70 |
1 files changed, 11 insertions, 59 deletions
diff --git a/java/src/Ice/ObjectPrxHelper.java b/java/src/Ice/ObjectPrxHelper.java index 4b7037a7bc4..07f850ab756 100644 --- a/java/src/Ice/ObjectPrxHelper.java +++ b/java/src/Ice/ObjectPrxHelper.java @@ -225,8 +225,8 @@ public class ObjectPrxHelper implements ObjectPrx { try { - _ObjectDel __del = __getDelegate(); - __del.ice_invoke_async(cb, operation, mode, inParams, context); +// _ObjectDel __del = __getDelegate(); +// __del.ice_invoke_async(cb, operation, mode, inParams, context); return; } catch(LocalException __ex) @@ -623,63 +623,15 @@ public class ObjectPrxHelper implements ObjectPrx _reference.locatorInfo.clearObjectCache(_reference); } - ++cnt; - - IceInternal.TraceLevels traceLevels = _reference.instance.traceLevels(); - Logger logger = _reference.instance.logger(); - IceInternal.ProxyFactory proxyFactory = _reference.instance.proxyFactory(); - - // - // Instance components may be null if Communicator has been destroyed. - // - if(traceLevels != null && logger != null && proxyFactory != null) - { - int[] retryIntervals = proxyFactory.getRetryIntervals(); - - if(cnt > retryIntervals.length) - { - if(traceLevels.retry >= 1) - { - String s = "cannot retry operation call because retry limit has been exceeded\n" + ex.toString(); - logger.trace(traceLevels.retryCat, s); - } - throw ex; - } - - if(traceLevels.retry >= 1) - { - String s = "re-trying operation call"; - if(cnt > 0 && retryIntervals[cnt - 1] > 0) - { - s += " in " + retryIntervals[cnt - 1] + "ms"; - } - s += " because of exception\n" + ex; - logger.trace(traceLevels.retryCat, s); - } - - if(cnt > 0) - { - // - // Sleep before retrying. - // - try - { - Thread.currentThread().sleep(retryIntervals[cnt - 1]); - } - catch(InterruptedException ex1) - { - } - } - - return cnt; - } - else - { - // - // Impossible to retry after Communicator has been destroyed. - // - throw ex; - } + IceInternal.ProxyFactory proxyFactory = _reference.instance.proxyFactory(); + if(proxyFactory != null) + { + return proxyFactory.checkRetryAfterException(ex, cnt); + } + else + { + throw ex; // The communicator is already destroyed, so we cannot retry. + } } public final synchronized void |