diff options
Diffstat (limited to 'cpp/src/IceGrid/Database.cpp')
-rw-r--r-- | cpp/src/IceGrid/Database.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/cpp/src/IceGrid/Database.cpp b/cpp/src/IceGrid/Database.cpp index 1f777cb33fe..a3e0536c002 100644 --- a/cpp/src/IceGrid/Database.cpp +++ b/cpp/src/IceGrid/Database.cpp @@ -826,7 +826,7 @@ Database::setAdapterDirectProxy(const string& adapterId, const string& replicaGr } Ice::ObjectPrx -Database::getAdapterDirectProxy(const string& id) +Database::getAdapterDirectProxy(const string& id, const Ice::EncodingVersion& encoding) { DatabaseConnectionPtr connection = _connectionPool->newConnection(); AdaptersWrapperPtr adaptersWrapper = _connectionPool->getAdapters(connection); @@ -842,8 +842,11 @@ Database::getAdapterDirectProxy(const string& id) vector<AdapterInfo> infos = adaptersWrapper->findByReplicaGroupId(id); for(unsigned int i = 0; i < infos.size(); ++i) { - Ice::EndpointSeq edpts = infos[i].proxy->ice_getEndpoints(); - endpoints.insert(endpoints.end(), edpts.begin(), edpts.end()); + if(infos[i].proxy->ice_getEncodingVersion() < encoding) + { + Ice::EndpointSeq edpts = infos[i].proxy->ice_getEndpoints(); + endpoints.insert(endpoints.end(), edpts.begin(), edpts.end()); + } } if(!endpoints.empty()) { |