diff options
author | Benoit Foucher <benoit@zeroc.com> | 2008-10-28 15:37:54 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2008-10-28 15:37:54 +0100 |
commit | 4cf71ddedfbcb89f1f8892c87bc6df68f1086c0e (patch) | |
tree | 0eb73fac0730f0a7bb3046e9c3b2cba8a4185654 /java/src/IceInternal/ProxyFactory.java | |
parent | Locator improvements to improve scalability when receiving many requests (diff) | |
download | ice-4cf71ddedfbcb89f1f8892c87bc6df68f1086c0e.tar.bz2 ice-4cf71ddedfbcb89f1f8892c87bc6df68f1086c0e.tar.xz ice-4cf71ddedfbcb89f1f8892c87bc6df68f1086c0e.zip |
Fixed bug 3513 - AMI retry bug
Diffstat (limited to 'java/src/IceInternal/ProxyFactory.java')
-rw-r--r-- | java/src/IceInternal/ProxyFactory.java | 43 |
1 files changed, 12 insertions, 31 deletions
diff --git a/java/src/IceInternal/ProxyFactory.java b/java/src/IceInternal/ProxyFactory.java index ac05fe1d57b..1f24976e772 100644 --- a/java/src/IceInternal/ProxyFactory.java +++ b/java/src/IceInternal/ProxyFactory.java @@ -132,7 +132,7 @@ public final class ProxyFactory if(out != null) { - out.__send(cnt); + out.__retry(cnt, 0); } return cnt; // We must always retry, so we don't look at the retry count. } @@ -205,42 +205,23 @@ public final class ProxyFactory logger.trace(traceLevels.retryCat, s); } - if(interval > 0) + if(out != null) { - if(out != null) - { - final int count = cnt; - _instance.timer().schedule(new TimerTask() - { - public void - runTimerTask() - { - out.__send(count); - } - }, interval); - } - else - { - // - // Sleep before retrying. - // - try - { - Thread.currentThread().sleep(interval); - } - catch(InterruptedException ex1) - { - } - } + out.__retry(cnt, interval); } - else + else if(interval > 0) { - if(out != null) + // + // Sleep before retrying. + // + try + { + Thread.currentThread().sleep(interval); + } + catch(InterruptedException ex1) { - out.__send(cnt); } } - return cnt; } |