[jboss-svn-commits] JBL Code SVN: r37473 - in labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star: util and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Sep 21 14:15:06 EDT 2011
Author: mmusgrov
Date: 2011-09-21 14:15:06 -0400 (Wed, 21 Sep 2011)
New Revision: 37473
Modified:
labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star/resource/RESTRecord.java
labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star/util/TxSupport.java
Log:
[BLACKTIE-377] Add in support TransactionCommitOnePhase
Modified: labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star/resource/RESTRecord.java
===================================================================
--- labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star/resource/RESTRecord.java 2011-09-21 14:49:07 UTC (rev 37472)
+++ labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star/resource/RESTRecord.java 2011-09-21 18:15:06 UTC (rev 37473)
@@ -153,6 +153,8 @@
return TwoPhaseOutcome.FINISH_OK;
else if (TxSupport.COMMITTED.equals(status))
return TwoPhaseOutcome.FINISH_OK;
+ else if (TxSupport.COMMITTED_ONE_PHASE.equals(status))
+ return TwoPhaseOutcome.FINISH_OK;
else if (TxSupport.PREPARED.equals(status))
return TwoPhaseOutcome.PREPARE_OK;
else if (TxSupport.READONLY.equals(status))
@@ -205,8 +207,10 @@
try
{
- status = TxSupport.getStatus(new TxSupport().httpRequest(new int[] {HttpURLConnection.HTTP_OK}, this.terminateUrl, "PUT",
- TxSupport.STATUS_MEDIA_TYPE, TxSupport.toStatusContent(TxSupport.PREPARED), null));
+ status = TxSupport.getStatus(
+ new TxSupport().httpRequest(new int[] {HttpURLConnection.HTTP_OK},
+ this.terminateUrl, "PUT", TxSupport.STATUS_MEDIA_TYPE,
+ TxSupport.toStatusContent(TxSupport.PREPARED), null));
prepared = true;
@@ -262,7 +266,7 @@
if (!prepared)
return TwoPhaseOutcome.NOT_PREPARED;
- return topLevelOnePhaseCommit();
+ return doCommit(TxSupport.COMMITTED);
}
public int nestedOnePhaseCommit()
@@ -278,6 +282,11 @@
*/
public int topLevelOnePhaseCommit()
{
+ return doCommit(TxSupport.COMMITTED_ONE_PHASE);
+ }
+
+ private int doCommit(String nextState)
+ {
TxSupport txs = new TxSupport();
check_halt(Fault.commit_halt);
@@ -290,12 +299,12 @@
{
if (log.isTraceEnabled())
log.trace("committing " + this.terminateUrl);
-
+
if (!TxSupport.isReadOnly(status)) {
txs = new TxSupport();
String body = txs.httpRequest(new int[] {HttpURLConnection.HTTP_OK},
this.terminateUrl, "PUT", TxSupport.STATUS_MEDIA_TYPE,
- TxSupport.toStatusContent(TxSupport.COMMITTED), null); // ONE_PHASE_COMMIT_CONTENT
+ TxSupport.toStatusContent(nextState), null);
status = txs.getStatus(body);
@@ -319,7 +328,6 @@
return statusToOutcome(status);
}
-
private boolean checkFinishError(int expected, boolean commit) throws HttpResponseException
{
if (expected == HttpURLConnection.HTTP_NOT_FOUND)
Modified: labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star/util/TxSupport.java
===================================================================
--- labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star/util/TxSupport.java 2011-09-21 14:49:07 UTC (rev 37472)
+++ labs/jbosstm/trunk/rest-tx/tx/src/main/java/org/jboss/jbossts/star/util/TxSupport.java 2011-09-21 18:15:06 UTC (rev 37473)
@@ -75,6 +75,7 @@
public static final String ABORTED = "TransactionRolledBack";
public static final String COMMITTING = "TransactionCommitting";
public static final String COMMITTED = "TransactionCommitted";
+ public static final String COMMITTED_ONE_PHASE = "TransactionCommittedOnePhase";
public static final String H_ROLLBACK = "TransactionHeuristicRollback";
public static final String H_COMMIT = "TransactionHeuristicCommit";
public static final String H_HAZARD = "TransactionHeuristicHazard";
More information about the jboss-svn-commits
mailing list