[jboss-svn-commits] JBL Code SVN: r26781 - in labs/jbosstm/workspace/resttx: demo/src/main/java/org/jboss/jbossts/rts/demo/client and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri May 29 13:08:52 EDT 2009


Author: mmusgrov
Date: 2009-05-29 13:08:52 -0400 (Fri, 29 May 2009)
New Revision: 26781

Modified:
   labs/jbosstm/workspace/resttx/demo/src/main/java/org/jboss/jbossts/rts/demo/client/RESTDemoApp.java
   labs/jbosstm/workspace/resttx/readme.txt
   labs/jbosstm/workspace/resttx/tx/src/main/java/org/jboss/jbossts/rts/resource/RESTRecord.java
Log:
Add extra fault definitions

Modified: labs/jbosstm/workspace/resttx/demo/src/main/java/org/jboss/jbossts/rts/demo/client/RESTDemoApp.java
===================================================================
--- labs/jbosstm/workspace/resttx/demo/src/main/java/org/jboss/jbossts/rts/demo/client/RESTDemoApp.java	2009-05-29 16:57:52 UTC (rev 26780)
+++ labs/jbosstm/workspace/resttx/demo/src/main/java/org/jboss/jbossts/rts/demo/client/RESTDemoApp.java	2009-05-29 17:08:52 UTC (rev 26781)
@@ -65,7 +65,7 @@
 	private static final String RESTAURANT_URL = "http://localhost:8001/";
 	private static final String TAXI_URL = "http://localhost:8002/";
 
-	private static final String[] faultNames = {"none", "abort_halt", "prepare_halt",
+	private static final String[] faultNames = {"none", "abort_halt", "abort_suspend", "prepare_halt", "prepare_suspend",
 		"commit_halt", "commit_suspend", "h_commit", "h_rollback", "h_hazard", "h_mixed"};
 
 	private StatusPanel statusPanel = new StatusPanel(0, "", 0, false);

Modified: labs/jbosstm/workspace/resttx/readme.txt
===================================================================
--- labs/jbosstm/workspace/resttx/readme.txt	2009-05-29 16:57:52 UTC (rev 26780)
+++ labs/jbosstm/workspace/resttx/readme.txt	2009-05-29 17:08:52 UTC (rev 26781)
@@ -1,4 +1,6 @@
-There are some extra notes in the docs directory.
+There are some extra notes in the docs directory including the protocol
+specificaton.
+
 	mvn clean install	# build everything with tests
 	mvn clean install -Dmaven.test.skip # build everything without tests
 
@@ -8,3 +10,6 @@
 To run the demo:
 	cd demo; cat go
 where the script demo/go shows what processes to run for the demo.
+
+To turn up the logging:
+	edit webservice/src/test/resources/log4j.xml

Modified: labs/jbosstm/workspace/resttx/tx/src/main/java/org/jboss/jbossts/rts/resource/RESTRecord.java
===================================================================
--- labs/jbosstm/workspace/resttx/tx/src/main/java/org/jboss/jbossts/rts/resource/RESTRecord.java	2009-05-29 16:57:52 UTC (rev 26780)
+++ labs/jbosstm/workspace/resttx/tx/src/main/java/org/jboss/jbossts/rts/resource/RESTRecord.java	2009-05-29 17:08:52 UTC (rev 26781)
@@ -108,15 +108,38 @@
         return TwoPhaseOutcome.PREPARE_OK; // do nothing
     }
 
+	private void check_suspend(Fault f)
+	{
+        if (fault.equals(f))
+		{
+            try
+            {
+            	log.info(f + ": for 10 seconds");
+                Thread.sleep(10000);
+            }
+            catch (InterruptedException e)
+            {
+                e.printStackTrace();
+            }
+        }
+	}
+
+	private void check_halt(Fault f)
+	{
+        if (fault.equals(f))
+		{
+            log.info(f + ": halt VM");
+            Runtime.getRuntime().halt(1);
+		}
+	}
+
     public int topLevelPrepare()
     {
         log.debug("prepare " + url);
 
-        if (fault.equals(Fault.prepare_halt)) {
-            log.info("prepare: halt VM");
-            Runtime.getRuntime().halt(1);
-        }
-        
+        check_halt(Fault.prepare_halt);
+        check_suspend(Fault.prepare_suspend);
+
         if (fault.equals(Fault.h_hazard))
             return TwoPhaseOutcome.HEURISTIC_HAZARD;
 
@@ -144,10 +167,8 @@
     {
         log.debug("abort " + url);
 
-        if (fault.equals(Fault.abort_halt)) {
-            log.info("abort: halt VM");
-            Runtime.getRuntime().halt(1);
-        }
+        check_halt(Fault.abort_halt);
+        check_suspend(Fault.abort_suspend);
 
         if (url == null || txId == null)
             return TwoPhaseOutcome.FINISH_ERROR;
@@ -192,22 +213,9 @@
 
     public int topLevelOnePhaseCommit()
     {
-        if (fault.equals(Fault.commit_halt)) {
-            log.info("commit: halt VM");
-            Runtime.getRuntime().halt(1);
-        }
+        check_halt(Fault.commit_halt);
+        check_suspend(Fault.commit_suspend);
 
-        if (fault.equals(Fault.commit_suspend)) {
-            try
-            {
-                Thread.sleep(10000);
-            }
-            catch (InterruptedException e)
-            {
-                e.printStackTrace();
-            }
-        }
- 
         if (txId == null)
             return TwoPhaseOutcome.FINISH_ERROR;
 
@@ -365,7 +373,11 @@
         return false;
     }
 
-    enum Fault {abort_halt, prepare_halt, commit_halt, commit_suspend, h_commit, h_rollback, h_hazard, h_mixed, none}
+    enum Fault {
+		abort_halt, abort_suspend, prepare_halt,
+		prepare_suspend, commit_halt, commit_suspend,
+		h_commit, h_rollback, h_hazard, h_mixed, none
+	}
     Fault fault = Fault.none;
 
     public void setFault(String name)




More information about the jboss-svn-commits mailing list