gpt4 book ai didi

org.bytesoft.transaction.xa.XidFactory.createGlobalXid()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-26 21:05:05 26 4
gpt4 key购买 nike

本文整理了Java中org.bytesoft.transaction.xa.XidFactory.createGlobalXid()方法的一些代码示例,展示了XidFactory.createGlobalXid()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XidFactory.createGlobalXid()方法的具体详情如下:
包路径:org.bytesoft.transaction.xa.XidFactory
类名称:XidFactory
方法名:createGlobalXid

XidFactory.createGlobalXid介绍

暂无

代码示例

代码示例来源:origin: liuyangming/ByteTCC

@RequestMapping(value = "/org/bytesoft/bytetcc/forget/{xid}", method = RequestMethod.POST)
@ResponseBody
public void forget(@PathVariable("xid") String identifier, HttpServletResponse response) {
  try {
    XidFactory xidFactory = this.beanFactory.getCompensableXidFactory();
    byte[] byteArray = ByteUtils.stringToByteArray(identifier);
    Xid xid = xidFactory.createGlobalXid(byteArray);
    this.compensableCoordinator.forget(xid);
  } catch (XAException ex) {
    logger.error("Error occurred while forgetting transaction: {}.", identifier, ex);
    response.addHeader("failure", "true");
    response.addHeader("XA_XAER", String.valueOf(ex.errorCode));
    response.setStatus(500);
  } catch (RuntimeException ex) {
    logger.error("Error occurred while forgetting transaction: {}.", identifier, ex);
    response.addHeader("failure", "true");
    response.setStatus(500);
  }
}

代码示例来源:origin: liuyangming/ByteTCC

@RequestMapping(value = "/org/bytesoft/bytetcc/forget/{xid}", method = RequestMethod.POST)
@ResponseBody
public void forget(@PathVariable("xid") String identifier, HttpServletResponse response) {
  try {
    XidFactory xidFactory = this.beanFactory.getCompensableXidFactory();
    byte[] byteArray = ByteUtils.stringToByteArray(identifier);
    Xid xid = xidFactory.createGlobalXid(byteArray);
    this.compensableCoordinator.forget(xid);
  } catch (XAException ex) {
    logger.error("Error occurred while forgetting transaction: {}.", identifier, ex);
    response.addHeader("failure", "true");
    response.addHeader("XA_XAER", String.valueOf(ex.errorCode));
    response.setStatus(500);
  } catch (RuntimeException ex) {
    logger.error("Error occurred while forgetting transaction: {}.", identifier, ex);
    response.addHeader("failure", "true");
    response.setStatus(500);
  }
}

代码示例来源:origin: liuyangming/ByteTCC

@RequestMapping(value = "/org/bytesoft/bytetcc/commit/{xid}/{opc}", method = RequestMethod.POST)
@ResponseBody
public void commit(@PathVariable("xid") String identifier, @PathVariable("opc") boolean onePhase,
    HttpServletResponse response) {
  try {
    XidFactory xidFactory = this.beanFactory.getCompensableXidFactory();
    byte[] byteArray = ByteUtils.stringToByteArray(identifier);
    Xid xid = xidFactory.createGlobalXid(byteArray);
    this.compensableCoordinator.commit(xid, onePhase);
  } catch (XAException ex) {
    logger.error("Error occurred while committing transaction: {}.", identifier, ex);
    response.addHeader("failure", "true");
    response.addHeader("XA_XAER", String.valueOf(ex.errorCode));
    response.setStatus(500);
  } catch (RuntimeException ex) {
    logger.error("Error occurred while committing transaction: {}.", identifier, ex);
    response.addHeader("failure", "true");
    response.setStatus(500);
  }
}

代码示例来源:origin: liuyangming/ByteTCC

@RequestMapping(value = "/org/bytesoft/bytetcc/rollback/{xid}", method = RequestMethod.POST)
@ResponseBody
public void rollback(@PathVariable("xid") String identifier, HttpServletResponse response) {
  try {
    XidFactory xidFactory = this.beanFactory.getCompensableXidFactory();
    byte[] byteArray = ByteUtils.stringToByteArray(identifier);
    Xid xid = xidFactory.createGlobalXid(byteArray);
    this.compensableCoordinator.rollback(xid);
  } catch (XAException ex) {
    logger.error("Error occurred while rolling back transaction: {}.", identifier, ex);
    response.addHeader("failure", "true");
    response.addHeader("XA_XAER", String.valueOf(ex.errorCode));
    response.setStatus(500);
  } catch (RuntimeException ex) {
    logger.error("Error occurred while rolling back transaction: {}.", identifier, ex);
    response.addHeader("failure", "true");
    response.setStatus(500);
  }
}

代码示例来源:origin: liuyangming/ByteTCC

@RequestMapping(value = "/org/bytesoft/bytetcc/rollback/{xid}", method = RequestMethod.POST)
@ResponseBody
public void rollback(@PathVariable("xid") String identifier, HttpServletResponse response) {
  try {
    XidFactory xidFactory = this.beanFactory.getCompensableXidFactory();
    byte[] byteArray = ByteUtils.stringToByteArray(identifier);
    Xid xid = xidFactory.createGlobalXid(byteArray);
    this.compensableCoordinator.rollback(xid);
  } catch (XAException ex) {
    logger.error("Error occurred while rolling back transaction: {}.", identifier, ex);
    response.addHeader("failure", "true");
    response.addHeader("XA_XAER", String.valueOf(ex.errorCode));
    response.setStatus(500);
  } catch (RuntimeException ex) {
    logger.error("Error occurred while rolling back transaction: {}.", identifier, ex);
    response.addHeader("failure", "true");
    response.setStatus(500);
  }
}

代码示例来源:origin: liuyangming/ByteTCC

@RequestMapping(value = "/org/bytesoft/bytetcc/commit/{xid}/{opc}", method = RequestMethod.POST)
@ResponseBody
public void commit(@PathVariable("xid") String identifier, @PathVariable("opc") boolean onePhase,
    HttpServletResponse response) {
  try {
    XidFactory xidFactory = this.beanFactory.getCompensableXidFactory();
    byte[] byteArray = ByteUtils.stringToByteArray(identifier);
    Xid xid = xidFactory.createGlobalXid(byteArray);
    this.compensableCoordinator.commit(xid, onePhase);
  } catch (XAException ex) {
    logger.error("Error occurred while committing transaction: {}.", identifier, ex);
    response.addHeader("failure", "true");
    response.addHeader("XA_XAER", String.valueOf(ex.errorCode));
    response.setStatus(500);
  } catch (RuntimeException ex) {
    logger.error("Error occurred while committing transaction: {}.", identifier, ex);
    response.addHeader("failure", "true");
    response.setStatus(500);
  }
}

代码示例来源:origin: liuyangming/ByteTCC

@RequestMapping(value = "/org/bytesoft/bytetcc/prepare/{xid}", method = RequestMethod.POST)
@ResponseBody
public int prepare(@PathVariable("xid") String identifier, HttpServletResponse response) {
  try {
    XidFactory xidFactory = this.beanFactory.getCompensableXidFactory();
    byte[] byteArray = ByteUtils.stringToByteArray(identifier);
    Xid xid = xidFactory.createGlobalXid(byteArray);
    return this.compensableCoordinator.prepare(xid);
  } catch (XAException ex) {
    logger.error("Error occurred while preparing transaction: {}.", identifier, ex);
    response.addHeader("failure", "true");
    response.addHeader("XA_XAER", String.valueOf(ex.errorCode));
    response.setStatus(500);
    return -1;
  } catch (RuntimeException ex) {
    logger.error("Error occurred while preparing transaction: {}.", identifier, ex);
    response.addHeader("failure", "true");
    response.setStatus(500);
    return -1;
  }
}

代码示例来源:origin: liuyangming/ByteTCC

@RequestMapping(value = "/org/bytesoft/bytetcc/prepare/{xid}", method = RequestMethod.POST)
@ResponseBody
public int prepare(@PathVariable("xid") String identifier, HttpServletResponse response) {
  try {
    XidFactory xidFactory = this.beanFactory.getCompensableXidFactory();
    byte[] byteArray = ByteUtils.stringToByteArray(identifier);
    Xid xid = xidFactory.createGlobalXid(byteArray);
    return this.compensableCoordinator.prepare(xid);
  } catch (XAException ex) {
    logger.error("Error occurred while preparing transaction: {}.", identifier, ex);
    response.addHeader("failure", "true");
    response.addHeader("XA_XAER", String.valueOf(ex.errorCode));
    response.setStatus(500);
    return -1;
  } catch (RuntimeException ex) {
    logger.error("Error occurred while preparing transaction: {}.", identifier, ex);
    response.addHeader("failure", "true");
    response.setStatus(500);
    return -1;
  }
}

代码示例来源:origin: liuyangming/ByteTCC

public void onRecovery(Transaction transaction) {
  org.bytesoft.transaction.TransactionContext transactionContext = transaction.getTransactionContext();
  TransactionXid xid = transactionContext.getXid();
  XidFactory xidFactory = this.beanFactory.getCompensableXidFactory();
  TransactionXid globalXid = xidFactory.createGlobalXid(xid.getGlobalTransactionId());
  this.recovered.put(globalXid, transaction);
}

代码示例来源:origin: liuyangming/ByteTCC

buffer.get(resourceByteArray);
TransactionXid globalXid = xidFactory.createGlobalXid(globalByteArray);
TransactionXid branchXid = xidFactory.createBranchXid(globalXid, branchByteArray);
String resourceId = StringUtils.trimToNull(new String(resourceByteArray));

代码示例来源:origin: liuyangming/ByteTCC

public void registerCompensable(CompensableInvocation invocation) {
  XidFactory xidFactory = this.beanFactory.getTransactionXidFactory();
  invocation.setEnlisted(true);
  CompensableArchive archive = new CompensableArchive();
  TransactionXid globalXid = xidFactory.createGlobalXid(this.transactionContext.getXid().getGlobalTransactionId());
  TransactionXid branchXid = xidFactory.createBranchXid(globalXid);
  archive.setIdentifier(branchXid);
  archive.setCompensable(invocation);
  this.archiveList.add(archive);
  this.currentArchiveList.add(archive);
  logger.info("{}| register compensable service: {}.",
      ByteUtils.byteArrayToString(this.transactionContext.getXid().getGlobalTransactionId()),
      ByteUtils.byteArrayToString(archive.getIdentifier().getGlobalTransactionId()));
}

代码示例来源:origin: liuyangming/ByteTCC

public void begin() throws NotSupportedException, SystemException {
  CompensableTransaction compensable = this.getCompensableTransactionQuietly();
  if (compensable == null || compensable.getTransaction() != null) {
    throw new SystemException(XAException.XAER_PROTO);
  }
  TransactionContext compensableContext = compensable.getTransactionContext();
  XidFactory transactionXidFactory = this.beanFactory.getTransactionXidFactory();
  TransactionXid transactionXid = transactionXidFactory.createGlobalXid();
  TransactionContext transactionContext = compensableContext.clone();
  transactionContext.setXid(transactionXid);
  this.invokeBegin(transactionContext, false);
}

代码示例来源:origin: liuyangming/ByteTCC

public void onEnlistResource(Xid xid, XAResource xares) {
  String resourceKey = null;
  if (XAResourceDescriptor.class.isInstance(xares)) {
    XAResourceDescriptor descriptor = (XAResourceDescriptor) xares;
    resourceKey = descriptor.getIdentifier();
  } else if (XAResourceArchive.class.isInstance(xares)) {
    XAResourceArchive resourceArchive = (XAResourceArchive) xares;
    XAResourceDescriptor descriptor = resourceArchive.getDescriptor();
    resourceKey = descriptor == null ? null : descriptor.getIdentifier();
  }
  CompensableLogger compensableLogger = this.beanFactory.getCompensableLogger();
  if (this.transactionContext.isCompensating()) {
    // this.archive.setCompensableXid(xid); // preset the compensable-xid.
    this.archive.setCompensableResourceKey(resourceKey);
    compensableLogger.updateCompensable(this.archive);
  } else {
    for (int i = 0; i < this.currentArchiveList.size(); i++) {
      CompensableArchive compensableArchive = this.currentArchiveList.get(i);
      compensableArchive.setTransactionXid(xid);
      compensableArchive.setTransactionResourceKey(resourceKey);
      XidFactory transactionXidFactory = this.beanFactory.getTransactionXidFactory();
      TransactionXid globalXid = transactionXidFactory.createGlobalXid(xid.getGlobalTransactionId());
      TransactionXid branchXid = transactionXidFactory.createBranchXid(globalXid);
      compensableArchive.setCompensableXid(branchXid); // preset the compensable-xid.
      compensableLogger.createCompensable(compensableArchive);
    }
  }
}

代码示例来源:origin: liuyangming/ByteTCC

public void recover(org.bytesoft.compensable.archive.TransactionArchive archive) {
    XidFactory transactionXidFactory = beanFactory.getTransactionXidFactory();
    CompensableTransactionImpl transaction = reconstruct(archive);
    TransactionContext transactionContext = transaction.getTransactionContext();
    TransactionXid compensableXid = transactionContext.getXid();
    if (transactionContext.isCompensable() == false) {
      TransactionXid transactionXid = transactionXidFactory
          .createGlobalXid(compensableXid.getGlobalTransactionId());
      Transaction tx = recovered.get(transactionXid);
      if (tx != null) {
        tx.setTransactionalExtra(transaction);
        transaction.setTransactionalExtra(tx); // TODO different thread
      }
    } else {
      recoverStatusIfNecessary(transaction);
    } // end-if (transactionContext.isCoordinator())
    transactionRepository.putTransaction(compensableXid, transaction);
    transactionRepository.putErrorTransaction(compensableXid, transaction);
  }
});

代码示例来源:origin: liuyangming/ByteTCC

public void forget(Xid xid) throws XAException {
  this.checkParticipantReadyIfNecessary();
  if (xid == null) {
    throw new XAException(XAException.XAER_INVAL);
  }
  TransactionRepository compensableRepository = this.beanFactory.getCompensableRepository();
  XidFactory xidFactory = this.beanFactory.getCompensableXidFactory();
  TransactionXid globalXid = xidFactory.createGlobalXid(xid.getGlobalTransactionId());
  CompensableTransaction transaction = null;
  try {
    transaction = (CompensableTransaction) compensableRepository.getTransaction(globalXid);
  } catch (TransactionException tex) {
    throw new XAException(XAException.XAER_RMERR);
  }
  if (transaction == null) {
    throw new XAException(XAException.XAER_NOTA);
  }
  try {
    transaction.forget();
  } catch (SystemException ex) {
    logger.error("Error occurred while forgetting transaction: {}." //
        , ByteUtils.byteArrayToString(xid.getGlobalTransactionId()), ex);
    throw new XAException(XAException.XAER_RMERR);
  } catch (RuntimeException rex) {
    logger.error("Error occurred while forgetting transaction: {}." //
        , ByteUtils.byteArrayToString(xid.getGlobalTransactionId()), rex);
    throw new XAException(XAException.XAER_RMERR);
  }
}

代码示例来源:origin: liuyangming/ByteTCC

TransactionXid globalXid = compensableXidFactory.createGlobalXid(globalByteArray);
archive.setXid(globalXid);

代码示例来源:origin: liuyangming/ByteTCC

transactionContext.setCompensating(archive.isPropagated() == false);
transactionContext.setRecoveried(true);
transactionContext.setXid(xidFactory.createGlobalXid(archive.getXid().getGlobalTransactionId()));
transactionContext.setPropagatedBy(transactionArchive.getPropagatedBy());
transactionContext.setRecoveredTimes(transactionArchive.getRecoveredTimes());

代码示例来源:origin: liuyangming/ByteTCC

public void rollback(Xid xid) throws XAException {
  this.checkParticipantReadyIfNecessary();
  if (xid == null) {
    throw new XAException(XAException.XAER_INVAL);
  }
  XidFactory xidFactory = this.beanFactory.getCompensableXidFactory();
  TransactionLock compensableLock = this.beanFactory.getCompensableLock();
  TransactionXid globalXid = xidFactory.createGlobalXid(xid.getGlobalTransactionId());
  CompensableTransaction transaction = null;
  boolean success = false;
  boolean locked = false;
  try {
    if ((locked = compensableLock.lockTransaction(globalXid, this.endpoint)) == false) {
      throw new XAException(XAException.XAER_RMERR);
    }
    transaction = this.invokeRollback(globalXid);
    success = true;
  } catch (RuntimeException ex) {
    logger.error("Error occurred while rolling back transaction: {}." //
        , ByteUtils.byteArrayToString(xid.getGlobalTransactionId()), ex);
    throw new XAException(XAException.XAER_RMERR); // should never happen
  } finally {
    if (locked) {
      compensableLock.unlockTransaction(globalXid, this.endpoint);
    } // end-if (locked)
    if (success) {
      transaction.forgetQuietly(); // forget transaction
    } // end-if (success)
  }
}

代码示例来源:origin: liuyangming/ByteTCC

public TransactionXid compensableBegin() throws NotSupportedException, SystemException {
  RemoteCoordinator compensableCoordinator = (RemoteCoordinator) this.beanFactory.getCompensableNativeParticipant();
  CompensableManager tompensableManager = this.beanFactory.getCompensableManager();
  XidFactory compensableXidFactory = this.beanFactory.getCompensableXidFactory();
  CompensableTransactionImpl compensable = (CompensableTransactionImpl) tompensableManager
      .getCompensableTransactionQuietly();
  if (compensable != null) {
    throw new NotSupportedException();
  }
  TransactionXid compensableXid = compensableXidFactory.createGlobalXid();
  TransactionContext compensableContext = new TransactionContext();
  compensableContext.setCoordinator(true);
  compensableContext.setPropagated(true);
  compensableContext.setCompensable(true);
  compensableContext.setStatefully(this.statefully);
  compensableContext.setXid(compensableXid);
  compensableContext.setPropagatedBy(compensableCoordinator.getIdentifier());
  compensable = new CompensableTransactionImpl(compensableContext);
  compensable.setBeanFactory(this.beanFactory);
  try {
    compensableCoordinator.start(compensableContext, XAResource.TMNOFLAGS);
  } catch (XAException ex) {
    logger.error("Error occurred while beginning an compensable transaction!", ex);
    throw new SystemException(ex.getMessage());
  }
  return compensableXid;
}

代码示例来源:origin: liuyangming/ByteTCC

TransactionXid globalXid = xidFactory.createGlobalXid(xid.getGlobalTransactionId());
CompensableTransaction transaction = null;
try {

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com