diff options
author | Marc Laukien <marc@zeroc.com> | 2004-04-05 04:48:13 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2004-04-05 04:48:13 +0000 |
commit | 0e1184481e17519d01da49bc9e0ce54a05b809bd (patch) | |
tree | a38ad5a7f3f8468a799803781591642fef981174 /cpp/src/Ice/ProxyFactory.cpp | |
parent | fix (diff) | |
download | ice-0e1184481e17519d01da49bc9e0ce54a05b809bd.tar.bz2 ice-0e1184481e17519d01da49bc9e0ce54a05b809bd.tar.xz ice-0e1184481e17519d01da49bc9e0ce54a05b809bd.zip |
fixed retry on RequestFailedException
Diffstat (limited to 'cpp/src/Ice/ProxyFactory.cpp')
-rw-r--r-- | cpp/src/Ice/ProxyFactory.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/cpp/src/Ice/ProxyFactory.cpp b/cpp/src/Ice/ProxyFactory.cpp index d3bc5f844c9..3d87073f912 100644 --- a/cpp/src/Ice/ProxyFactory.cpp +++ b/cpp/src/Ice/ProxyFactory.cpp @@ -21,6 +21,7 @@ #include <Ice/Properties.h> #include <Ice/LoggerUtil.h> #include <Ice/TraceLevels.h> +#include <Ice/LocalException.h> using namespace std; using namespace Ice; @@ -92,6 +93,15 @@ IceInternal::ProxyFactory::referenceToProxy(const ReferencePtr& ref) const void IceInternal::ProxyFactory::checkRetryAfterException(const LocalException& ex, int& cnt) const { + // + // We don't retry *NotExistException, which are all derived from + // RequestFailedException. + // + if(dynamic_cast<const RequestFailedException*>(&ex)) + { + ex.ice_throw(); + } + ++cnt; TraceLevelsPtr traceLevels = _instance->traceLevels(); |