本文整理了Java中com.arjuna.ats.jta.xa.XATxConverter
类的一些代码示例,展示了XATxConverter
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XATxConverter
类的具体详情如下:
包路径:com.arjuna.ats.jta.xa.XATxConverter
类名称:XATxConverter
暂无
代码示例来源:origin: org.jboss.narayana.jts/narayana-jts-idlj
static XID getXid (Uid uid, boolean branch, Integer eisName) throws IllegalStateException
{
if (branch)
return getXid(uid, new Uid(), FORMAT_ID, eisName);
else
return getXid(uid, Uid.nullUid(), FORMAT_ID, eisName);
}
代码示例来源:origin: jboss.jbossts/jbossjts
public static String getXIDString(XID xid)
{
// companion method to XID.toString - try to keep them in sync.
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("< formatId=");
stringBuilder.append(xid.formatID);
stringBuilder.append(", gtrid_length=");
stringBuilder.append(xid.gtrid_length);
stringBuilder.append(", bqual_length=");
stringBuilder.append(xid.bqual_length);
stringBuilder.append(", tx_uid=");
stringBuilder.append(getUid(xid).stringForm());
stringBuilder.append(", node_name=");
stringBuilder.append(getNodeName(xid));
stringBuilder.append(", branch_uid=");
stringBuilder.append(getBranchUid(xid));
stringBuilder.append(", eis_name=");
stringBuilder.append(getEISName(xid));
stringBuilder.append(" >");
return stringBuilder.toString();
}
}
代码示例来源:origin: org.jboss.narayana.jta/jta
/**
* Returning subordinate node name codified inside of the Xid.
*
* @param xid the xid to check the subordinate node name
* @return subordinate node name saved in the xid
*/
public static final String getSubordinateNodeName (Xid xid)
{
return XATxConverter.getSubordinateNodeName(getXIDfromXid(xid));
}
代码示例来源:origin: org.jboss.narayana.jts/narayana-jts-idlj
public XidImple(Xid xid, boolean branch, Integer eisName) {
this(xid);
if (branch) {
XATxConverter.setBranchUID(_theXid, new Uid());
}
XATxConverter.setEisName(_theXid, eisName);
}
代码示例来源:origin: org.jboss.jbossts/jbossjta
if (uid.notEquals(Uid.nullUid()))
XidImple loadedXid = (XidImple) saa.getXid();
if (loadedXid.getFormatId() == XATxConverter.FORMAT_ID) {
String loadedXidSubordinateNodeName = XATxConverter.getSubordinateNodeName(loadedXid.getXID());
if (TxControl.getXANodeName().equals(loadedXidSubordinateNodeName)) {
if (parentNodeName.equals(saa.getParentNodeName())) {
if (jtaLogger.logger.isDebugEnabled()) {
XidImple loadedXid = (XidImple) saa.getXid();
if (loadedXid.getFormatId() == XATxConverter.FORMAT_ID) {
String loadedXidSubordinateNodeName = XATxConverter.getSubordinateNodeName(loadedXid.getXID());
if (XATxConverter.getSubordinateNodeName(new XidImple(xid).getXID()).equals(loadedXidSubordinateNodeName)) {
if (Arrays.equals(loadedXid.getGlobalTransactionId(), xid.getGlobalTransactionId())) {
if (jtaLogger.logger.isDebugEnabled()) {
jtaLogger.logger.debug("Found record for " + saa);
代码示例来源:origin: org.jboss.narayana.jts/narayana-jts-idlj
public SubordinateAtomicAction (int timeout, Xid xid)
{
super(timeout); // implicit start (done in base class)
if (xid != null && xid.getFormatId() == XATxConverter.FORMAT_ID) {
XidImple toImport = new XidImple(xid);
XID toCheck = toImport.getXID();
_parentNodeName = XATxConverter.getSubordinateNodeName(toCheck);
if (_parentNodeName == null) {
_parentNodeName = XATxConverter.getNodeName(toCheck);
}
XATxConverter.setSubordinateNodeName(toImport.getXID(), TxControl.getXANodeName());
_theXid = new XidImple(toImport);
} else {
_theXid = new XidImple(xid);
}
_activated = true;
}
代码示例来源:origin: org.jboss.jbossts.jta/narayana-jta
private XidImple convertXid(Xid xid)
{
if (xid != null && xid.getFormatId() == XATxConverter.FORMAT_ID) {
XidImple toImport = new XidImple(xid);
XATxConverter.setSubordinateNodeName(toImport.getXID(), TxControl.getXANodeName());
return new SubordinateXidImple(toImport);
} else {
return new XidImple(xid);
}
}
代码示例来源:origin: org.jboss.narayana.jts/narayana-jts-idlj
@Override
public Vote checkXid(Xid xid) {
if (xid.getFormatId() != XATxConverter.FORMAT_ID) {
String nodeName = XATxConverter.getSubordinateNodeName(new XidImple(xid).getXID());
代码示例来源:origin: org.jboss.jbossts.jta/narayana-jta
byte[] gtridUid = uid.getBytes();
String nodeName = TxControl.getXANodeName();
int nodeNameLengthToUse = nodeName.getBytes().length;
xid.gtrid_length = gtridUid.length+nodeNameLengthToUse;
if (branch.notEquals(Uid.nullUid()))
setEisName(xid, eisName);
代码示例来源:origin: jbosstm/narayana
assertEquals(XATxConverter.getNodeName(rootXid.getXID()), nodeName1);
assertEquals(XATxConverter.getNodeName(rootXid.getXID()).length(),
nodeNameLength);
assertEquals(XATxConverter.getEISName(rootXid.getXID()), eisName);
assertEquals(
XATxConverter.getSubordinateNodeName(rootXid.getXID()),
null);
XATxConverter.setSubordinateNodeName(rootXid.getXID(), nodeName2);
XidImple subordinateXid = new XidImple(rootXid);
+ subordinateXid.getBranchQualifier().length,
subordinateXid.getBranchQualifier().length <= Xid.MAXBQUALSIZE);
assertEquals(XATxConverter.getNodeName(subordinateXid.getXID()),
nodeName1);
assertEquals(XATxConverter.getNodeName(subordinateXid.getXID())
.length(), nodeNameLength);
assertEquals(XATxConverter.getEISName(subordinateXid.getXID()),
eisName);
assertEquals(XATxConverter.getSubordinateNodeName(subordinateXid
.getXID()), nodeName2);
assertEquals(
XATxConverter.getSubordinateNodeName(
subordinateXid.getXID()).length(), nodeNameLength);
代码示例来源:origin: jbosstm/narayana
@Test
public void testSubordinateJTAXAResourceOrphanFilter() throws HeuristicRollbackException, HeuristicMixedException, HeuristicCommitException, SystemException, RollbackException, XAException {
XAResourceOrphanFilter orphanFilter = new SubordinateJTAXAResourceOrphanFilter();
XidImple xid = (XidImple) XATxConverter.getXid(Uid.nullUid(), false, XATxConverter.FORMAT_ID);
XATxConverter.setSubordinateNodeName(xid.getXID(), TxControl.getXANodeName());
List<String> xaRecoveryNodes = jtaPropertyManager.getJTAEnvironmentBean().getXaRecoveryNodes();
try {
jtaPropertyManager.getJTAEnvironmentBean().setXaRecoveryNodes(Arrays.asList("2"));
assertEquals(XAResourceOrphanFilter.Vote.ABSTAIN, orphanFilter.checkXid(xid));
jtaPropertyManager.getJTAEnvironmentBean().setXaRecoveryNodes(Arrays.asList("1"));
assertEquals(XAResourceOrphanFilter.Vote.ROLLBACK, orphanFilter.checkXid(xid));
} finally {
jtaPropertyManager.getJTAEnvironmentBean().setXaRecoveryNodes(xaRecoveryNodes);
}
}
}
代码示例来源:origin: jbosstm/narayana
XidImple xid2 = new XidImple(new Uid());
assertTrue(XATxConverter.getNodeName(xid1.getXID()).equals(TxControl.getXANodeName()));
代码示例来源:origin: jbosstm/narayana
@Test
public void testJTATransactionLogOrphanFilter()
{
XAResourceOrphanFilter orphanFilter = new JTATransactionLogXAResourceOrphanFilter();
Xid notJTAFormatId = XATxConverter.getXid(new Uid(), false, 0);
assertEquals(XAResourceOrphanFilter.Vote.ABSTAIN, orphanFilter.checkXid(notJTAFormatId));
Xid jtaFormatId = XATxConverter.getXid(new Uid(), false, XATxConverter.FORMAT_ID);
assertEquals(XAResourceOrphanFilter.Vote.ABSTAIN, orphanFilter.checkXid(jtaFormatId));
}
代码示例来源:origin: jbosstm/narayana
@Test
public void testJTANodeNameXAResourceOrphanFilter()
{
XAResourceOrphanFilter orphanFilter = new JTANodeNameXAResourceOrphanFilter();
Xid notJTAFormatId = XATxConverter.getXid(new Uid(), false, 0);
assertEquals(XAResourceOrphanFilter.Vote.ABSTAIN, orphanFilter.checkXid(notJTAFormatId));
List<String> recoveryNodes = new LinkedList<String>();
recoveryNodes.add("1");
jtaPropertyManager.getJTAEnvironmentBean().setXaRecoveryNodes(recoveryNodes);
String notRecoverableNodeName ="2";
TxControl.setXANodeName(notRecoverableNodeName);
Xid jtaNotRecoverableNodeName = XATxConverter.getXid(new Uid(), false, XATxConverter.FORMAT_ID);
assertEquals(XAResourceOrphanFilter.Vote.ABSTAIN, orphanFilter.checkXid(jtaNotRecoverableNodeName));
String recoverableNodeName ="1";
TxControl.setXANodeName(recoverableNodeName);
Xid jtaRecoverableNodeName = XATxConverter.getXid(new Uid(), false, XATxConverter.FORMAT_ID);
assertEquals(XAResourceOrphanFilter.Vote.ROLLBACK, orphanFilter.checkXid(jtaRecoverableNodeName));
recoveryNodes.clear();
recoveryNodes.add(NodeNameXAResourceOrphanFilter.RECOVER_ALL_NODES);
jtaPropertyManager.getJTAEnvironmentBean().setXaRecoveryNodes(recoveryNodes);
assertEquals(XAResourceOrphanFilter.Vote.ROLLBACK, orphanFilter.checkXid(jtaNotRecoverableNodeName));
assertEquals(XAResourceOrphanFilter.Vote.ROLLBACK, orphanFilter.checkXid(jtaRecoverableNodeName));
}
代码示例来源:origin: org.jboss.narayana.jta/jta
@Override
public String getNodeName() {
return XATxConverter.getNodeName(xidImple.getXID());
}
@Override
代码示例来源:origin: jboss.jbossts/jbossjts
public static String getNodeName(XID xid)
{
if(xid.formatID != FORMAT_ID) {
return null;
}
// the node name follows the Uid with no separator, so the only
// way to tell where it starts is to figure out how long the Uid is.
Uid uid = getUid(xid);
int uidLength = uid.getBytes().length;
int nameLength = xid.gtrid_length-uidLength;
byte[] nodeName = new byte[nameLength];
System.arraycopy(xid.data, uidLength, nodeName, 0, nodeName.length);
try {
return new String(nodeName, "US-ASCII");
} catch(UnsupportedEncodingException e) {
// should never happen, we use a required charset.
return "<failed to get nodename>";
}
}
代码示例来源:origin: jbosstm/narayana
@Test
public void testForeignXID() {
XidImple foreignXidImple = new XidImple(new MyForeignXID());
assertEquals(XATxConverter.getNodeName(foreignXidImple.getXID()), null);
assertTrue(XATxConverter.getEISName(foreignXidImple.getXID()) == -1);
assertEquals(XATxConverter.getSubordinateNodeName(foreignXidImple.getXID()), null);
}
代码示例来源:origin: org.jboss.narayana.jta/jta
public final Uid getTransactionUid() {
return XATxConverter.getUid(_theXid);
}
代码示例来源:origin: jboss.jbossts/jbossjts
public String toString ()
{
// controversial and not too robust. see JBTM-297 before messing with this.
if(formatID == XATxConverter.FORMAT_ID) {
// it's one of ours, we know how to inspect it:
return XATxConverter.getXIDString(this);
}
// it's a foreign id format, use a general algorithm:
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("< ");
stringBuilder.append(formatID);
stringBuilder.append(", ");
stringBuilder.append(gtrid_length);
stringBuilder.append(", ");
stringBuilder.append(bqual_length);
stringBuilder.append(", ");
for (int i = 0; i < gtrid_length; i++) {
stringBuilder.append(data[i]);
}
stringBuilder.append(", ");
for (int i = 0; i < bqual_length; i++) {
stringBuilder.append(gtrid_length+data[i]);
}
stringBuilder.append(" >");
return stringBuilder.toString();
}
代码示例来源:origin: org.jboss.narayana.jta/jta
/**
* Returning eis name codified inside of the Xid.
*
* @param xid the xid to check the eis name
* @return eis name integer saved in the xid
*/
public static final Integer getEisName (Xid xid)
{
return XATxConverter.getEISName(getXIDfromXid(xid));
}
内容来源于网络,如有侵权,请联系作者删除!