[jboss-cvs] JBoss Messaging SVN: r2276 - trunk/src/main/org/jboss/messaging/core/tx.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Feb 12 13:36:34 EST 2007
Author: timfox
Date: 2007-02-12 13:36:34 -0500 (Mon, 12 Feb 2007)
New Revision: 2276
Modified:
trunk/src/main/org/jboss/messaging/core/tx/MessagingXid.java
trunk/src/main/org/jboss/messaging/core/tx/TransactionRepository.java
Log:
Fixed bug in when hashCode is generated
Modified: trunk/src/main/org/jboss/messaging/core/tx/MessagingXid.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/tx/MessagingXid.java 2007-02-12 16:34:31 UTC (rev 2275)
+++ trunk/src/main/org/jboss/messaging/core/tx/MessagingXid.java 2007-02-12 18:36:34 UTC (rev 2276)
@@ -50,6 +50,8 @@
private byte[] globalTransactionId;
private int hash;
+
+ private boolean hashCalculated;
public byte[] getBranchQualifier()
{
@@ -75,8 +77,7 @@
{
this.branchQualifier = branchQualifier;
this.formatId = formatId;
- this.globalTransactionId = globalTransactionId;
- calcHash();
+ this.globalTransactionId = globalTransactionId;
}
//Copy constructor
@@ -89,6 +90,10 @@
public int hashCode()
{
+ if (!hashCalculated)
+ {
+ calcHash();
+ }
return hash;
}
@@ -117,7 +122,7 @@
if (this.branchQualifier[i] != otherBQ[i])
{
return false;
- }
+ }
}
for (int i = 0; i < this.globalTransactionId.length; i++)
{
@@ -192,6 +197,7 @@
System.arraycopy(intBytes, 0, hashBytes, branchQualifier.length + globalTransactionId.length, 4);
String s = new String(hashBytes);
hash = s.hashCode();
+ hashCalculated = true;
}
private byte[] copyBytes(byte[] other)
Modified: trunk/src/main/org/jboss/messaging/core/tx/TransactionRepository.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/tx/TransactionRepository.java 2007-02-12 16:34:31 UTC (rev 2275)
+++ trunk/src/main/org/jboss/messaging/core/tx/TransactionRepository.java 2007-02-12 18:36:34 UTC (rev 2276)
@@ -205,7 +205,7 @@
public Transaction getPreparedTx(Xid xid) throws Exception
- {
+ {
Transaction tx = (Transaction)globalToLocalMap.get(xid);
if (tx == null)
More information about the jboss-cvs-commits
mailing list