You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2009/06/29 16:13:27 UTC

svn commit: r789336 - /activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/broker/TransactionManager.java

Author: chirino
Date: Mon Jun 29 14:13:27 2009
New Revision: 789336

URL: http://svn.apache.org/viewvc?rev=789336&view=rev
Log:
use '& 0xFF' to work with the unsigned byte values.


Modified:
    activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/broker/TransactionManager.java

Modified: activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/broker/TransactionManager.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/broker/TransactionManager.java?rev=789336&r1=789335&r2=789336&view=diff
==============================================================================
--- activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/broker/TransactionManager.java (original)
+++ activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/broker/TransactionManager.java Mon Jun 29 14:13:27 2009
@@ -228,7 +228,7 @@
             tx = new LocalTransaction(this, tid, queue);
             break;
         case Transaction.TYPE_XA:
-        	int length = bais.readByte();
+        	int length = bais.readByte() & 0xFF;
         	Buffer xid = new Buffer(new byte[length]);
         	bais.readFully(xid.data);
             tx = new XATransaction(this, tid, xid, queue);
@@ -252,8 +252,8 @@
         if(tx.getType() == Transaction.TYPE_XA)
         {
         	Buffer xid = ((XATransaction)tx).getXid();
-        	// An XID max size is around 140 bytes
-        	baos.writeByte( xid.length );
+        	// An XID max size is around 140 bytes, byte SHOULD be big enough to frame it.
+        	baos.writeByte( xid.length & 0xFF );
         	baos.write(xid.data, xid.offset, xid.length);
         }