summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/Database.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceGrid/Database.cpp')
-rw-r--r--cpp/src/IceGrid/Database.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/cpp/src/IceGrid/Database.cpp b/cpp/src/IceGrid/Database.cpp
index 4c05329a868..46529ec0ac0 100644
--- a/cpp/src/IceGrid/Database.cpp
+++ b/cpp/src/IceGrid/Database.cpp
@@ -1046,12 +1046,20 @@ Database::reload(const ApplicationHelper& oldApp, const ApplicationHelper& newAp
ReplicatedAdapterDescriptorSeq::const_iterator r;
for(r = oldAdpts.begin(); r != oldAdpts.end(); ++r)
{
+ for(ObjectDescriptorSeq::const_iterator o = r->objects.begin(); o != r->objects.end(); ++o)
+ {
+ _objectCache.remove(o->id);
+ }
_adapterCache.get(r->id, false)->disableReplication();
}
const ReplicatedAdapterDescriptorSeq& newAdpts = newApp.getInstance().replicatedAdapters;
for(r = newAdpts.begin(); r != newAdpts.end(); ++r)
{
_adapterCache.get(r->id, true)->enableReplication(r->loadBalancing);
+ for(ObjectDescriptorSeq::const_iterator o = r->objects.begin(); o != r->objects.end(); ++o)
+ {
+ _objectCache.add(r->id, "", *o);
+ }
}
map<string, ServerInfo> oldServers = oldApp.getServerInfos();