[jboss-svn-commits] JBL Code SVN: r29830 - in labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats: arjuna/recovery and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Oct 27 06:41:58 EDT 2009
Author: jhalliday
Date: 2009-10-27 06:41:58 -0400 (Tue, 27 Oct 2009)
New Revision: 29830
Modified:
labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/Uid.java
labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/recovery/TransactionStatusConnectionManager.java
labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/utils/Utility.java
labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/ExpiredTransactionStatusManagerScanner.java
Log:
Fix Uid process identifier handling and other annoyances. JBTM-623
Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/Uid.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/Uid.java 2009-10-27 10:35:27 UTC (rev 29829)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/Uid.java 2009-10-27 10:41:58 UTC (rev 29830)
@@ -357,6 +357,12 @@
return stringForm();
}
+ // return the process id value in hex form.
+ // The internal format is Uids mostly should not be exposed, but some recovery/expiry code need this.
+ public String getHexPid() {
+ return Utility.intToHexString(process);
+ }
+
/**
* Create a copy of this instance.
*/
Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/recovery/TransactionStatusConnectionManager.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/recovery/TransactionStatusConnectionManager.java 2009-10-27 10:35:27 UTC (rev 29829)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/recovery/TransactionStatusConnectionManager.java 2009-10-27 10:41:58 UTC (rev 29830)
@@ -98,13 +98,13 @@
int status = ActionStatus.INVALID ;
// extract process id from uid
- String process_id = get_process_id ( tranUid ) ;
+ String process_id = tranUid.getHexPid();
// if the tx is in the same JVM we rely on ActionStatusService directly.
// This skips the communication with TransactionStatusManager, which is just backed
// by ActionStatusService anyhow. That allows TSM to be turned off for local only cases if desired.
// Note: condition assumes ObjectStore is not shared between machines i.e. that processId is globally uniq.
- if(! process_id.equals( get_process_id(_localUid) )) {
+ if(! process_id.equals( _localUid.getHexPid()) ) {
status = getRemoteTransactionStatus(process_id, transactionType, tranUid);
}
@@ -253,7 +253,7 @@
{
Uid currentUid = (Uid) tsmiEnum.nextElement() ;
- String process_id = get_process_id( currentUid ) ;
+ String process_id = currentUid.getHexPid();
if ( ! _tscTable.containsKey( process_id ) )
{
@@ -279,21 +279,6 @@
}
}
- /**
- * Extract the process identifier from the supplied Uid.
- */
- private String get_process_id ( Uid uid )
- {
- // process id accessor on Uid needed!
- // this is just a hack
- String strUid = uid.toString() ;
- StringTokenizer st = new StringTokenizer( strUid, ":" ) ;
- st.nextToken() ;
- String process_id_in_Hex = st.nextToken() ;
-
- return process_id_in_Hex ;
- }
-
// Type within ObjectStore.
private static String _typeName = TransactionStatusManagerItem.typeName() ;
Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/utils/Utility.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/utils/Utility.java 2009-10-27 10:35:27 UTC (rev 29829)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/utils/Utility.java 2009-10-27 10:41:58 UTC (rev 29830)
@@ -246,8 +246,6 @@
}
}
- System.err.println("**returning < "+myAddr[0]+", "+myAddr[1]+" >");
-
return myAddr;
}
Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/ExpiredTransactionStatusManagerScanner.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/ExpiredTransactionStatusManagerScanner.java 2009-10-27 10:35:27 UTC (rev 29829)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/ExpiredTransactionStatusManagerScanner.java 2009-10-27 10:41:58 UTC (rev 29830)
@@ -139,7 +139,7 @@
// then it is removed from the object store.
Uid currentUid = newUid ;
- String process_id = get_process_id( currentUid ) ;
+ String process_id = currentUid.getHexPid();
TransactionStatusConnector tsc =
new TransactionStatusConnector ( process_id, currentUid ) ;
@@ -173,21 +173,6 @@
return _expiryTime != 0 ;
}
- /**
- * Extract the process identifier from the supplied Uid.
- */
- private String get_process_id ( Uid uid )
- {
- // process id accessor on Uid needed!
- // this is just a hack
- String strUid = uid.toString() ;
- StringTokenizer st = new StringTokenizer( strUid, ":" ) ;
- st.nextToken() ;
- String process_id_in_Hex = st.nextToken() ;
-
- return process_id_in_Hex ;
- }
-
private String _itemTypeName ;
private ObjectStore _objectStore ;
More information about the jboss-svn-commits
mailing list