[jboss-svn-commits] JBL Code SVN: r37869 - labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/resources.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jan 30 11:37:36 EST 2012


Author: tomjenkinson
Date: 2012-01-30 11:37:35 -0500 (Mon, 30 Jan 2012)
New Revision: 37869

Modified:
   labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/resources/ExtendedResourceRecord.java
Log:
JBTM-1021 altered solution as ONE cannot be relied upon for none-persistent poa

Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/resources/ExtendedResourceRecord.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/resources/ExtendedResourceRecord.java	2012-01-30 14:03:53 UTC (rev 37868)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/resources/ExtendedResourceRecord.java	2012-01-30 16:37:35 UTC (rev 37869)
@@ -89,7 +89,8 @@
 		com.arjuna.ats.arjuna.coordinator.AbstractRecord
 {
 
-	/**
+	private boolean lastRecord;
+    /**
 	 * @param propagate
 	 *            tells us whether to propagate the resource at nested commit or
 	 *            not.
@@ -492,6 +493,8 @@
 			jtsLogger.logger.trace("ExtendedResourceRecord::topLevelCommit() for " + order());
 		}
 
+		if (!lastRecord) {
+            
 		try
 		{
 			if (resourceHandle() != null)
@@ -517,14 +520,12 @@
 		{
 			return TwoPhaseOutcome.HEURISTIC_HAZARD;
 		}
-        catch (OBJECT_NOT_EXIST e5) {
-            jtsLogger.i18NLogger.warn_1pc_commit_one();
-        }
-		catch (SystemException e6) {
+        catch (SystemException e6) {
             jtsLogger.i18NLogger.warn_resources_errgenerr("ExtendedResourceRecord.topLevelCommit", e6);
 
             return TwoPhaseOutcome.FINISH_ERROR;
         }
+		}
 
 		return TwoPhaseOutcome.FINISH_OK;
 	}
@@ -723,6 +724,8 @@
 			}
 			else
 				_stringifiedResourceHandle = null;
+			
+			lastRecord = os.unpackBoolean();
 		}
 		catch (IOException e)
 		{
@@ -829,6 +832,8 @@
 						jtsLogger.logger.trace("Packed rec co uid of " + _recCoordUid);
 					}
 				}
+				
+				os.packBoolean(lastRecord);
 			}
 		}
 		catch (IOException e)
@@ -1161,8 +1166,10 @@
 	{
 		try
 		{
-		    if (_otsARHandle == null)
+		    if (_otsARHandle == null) {
 		        _otsARHandle = com.arjuna.ArjunaOTS.OTSAbstractRecordHelper.narrow(_resourceHandle);
+		        lastRecord = RecordType.LASTRESOURCE == _otsARHandle.type_id();
+		    }
 
 		    if (_otsARHandle == null)
 		        throw new BAD_PARAM();



More information about the jboss-svn-commits mailing list