You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by ma...@apache.org on 2008/03/06 22:03:23 UTC
svn commit: r634416 -
/incubator/river/jtsk/trunk/src/com/sun/jini/mahalo/TxnManagerImpl.java
Author: marbro
Date: Thu Mar 6 13:03:20 2008
New Revision: 634416
URL: http://svn.apache.org/viewvc?rev=634416&view=rev
Log:
Fixed RIVER-286. patch kindly provided by Dave Brosius. Also removed some unused import statements and corrected some javadoc issues.
Modified:
incubator/river/jtsk/trunk/src/com/sun/jini/mahalo/TxnManagerImpl.java
Modified: incubator/river/jtsk/trunk/src/com/sun/jini/mahalo/TxnManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/river/jtsk/trunk/src/com/sun/jini/mahalo/TxnManagerImpl.java?rev=634416&r1=634415&r2=634416&view=diff
==============================================================================
--- incubator/river/jtsk/trunk/src/com/sun/jini/mahalo/TxnManagerImpl.java (original)
+++ incubator/river/jtsk/trunk/src/com/sun/jini/mahalo/TxnManagerImpl.java Thu Mar 6 13:03:20 2008
@@ -17,11 +17,9 @@
*/
package com.sun.jini.mahalo;
-import com.sun.jini.admin.DestroyAdmin;
import com.sun.jini.config.Config;
import com.sun.jini.landlord.FixedLeasePeriodPolicy;
import com.sun.jini.landlord.Landlord;
-import com.sun.jini.landlord.Landlord.RenewResults;
import com.sun.jini.landlord.LandlordUtil;
import com.sun.jini.landlord.LeaseFactory;
import com.sun.jini.landlord.LeasedResource;
@@ -36,12 +34,8 @@
import com.sun.jini.thread.TaskManager;
import com.sun.jini.thread.WakeupManager;
-
-import net.jini.admin.JoinAdmin;
-import net.jini.admin.Administrable;
import net.jini.core.discovery.LookupLocator;
import net.jini.core.entry.*;
-import net.jini.core.event.*;
import net.jini.core.lease.*;
import net.jini.id.Uuid;
import net.jini.id.UuidFactory;
@@ -51,19 +45,10 @@
import java.util.*;
-import java.lang.reflect.*;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.PrintWriter;
-import java.io.Serializable;
-import java.net.URL;
import java.rmi.*;
import java.rmi.activation.*;
-import java.rmi.server.*;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
import java.security.SecureRandom;
@@ -77,16 +62,13 @@
import net.jini.activation.ActivationExporter;
import net.jini.config.Configuration;
import net.jini.config.ConfigurationProvider;
-import net.jini.config.ConfigurationException;
import net.jini.core.constraint.RemoteMethodControl;
import net.jini.core.lookup.ServiceID;
import net.jini.export.Exporter;
import net.jini.export.ProxyAccessor;
import net.jini.jeri.BasicILFactory;
import net.jini.jeri.BasicJeriExporter;
-import net.jini.jeri.InvocationLayerFactory;
import net.jini.jeri.tcp.TcpServerEndpoint;
-import net.jini.jrmp.JrmpExporter;
import net.jini.security.BasicProxyPreparer;
import net.jini.security.ProxyPreparer;
import net.jini.security.proxytrust.ServerProxyTrust;
@@ -578,25 +560,27 @@
}
logmgr.recover();
- // Restore transient state of recovered transactions
- Iterator iter = txns.values().iterator();
+ synchronized(txns) {
+ // Restore transient state of recovered transactions
+ Iterator iter = txns.values().iterator();
TxnManagerTransaction txn;
while(iter.hasNext()) {
txn = (TxnManagerTransaction)iter.next();
if(initLogger.isLoggable(Level.FINEST)) {
- initLogger.log(Level.FINEST,
- "Restoring transient state for txn id: {0}",
- new Long(((ServerTransaction)txn.getTransaction()).id));
- }
- try {
- txn.restoreTransientState(recoveredParticipantPreparer);
- } catch (RemoteException re) {
- if (persistenceLogger.isLoggable(Level.WARNING)) {
- persistenceLogger.log(Level.WARNING,
- "Cannot restore the TransactionParticipant", re);
- }
+ initLogger.log(Level.FINEST,
+ "Restoring transient state for txn id: {0}",
+ new Long(((ServerTransaction)txn.getTransaction()).id));
+ }
+ try {
+ txn.restoreTransientState(recoveredParticipantPreparer);
+ } catch (RemoteException re) {
+ if (persistenceLogger.isLoggable(Level.WARNING)) {
+ persistenceLogger.log(Level.WARNING,
+ "Cannot restore the TransactionParticipant", re);
+ }
//TODO - what should happen when participant preparation fails?
- }
+ }
+ }
}
if(initLogger.isLoggable(Level.FINEST)) {
@@ -1112,8 +1096,7 @@
/**
* Requests the renewal of a lease on a <code>Transaction</code>.
*
- * @param cookie identifies the leased resource
- *
+ * @param uuid identifies the leased resource
* @param extension requested lease extension
*
* @see net.jini.core.lease.Lease
@@ -1162,7 +1145,7 @@
/**
* Cancels the lease on a <code>Transaction</code>.
*
- * @param cookie identifies the leased resource
+ * @param uuid identifies the leased resource
*
* @see net.jini.core.lease.Lease
* @see com.sun.jini.landlord.LeasedResource