summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/ObjectFactoryManager.java
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2004-04-13 18:58:58 +0000
committerMark Spruiell <mes@zeroc.com>2004-04-13 18:58:58 +0000
commit0fec5927b3ec89549c3e78b935f0f075120037d0 (patch)
tree4bb9c1b344948a4a16cb058c50760362dab364a1 /java/src/IceInternal/ObjectFactoryManager.java
parentfacet fix (diff)
downloadice-0fec5927b3ec89549c3e78b935f0f075120037d0.tar.bz2
ice-0fec5927b3ec89549c3e78b935f0f075120037d0.tar.xz
ice-0fec5927b3ec89549c3e78b935f0f075120037d0.zip
align with C++ facet changes
Diffstat (limited to 'java/src/IceInternal/ObjectFactoryManager.java')
-rw-r--r--java/src/IceInternal/ObjectFactoryManager.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/java/src/IceInternal/ObjectFactoryManager.java b/java/src/IceInternal/ObjectFactoryManager.java
index 4964cee0817..d7af9549b32 100644
--- a/java/src/IceInternal/ObjectFactoryManager.java
+++ b/java/src/IceInternal/ObjectFactoryManager.java
@@ -24,7 +24,7 @@ public final class ObjectFactoryManager
{
Ice.AlreadyRegisteredException ex = new Ice.AlreadyRegisteredException();
ex.id = id;
- ex.kindOfObject = "user exception factory";
+ ex.kindOfObject = "object factory";
throw ex;
}
_factoryMap.put(id, factory);
@@ -38,9 +38,12 @@ public final class ObjectFactoryManager
{
Ice.NotRegisteredException ex = new Ice.NotRegisteredException();
ex.id = id;
- ex.kindOfObject = "user exception factory";
+ ex.kindOfObject = "object factory";
throw ex;
}
+
+ ((Ice.ObjectFactory)o).destroy();
+
_factoryMap.remove(id);
}
@@ -57,7 +60,7 @@ public final class ObjectFactoryManager
{
}
- void
+ synchronized void
destroy()
{
java.util.Iterator i = _factoryMap.values().iterator();