[infinispan-dev] javax.transaction.xa.Xid

Jonathan Halliday jonathan.halliday at redhat.com
Thu Mar 17 07:12:21 EDT 2011


On 03/17/2011 10:57 AM, Manik Surtani wrote:
>
> On 17 Mar 2011, at 10:52, Mircea Markus wrote:
>
>> Pluggable .toString() - can't believe I've just said that!!! :-)

lol. JBossTS does not make it pluggable, but does use an implementation 
specific rendering for Xids it created itself and thus knows how to 
decode the bytes for. Where the Xid was generated externally and passed 
in we just render the binary in some reasonable way. Note that the 
general case is that the TM is creating the Xids and the RM only working 
with them.  If you're going for full compatibility you can copy the TS 
code that knows how to handle 'native' JBossTS Xids (risky, as we change 
for structure from from time to time), or at minimum just use the same 
generic binary rendering that we do. In most non-recovery cases you'll 
have an Xid Object created by JBossTS anyhow and it will handle the 
toString itself.

Another possibility is to have your code test for Serializability of Xid 
and serialize it if possible or use its own path if not. That way you 
probably have native toString behaviour at recovery time too as the 
JBossTS impl is Serializable.  Does make your code a bit more convoluted 
though.

Jonathan.

-- 
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod 
Street, Windsor, Berkshire, SI4 1TE, United Kingdom.
Registered in UK and Wales under Company Registration No. 3798903 
Directors: Michael Cunningham (USA), Charlie Peters (USA), Matt Parsons 
(USA) and Brendan Lane (Ireland).


More information about the infinispan-dev mailing list