diff options
author | Jose <jose@zeroc.com> | 2009-07-02 19:39:13 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2009-07-02 19:39:13 +0200 |
commit | b288490bceaab7f9c20eb9de62fa7a7ff4f6a917 (patch) | |
tree | 8645fb6933ced669886f71f415eb57f676912ebf /java/src | |
parent | Fixed test failure introduce by previous fix (diff) | |
download | ice-b288490bceaab7f9c20eb9de62fa7a7ff4f6a917.tar.bz2 ice-b288490bceaab7f9c20eb9de62fa7a7ff4f6a917.tar.xz ice-b288490bceaab7f9c20eb9de62fa7a7ff4f6a917.zip |
Bug 2564 - ObjectAdapter::removeServantLocator
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/ObjectAdapterI.java | 8 | ||||
-rw-r--r-- | java/src/IceInternal/ServantManager.java | 13 |
2 files changed, 21 insertions, 0 deletions
diff --git a/java/src/Ice/ObjectAdapterI.java b/java/src/Ice/ObjectAdapterI.java index 8fbfb2bc4f8..62589a5bad7 100644 --- a/java/src/Ice/ObjectAdapterI.java +++ b/java/src/Ice/ObjectAdapterI.java @@ -512,6 +512,14 @@ public final class ObjectAdapterI implements ObjectAdapter } public synchronized ServantLocator + removeServantLocator(String prefix) + { + checkForDeactivation(); + + return _servantManager.removeServantLocator(prefix); + } + + public synchronized ServantLocator findServantLocator(String prefix) { checkForDeactivation(); diff --git a/java/src/IceInternal/ServantManager.java b/java/src/IceInternal/ServantManager.java index ba3c1f80cac..01ded95ffd0 100644 --- a/java/src/IceInternal/ServantManager.java +++ b/java/src/IceInternal/ServantManager.java @@ -227,6 +227,19 @@ public final class ServantManager } public synchronized Ice.ServantLocator + removeServantLocator(String category) + { + assert(_instance != null); // Must not be called after destruction. + + Ice.ServantLocator l = _locatorMap.remove(category); + if(l != null) + { + l.deactivate(category); + } + return l; + } + + public synchronized Ice.ServantLocator findServantLocator(String category) { // |