summaryrefslogtreecommitdiff
path: root/gnu/java/rmi/activation/ActivationSystemTransient.java
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/java/rmi/activation/ActivationSystemTransient.java')
-rw-r--r--gnu/java/rmi/activation/ActivationSystemTransient.java32
1 files changed, 23 insertions, 9 deletions
diff --git a/gnu/java/rmi/activation/ActivationSystemTransient.java b/gnu/java/rmi/activation/ActivationSystemTransient.java
index ea31e4bdf..1557220e1 100644
--- a/gnu/java/rmi/activation/ActivationSystemTransient.java
+++ b/gnu/java/rmi/activation/ActivationSystemTransient.java
@@ -1,4 +1,4 @@
-/* DefaultActivationSystem.java -- FIXME: briefly describe file purpose
+/* ActivationSystemTransient.java -- The transient RMI object activation system.
Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -69,23 +69,23 @@ public class ActivationSystemTransient
/**
* Maps group identifiers into group descriptions.
*/
- BidiTable groupDescs = new BidiTable();
+ protected final BidiTable groupDescs;
/**
* Maps object identifiers into object activation descriptions
*/
- BidiTable descriptions = new BidiTable();
+ protected final BidiTable descriptions;
/**
- * Maps group descriptions into group object instantiators.
+ * Maps group identifiers into already activated groups.
*/
- Map groupInstantiators = new Hashtable();
+ protected transient final Map groupInstantiators = new Hashtable();
/**
* The cache of the activated objects, maps activation ids to remote
* object stubs.
*/
- Map activatedObjects = new HashMap();
+ protected transient final Map activatedObjects = new HashMap();
/**
* The object incarnation counter.
@@ -102,11 +102,23 @@ public class ActivationSystemTransient
*/
public static boolean debug = false;
+
+ /**
+ * Creates the group which uses the given maps to store the data.
+ */
+ protected ActivationSystemTransient(BidiTable objectDescriptions,
+ BidiTable groupDescriptiopns)
+ {
+ descriptions = objectDescriptions;
+ groupDescs = groupDescriptiopns;
+ }
+
/**
- * This group should not be instantiated outside the group code.
+ * Creates the group with transient maps.
*/
protected ActivationSystemTransient()
{
+ this (new BidiTable(), new BidiTable());
}
public static ActivationSystem getInstance()
@@ -282,11 +294,13 @@ public class ActivationSystemTransient
}
/**
- * No action.
+ * Calls .shutdown on all bidirectional tables (has no effect if these
+ * table are not persistent).
*/
public void shutdown() throws RemoteException
{
- // Nothing to do.
+ descriptions.shutdown();
+ groupDescs.shutdown();
}
/**