diff options
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; } |