summaryrefslogtreecommitdiff
path: root/java/src/Freeze/Map.java
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2008-12-17 20:47:15 +0100
committerJose <jose@zeroc.com>2008-12-17 20:47:15 +0100
commit3ef4be01cfc76ca401cd1979103cd368e245dd5f (patch)
tree767c7b2b91b9d1f27771006d56cd4e09cf3cafc3 /java/src/Freeze/Map.java
parent3573 Build Freeze with DB-4.7 (diff)
downloadice-3ef4be01cfc76ca401cd1979103cd368e245dd5f.tar.bz2
ice-3ef4be01cfc76ca401cd1979103cd368e245dd5f.tar.xz
ice-3ef4be01cfc76ca401cd1979103cd368e245dd5f.zip
Remove Java finalizers code
Diffstat (limited to 'java/src/Freeze/Map.java')
-rw-r--r--java/src/Freeze/Map.java76
1 files changed, 17 insertions, 59 deletions
diff --git a/java/src/Freeze/Map.java b/java/src/Freeze/Map.java
index b2ad20012c0..6b9ce2ab8b7 100644
--- a/java/src/Freeze/Map.java
+++ b/java/src/Freeze/Map.java
@@ -281,15 +281,9 @@ public abstract class Map extends java.util.AbstractMap
}
public void
- close()
- {
- close(false);
- }
-
- public void
closeDb()
{
- close(false);
+ close();
_connection.dbEnv().removeSharedMapDb(_dbName);
}
@@ -843,7 +837,7 @@ public abstract class Map extends java.util.AbstractMap
public void
closeAllIterators()
{
- closeAllIteratorsExcept(null, false);
+ closeAllIteratorsExcept(null);
}
@@ -963,7 +957,7 @@ public abstract class Map extends java.util.AbstractMap
void
- closeAllIteratorsExcept(Object except, boolean finalizing)
+ closeAllIteratorsExcept(Object except)
{
synchronized(_iteratorList)
{
@@ -974,38 +968,29 @@ public abstract class Map extends java.util.AbstractMap
Object obj = p.next();
if(obj != except)
{
- ((EntryIteratorImpl)obj).close(finalizing);
+ ((EntryIteratorImpl)obj).close();
}
}
}
}
- protected void
- finalize()
- {
- close(true);
- }
-
//
// The synchronization is only needed when finalizing is true
//
- void
- close(boolean finalizing)
+ public void
+ close()
{
- synchronized(_connection)
+ if(_db != null)
{
- if(_db != null)
+ try
{
- try
- {
- closeAllIteratorsExcept(null, finalizing);
- }
- finally
- {
- _db = null;
- _connection.unregisterMap(_token);
- _token = null;
- }
+ closeAllIteratorsExcept(null);
+ }
+ finally
+ {
+ _db = null;
+ _connection.unregisterMap(_token);
+ _token = null;
}
}
}
@@ -1935,7 +1920,7 @@ public abstract class Map extends java.util.AbstractMap
{
if(_txn != null)
{
- closeAllIteratorsExcept(this, false);
+ closeAllIteratorsExcept(this);
}
//
@@ -2034,30 +2019,9 @@ public abstract class Map extends java.util.AbstractMap
}
}
- //
- // Extra operations.
- //
public void
close()
{
- close(false);
- }
-
- //
- // The synchronized is needed because this method can be called
- // concurrently by Connection, Map and Map.EntryIterator finalizers.
- //
- synchronized void
- close(boolean finalizing)
- {
- if(finalizing && (_cursor != null || _txn != null) && _connection.closeInFinalizeWarning())
- {
- _connection.communicator().getLogger().warning(
- "finalize() closing a live iterator on Map \"" + _db.dbName() + "\"; the application " +
- "should have closed it earlier by calling Map.EntryIterator.close(), " +
- "Map.closeAllIterators(), Map.close(), Connection.close(), or (if also " +
- "leaking a transaction) Transaction.commit() or Transaction.rollback()");
- }
if(_iteratorListToken != null)
{
@@ -2138,12 +2102,6 @@ public abstract class Map extends java.util.AbstractMap
close();
}
- protected void
- finalize()
- {
- close(true);
- }
-
void
setValue(Map.Entry entry, Object value)
{
@@ -2155,7 +2113,7 @@ public abstract class Map extends java.util.AbstractMap
if(_txn != null)
{
- closeAllIteratorsExcept(this, false);
+ closeAllIteratorsExcept(this);
}
//