com.arjuna.ats.jta.xa.XATxConverter类的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(10.4k)|赞(0)|评价(0)|浏览(124)

本文整理了Java中com.arjuna.ats.jta.xa.XATxConverter类的一些代码示例,展示了XATxConverter类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XATxConverter类的具体详情如下:
包路径:com.arjuna.ats.jta.xa.XATxConverter
类名称: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));
}

相关文章