[jboss-svn-commits] JBL Code SVN: r27551 - in labs/jbosstm/trunk/ArjunaCore/arjuna: classes/com/arjuna/ats/internal/arjuna/recovery and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat Jul 4 16:19:53 EDT 2009
Author: mark.little at jboss.com
Date: 2009-07-04 16:19:53 -0400 (Sat, 04 Jul 2009)
New Revision: 27551
Modified:
labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/recovery/ActionStatusService.java
labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/Connection.java
labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/TransactionStatusConnector.java
labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/recovery/ActionTestClient.java
Log:
https://jira.jboss.org/jira/browse/JBTM-576
Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/recovery/ActionStatusService.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/recovery/ActionStatusService.java 2009-07-04 20:10:03 UTC (rev 27550)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/recovery/ActionStatusService.java 2009-07-04 20:19:53 UTC (rev 27551)
@@ -34,7 +34,6 @@
import java.io.*;
import java.util.*;
-import com.arjuna.ats.arjuna.AtomicAction;
import com.arjuna.ats.arjuna.common.Uid;
import com.arjuna.ats.arjuna.coordinator.ActionStatus;
import com.arjuna.ats.arjuna.coordinator.BasicAction;
@@ -45,10 +44,7 @@
import com.arjuna.ats.arjuna.utils.Utility;
import com.arjuna.ats.arjuna.logging.tsLogger;
-import com.arjuna.ats.arjuna.logging.FacilityCode;
-import com.arjuna.common.util.logging.*;
-
/**
* @message com.arjuna.ats.arjuna.recovery.ActionStatusService_1 [com.arjuna.ats.arjuna.recovery.ActionStatusService_1] - transactionType: {0} uid: {1} \n Status is {2}
* @message com.arjuna.ats.arjuna.recovery.ActionStatusService_2 [com.arjuna.ats.arjuna.recovery.ActionStatusService_2] - Other Exception: {0}
Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/Connection.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/Connection.java 2009-07-04 20:10:03 UTC (rev 27550)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/Connection.java 2009-07-04 20:19:53 UTC (rev 27551)
@@ -33,7 +33,6 @@
import java.io.*;
import java.net.*;
-import java.util.*;
import com.arjuna.ats.arjuna.logging.tsLogger;
Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/TransactionStatusConnector.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/TransactionStatusConnector.java 2009-07-04 20:10:03 UTC (rev 27550)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/TransactionStatusConnector.java 2009-07-04 20:19:53 UTC (rev 27551)
@@ -33,17 +33,13 @@
import java.io.* ;
import java.net.* ;
-import java.util.* ;
import com.arjuna.ats.arjuna.common.Uid ;
import com.arjuna.ats.arjuna.coordinator.ActionStatus ;
import com.arjuna.ats.arjuna.utils.Utility ;
-import com.arjuna.ats.arjuna.logging.FacilityCode ;
import com.arjuna.ats.arjuna.logging.tsLogger;
-import com.arjuna.common.util.logging.*;
-
/**
* @message com.arjuna.ats.internal.arjuna.recovery.TransactionStatusConnector_1 [com.arjuna.ats.internal.arjuna.recovery.TransactionStatusConnector_1] - TransactionStatusConnector.delete called erroneously
* @message com.arjuna.ats.internal.arjuna.recovery.TransactionStatusConnector_2 [com.arjuna.ats.internal.arjuna.recovery.TransactionStatusConnector_2] - Connection lost to TransactionStatusManagers' process
@@ -56,7 +52,7 @@
public class TransactionStatusConnector
{
/**
- * Recreate TransactionStatusManagerItem and attempt to esablish
+ * Recreate TransactionStatusManagerItem and attempt to establish
* a connection to the host/port of the TransactionStatusManager.
*/
@@ -142,6 +138,7 @@
{
// Send transaction type and transaction Uid to the
// TransactionStatusManager.
+
_to_server.println ( transaction_type ) ;
_to_server.println ( tranUid.toString() ) ;
_to_server.flush() ;
Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/recovery/ActionTestClient.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/recovery/ActionTestClient.java 2009-07-04 20:10:03 UTC (rev 27550)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/recovery/ActionTestClient.java 2009-07-04 20:19:53 UTC (rev 27551)
@@ -32,11 +32,16 @@
*/
import java.io.*;
+import java.net.InetAddress;
+import java.net.ServerSocket;
+import java.net.Socket;
import com.arjuna.ats.arjuna.AtomicAction;
+import com.arjuna.ats.arjuna.coordinator.ActionManager;
import com.arjuna.ats.arjuna.coordinator.ActionStatus;
import com.arjuna.ats.arjuna.common.Uid;
import com.arjuna.ats.arjuna.recovery.Service;
+import com.arjuna.ats.arjuna.utils.Utility;
import com.arjuna.ats.internal.arjuna.recovery.Listener;
import com.arjuna.ats.internal.arjuna.recovery.TransactionStatusConnector;
@@ -47,7 +52,7 @@
{
private void test1()
{
- System.out.println("test1");
+ System.err.println("test1");
try {
String test_tran_type_1 = _in.readLine();
@@ -87,10 +92,10 @@
(test_status4 == ActionStatus.RUNNING) &&
(test_status5 == ActionStatus.COMMITTED) &&
(test_status6 == ActionStatus.COMMITTED)) {
- System.out.println("test1: passed");
+ System.err.println("test1: passed");
_tests_passed++;
} else {
- System.out.println("test1: failed");
+ System.err.println("test1: failed");
_tests_failed++;
}
}
@@ -138,10 +143,10 @@
(test_status4 == ActionStatus.RUNNING) &&
(test_status5 == ActionStatus.ABORTED) &&
(test_status6 == ActionStatus.ABORTED)) {
- System.out.println("test2: passed");
+ System.err.println("test2: passed");
_tests_passed++;
} else {
- System.out.println("test2: failed");
+ System.err.println("test2: failed");
_tests_failed++;
}
}
@@ -189,10 +194,10 @@
(test_status4 == ActionStatus.RUNNING) &&
(test_status5 == ActionStatus.ABORTED) &&
(test_status6 == ActionStatus.ABORTED)) {
- System.out.println("test3: passed");
+ System.err.println("test3: passed");
_tests_passed++;
} else {
- System.out.println("test3: failed");
+ System.err.println("test3: failed");
_tests_failed++;
}
}
@@ -204,8 +209,8 @@
public void doWork(InputStream is, OutputStream os)
throws IOException
{
- System.out.println("starting to work");
-
+ System.err.println("starting to work");
+
_in = new BufferedReader(new InputStreamReader(is));
_out = new PrintWriter(new OutputStreamWriter(os));
@@ -215,7 +220,7 @@
String pidStr = _in.readLine();
if (pidUid == Uid.nullUid()) {
- System.out.println("Test Failed");
+ System.err.println("Test Failed");
} else {
_tsc = new TransactionStatusConnector(pidStr, pidUid);
@@ -223,7 +228,7 @@
test2();
test3();
- System.out.println("tests passed: " + _tests_passed +
+ System.err.println("tests passed: " + _tests_passed +
" tests failed: " + _tests_failed);
}
}
@@ -246,14 +251,92 @@
@Test
public void test() throws Exception
{
+ assertTrue(test_setup());
+
ActionTestClientTestService test_service = new ActionTestClientTestService();
- Listener listener = new Listener(4321, test_service);
- listener.setDaemon(true);
+ Listener listener = new Listener(_test_service_socket, test_service);
+
listener.start();
-
+
Thread.sleep(8000); // allow time for test to run
+ //listener.stopListener();
+
assertEquals(3, ActionTestClientTestService._tests_passed);
assertEquals(0, ActionTestClientTestService._tests_failed);
}
+
+ /**
+ * Pre-test setup.
+ */
+
+ private static boolean test_setup()
+ {
+ boolean setupOk = false;
+
+ try {
+ String host = InetAddress.getLocalHost().getHostAddress();
+ _test_service_socket = new ServerSocket(_port);
+ _test_socket = new Socket(host, _port);
+
+ _from_test_service = new BufferedReader(new InputStreamReader
+ (_test_socket.getInputStream()));
+ _to_test_service = new PrintWriter(new OutputStreamWriter
+ (_test_socket.getOutputStream()));
+
+ _to_test_service.write(Utility.getProcessUid().stringForm()+"\n");
+ _to_test_service.write(Utility.longToHexString(Utility.getpid())+"\n");
+
+ for (int i = 0; i < _number; i++)
+ {
+ _tx[i] = new AtomicAction();
+ _tx[i].begin();
+ AtomicAction.suspend();
+ _to_test_service.write(_tx[i].type()+"\n");
+ _to_test_service.write(_tx[i].get_uid().stringForm()+"\n");
+ }
+
+ terminateTx(_tx[0], false);
+ // 1 is RUNNING
+ terminateTx(_tx[2], true);
+ terminateTx(_tx[3], false);
+ // 4 is RUNNING
+ terminateTx(_tx[5], false);
+ terminateTx(_tx[6], false);
+ // 7 is RUNNING
+ terminateTx(_tx[8], false);
+
+ _to_test_service.flush();
+
+ setupOk = true;
+ }
+ catch (Exception ex) {
+ System.err.println("test_setup: Failed " + ex);
+ }
+
+ return setupOk;
+ }
+
+ static private void terminateTx (AtomicAction tx, boolean commit)
+ {
+ AtomicAction.resume(tx);
+
+ if (commit)
+ tx.commit();
+ else
+ tx.abort();
+
+ ActionManager.manager().put(tx); // put it back on list to simulate running condition.
+ }
+
+ private static int _port = 4321;
+ private static int _number = 9;
+
+ private static Socket _test_socket;
+ private static ServerSocket _test_service_socket;
+
+ private static BufferedReader _from_test_service;
+ private static PrintWriter _to_test_service;
+
+ private static AtomicAction[] _tx = new AtomicAction[_number];
}
More information about the jboss-svn-commits
mailing list