diff options
Diffstat (limited to 'java/src/Ice/ObjectPrxHelper.java')
-rw-r--r-- | java/src/Ice/ObjectPrxHelper.java | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/java/src/Ice/ObjectPrxHelper.java b/java/src/Ice/ObjectPrxHelper.java index 63d3330e1fd..a8fd21d33fa 100644 --- a/java/src/Ice/ObjectPrxHelper.java +++ b/java/src/Ice/ObjectPrxHelper.java @@ -509,8 +509,24 @@ public class ObjectPrxHelper implements ObjectPrx public final void ice_flush() { - _ObjectDel __del = __getDelegate(); - __del.ice_flush(); + // + // Retry is necessary for ice_flush in case the current connection + // is closed. If that's the case we need to get a new connection. + // + int __cnt = 0; + while(true) + { + try + { + _ObjectDel __del = __getDelegate(); + __del.ice_flush(); + return; + } + catch(LocalException __ex) + { + __cnt = __handleException(__ex, __cnt); + } + } } public final boolean |