summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/ProxyFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceInternal/ProxyFactory.java')
-rw-r--r--java/src/IceInternal/ProxyFactory.java43
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;
}