diff options
Diffstat (limited to 'cpp/src/IceGrid/Database.cpp')
-rw-r--r-- | cpp/src/IceGrid/Database.cpp | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/cpp/src/IceGrid/Database.cpp b/cpp/src/IceGrid/Database.cpp index da8b3f4ad96..3a362feb35a 100644 --- a/cpp/src/IceGrid/Database.cpp +++ b/cpp/src/IceGrid/Database.cpp @@ -172,6 +172,11 @@ Database::Database(const Ice::ObjectAdapterPtr& adapter, Ice::Warning warn(_traceLevels->logger); warn << "invalid application `" << p->first << "':\n" << reason; } + catch(const char* reason) + { + Ice::Warning warn(_traceLevels->logger); + warn << "invalid application `" << p->first << "':\n" << reason; + } } } @@ -346,6 +351,12 @@ Database::updateApplicationDescriptor(ObserverSessionI* session, const Applicati ex.reason = reason; throw ex; } + catch(const char* reason) + { + DeploymentException ex; + ex.reason = reason; + throw ex; + } serial = ++_serial; } @@ -400,6 +411,12 @@ Database::syncApplicationDescriptor(ObserverSessionI* session, const Application ex.reason = reason; throw ex; } + catch(const char* reason) + { + DeploymentException ex; + ex.reason = reason; + throw ex; + } serial = ++_serial; } @@ -446,6 +463,12 @@ Database::removeApplicationDescriptor(ObserverSessionI* session, const std::stri ex.reason = reason; throw ex; } + catch(const char* reason) + { + DeploymentException ex; + ex.reason = reason; + throw ex; + } serial = ++_serial; } @@ -1074,7 +1097,8 @@ Database::reload(const ApplicationHelper& oldApp, const ApplicationHelper& newAp { load.push_back(p->second); } - else if(ServerHelper(p->second.descriptor) != ServerHelper(q->second.descriptor)) + else if(p->second.node != q->second.node || + ServerHelper(p->second.descriptor) != ServerHelper(q->second.descriptor)) { entries.push_back(_serverCache.remove(p->first, false)); // Don't destroy the server if it was updated. load.push_back(p->second); |