gpt4 book ai didi

bitronix.tm.resource.common.XAResourceProducer.startRecovery()方法的使用及代码示例

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

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

XAResourceProducer.startRecovery介绍

[英]Prepare the recoverable XAResource producer for recovery.
[中]为恢复准备可恢复的资源生成器。

代码示例

代码示例来源:origin: bitronix/btm

/**
 * Commit the specified branch of a dangling transaction.
 * Step 2.
 * @param uniqueName the unique name of the resource on which the commit should be done.
 * @param xid the {@link Xid} to commit.
 * @return true when commit was successful.
 * @throws RecoveryException if an error preventing recovery happened.
 */
private boolean commit(String uniqueName, Xid xid) throws RecoveryException {
  XAResourceProducer producer = registeredResources.get(uniqueName);
  try {
    XAResourceHolderState xaResourceHolderState = producer.startRecovery();
    return RecoveryHelper.commit(xaResourceHolderState, xid);
  } finally {
    producer.endRecovery();
  }
}

代码示例来源:origin: bitronix/btm

/**
 * Run the recovery process on the target resource.
 * Step 1.
 * @return a Set of BitronixXids.
 * @param producer the {@link XAResourceProducer} to recover.
 * @throws javax.transaction.xa.XAException if {@link XAResource#recover(int)} call fails.
 * @throws RecoveryException if an error preventing recovery happened.
 */
private Set<BitronixXid> recover(XAResourceProducer producer) throws XAException, RecoveryException {
  if (producer == null)
    throw new IllegalArgumentException("recoverable resource cannot be null");
  try {
    if (log.isDebugEnabled()) { log.debug("running recovery on " + producer); }
    XAResourceHolderState xaResourceHolderState = producer.startRecovery();
    return RecoveryHelper.recover(xaResourceHolderState);
  } finally {
    producer.endRecovery();
  }
}

代码示例来源:origin: org.mule.btm/mule-btm

/**
 * Run the recovery process on the target resource.
 * Step 1.
 * @return a Set of BitronixXids.
 * @param producer the {@link XAResourceProducer} to recover.
 * @throws javax.transaction.xa.XAException if {@link XAResource#recover(int)} call fails.
 * @throws RecoveryException if an error preventing recovery happened.
 */
private Set<BitronixXid> recover(XAResourceProducer producer) throws XAException, RecoveryException {
  if (producer == null)
    throw new IllegalArgumentException("recoverable resource cannot be null");
  try {
    if (log.isDebugEnabled()) log.debug("running recovery on " + producer);
    XAResourceHolderState xaResourceHolderState = producer.startRecovery();
    return RecoveryHelper.recover(xaResourceHolderState);
  } finally {
    producer.endRecovery();
  }
}

代码示例来源:origin: com.github.marcus-nl.btm/btm

private Future registerBlockingProducer(final XAResourceProducer producer, final CountDownLatch border) throws RecoveryException {
  final XAResourceHolderState resourceHolderState = producer.startRecovery();
  when(producer.startRecovery()).thenAnswer(new Answer<Object>() {
    public Object answer(InvocationOnMock invocation) throws Throwable {
      border.await();
      return resourceHolderState;
    }
  });
  return executorService.submit(new Callable<Object>() {
    public Object call() throws Exception {
      ResourceRegistrar.register(producer);
      return null;
    }
  });
}

代码示例来源:origin: bitronix/btm

/**
 * Rollback the specified branch of a dangling transaction.
 * Step 3.
 * @param uniqueName the unique name of the resource on which to rollback branches.
 * @param xid the {@link Xid} to rollback.
 * @return true when rollback was successful.
 * @throws RecoveryException if an error preventing recovery happened.
 */
private boolean rollback(String uniqueName, Xid xid) throws RecoveryException {
  XAResourceProducer producer = registeredResources.get(uniqueName);
  if (producer == null) {
    if (log.isDebugEnabled()) { log.debug("resource " + uniqueName + " has not recovered, skipping rollback"); }
    return false;
  }
  try {
    XAResourceHolderState xaResourceHolderState = producer.startRecovery();
    return RecoveryHelper.rollback(xaResourceHolderState, xid);
  } finally {
    producer.endRecovery();
  }
}

代码示例来源:origin: org.codehaus.btm/btm

/**
 * Run the recovery process on the target resource.
 * Step 1.
 * @return a Set of BitronixXids.
 * @param producer the {@link XAResourceProducer} to recover.
 * @throws javax.transaction.xa.XAException if {@link XAResource#recover(int)} call fails.
 * @throws RecoveryException if an error preventing recovery happened.
 */
private Set<BitronixXid> recover(XAResourceProducer producer) throws XAException, RecoveryException {
  if (producer == null)
    throw new IllegalArgumentException("recoverable resource cannot be null");
  try {
    if (log.isDebugEnabled()) log.debug("running recovery on " + producer);
    XAResourceHolderState xaResourceHolderState = producer.startRecovery();
    return RecoveryHelper.recover(xaResourceHolderState);
  } finally {
    producer.endRecovery();
  }
}

代码示例来源:origin: org.codehaus.btm/btm

/**
 * Rollback the specified branch of a dangling transaction.
 * Step 3.
 * @param uniqueName the unique name of the resource on which to rollback branches.
 * @param xid the {@link Xid} to rollback.
 * @return true when rollback was successful.
 * @throws RecoveryException if an error preventing recovery happened.
 */
private boolean rollback(String uniqueName, Xid xid) throws RecoveryException {
  XAResourceProducer producer = registeredResources.get(uniqueName);
  if (producer == null) {
    if (log.isDebugEnabled()) log.debug("resource " + uniqueName + " has not recovered, skipping rollback");
    return false;
  }
  try {
    XAResourceHolderState xaResourceHolderState = producer.startRecovery();
    return RecoveryHelper.rollback(xaResourceHolderState, xid);
  } finally {
    producer.endRecovery();
  }
}

代码示例来源:origin: com.github.marcus-nl.btm/btm

/**
 * Run the recovery process on the target resource.
 * Step 1.
 * @return a Set of BitronixXids.
 * @param producer the {@link XAResourceProducer} to recover.
 * @throws javax.transaction.xa.XAException if {@link XAResource#recover(int)} call fails.
 * @throws RecoveryException if an error preventing recovery happened.
 */
private Set<BitronixXid> recover(XAResourceProducer producer) throws XAException, RecoveryException {
  if (producer == null)
    throw new IllegalArgumentException("recoverable resource cannot be null");
  try {
    if (log.isDebugEnabled()) { log.debug("running recovery on " + producer); }
    XAResourceHolderState xaResourceHolderState = producer.startRecovery();
    return RecoveryHelper.recover(xaResourceHolderState);
  } finally {
    producer.endRecovery();
  }
}

代码示例来源:origin: org.mule.btm/mule-btm

/**
 * Rollback the specified branch of a dangling transaction.
 * Step 3.
 * @param uniqueName the unique name of the resource on which to rollback branches.
 * @param xid the {@link Xid} to rollback.
 * @return true when rollback was successful.
 * @throws RecoveryException if an error preventing recovery happened.
 */
private boolean rollback(String uniqueName, Xid xid) throws RecoveryException {
  XAResourceProducer producer = registeredResources.get(uniqueName);
  if (producer == null) {
    if (log.isDebugEnabled()) log.debug("resource " + uniqueName + " has not recovered, skipping rollback");
    return false;
  }
  try {
    XAResourceHolderState xaResourceHolderState = producer.startRecovery();
    return RecoveryHelper.rollback(xaResourceHolderState, xid);
  } finally {
    producer.endRecovery();
  }
}

代码示例来源:origin: bitronix/btm

private Future registerBlockingProducer(final XAResourceProducer producer, final CountDownLatch border) throws RecoveryException {
  final XAResourceHolderState resourceHolderState = producer.startRecovery();
  when(producer.startRecovery()).thenAnswer(new Answer<Object>() {
    public Object answer(InvocationOnMock invocation) throws Throwable {
      border.await();
      return resourceHolderState;
    }
  });
  return executorService.submit(new Callable<Object>() {
    public Object call() throws Exception {
      ResourceRegistrar.register(producer);
      return null;
    }
  });
}

代码示例来源:origin: com.github.marcus-nl.btm/btm

/**
 * Commit the specified branch of a dangling transaction.
 * Step 2.
 * @param uniqueName the unique name of the resource on which the commit should be done.
 * @param xid the {@link Xid} to commit.
 * @return true when commit was successful.
 * @throws RecoveryException if an error preventing recovery happened.
 */
private boolean commit(String uniqueName, Xid xid) throws RecoveryException {
  XAResourceProducer producer = registeredResources.get(uniqueName);
  try {
    XAResourceHolderState xaResourceHolderState = producer.startRecovery();
    return RecoveryHelper.commit(xaResourceHolderState, xid);
  } finally {
    producer.endRecovery();
  }
}

代码示例来源:origin: org.mule.btm/mule-btm

/**
 * Commit the specified branch of a dangling transaction.
 * Step 2.
 * @param uniqueName the unique name of the resource on which the commit should be done.
 * @param xid the {@link Xid} to commit.
 * @return true when commit was successful.
 * @throws RecoveryException if an error preventing recovery happened.
 */
private boolean commit(String uniqueName, Xid xid) throws RecoveryException {
  XAResourceProducer producer = registeredResources.get(uniqueName);
  try {
    XAResourceHolderState xaResourceHolderState = producer.startRecovery();
    return RecoveryHelper.commit(xaResourceHolderState, xid);
  } finally {
    producer.endRecovery();
  }
}

代码示例来源:origin: com.github.marcus-nl.btm/btm

/**
 * Rollback the specified branch of a dangling transaction.
 * Step 3.
 * @param uniqueName the unique name of the resource on which to rollback branches.
 * @param xid the {@link Xid} to rollback.
 * @return true when rollback was successful.
 * @throws RecoveryException if an error preventing recovery happened.
 */
private boolean rollback(String uniqueName, Xid xid) throws RecoveryException {
  XAResourceProducer producer = registeredResources.get(uniqueName);
  if (producer == null) {
    if (log.isDebugEnabled()) { log.debug("resource " + uniqueName + " has not recovered, skipping rollback"); }
    return false;
  }
  try {
    XAResourceHolderState xaResourceHolderState = producer.startRecovery();
    return RecoveryHelper.rollback(xaResourceHolderState, xid);
  } finally {
    producer.endRecovery();
  }
}

代码示例来源:origin: org.codehaus.btm/btm

/**
 * Commit the specified branch of a dangling transaction.
 * Step 2.
 * @param uniqueName the unique name of the resource on which the commit should be done.
 * @param xid the {@link Xid} to commit.
 * @return true when commit was successful.
 * @throws RecoveryException if an error preventing recovery happened.
 */
private boolean commit(String uniqueName, Xid xid) throws RecoveryException {
  XAResourceProducer producer = registeredResources.get(uniqueName);
  try {
    XAResourceHolderState xaResourceHolderState = producer.startRecovery();
    return RecoveryHelper.commit(xaResourceHolderState, xid);
  } finally {
    producer.endRecovery();
  }
}

代码示例来源:origin: com.github.marcus-nl.btm/btm

private XAResourceProducer createMockProducer(String uniqueName) throws RecoveryException {
  XAResourceProducer producer;
  producer = mock(XAResourceProducer.class);
  when(producer.getUniqueName()).thenReturn(uniqueName);
  ResourceBean resourceBean = mock(ResourceBean.class);
  when(resourceBean.getUniqueName()).thenReturn(uniqueName);
  XAResourceHolder resourceHolder = mock(XAResourceHolder.class);
  when(resourceHolder.getResourceBean()).thenReturn(resourceBean);
  XAResource xaResource = mock(XAResource.class);
  when(resourceHolder.getXAResource()).thenReturn(xaResource);
  when(producer.startRecovery()).thenReturn(new XAResourceHolderState(resourceHolder, resourceBean));
  return producer;
}

代码示例来源:origin: bitronix/btm

private XAResourceProducer createMockProducer(String uniqueName) throws RecoveryException {
  XAResourceProducer producer;
  producer = mock(XAResourceProducer.class);
  when(producer.getUniqueName()).thenReturn(uniqueName);
  ResourceBean resourceBean = mock(ResourceBean.class);
  when(resourceBean.getUniqueName()).thenReturn(uniqueName);
  XAResourceHolder resourceHolder = mock(XAResourceHolder.class);
  when(resourceHolder.getResourceBean()).thenReturn(resourceBean);
  XAResource xaResource = mock(XAResource.class);
  when(resourceHolder.getXAResource()).thenReturn(xaResource);
  when(producer.startRecovery()).thenReturn(new XAResourceHolderState(resourceHolder, resourceBean));
  return producer;
}

代码示例来源:origin: bitronix/btm

XAResourceHolderState xaResourceHolderState = xaResourceProducer.startRecovery();
boolean success = true;
Set<BitronixXid> xids = RecoveryHelper.recover(xaResourceHolderState);

代码示例来源:origin: org.codehaus.btm/btm

XAResourceHolderState xaResourceHolderState = xaResourceProducer.startRecovery();
boolean success = true;
Set<BitronixXid> xids = RecoveryHelper.recover(xaResourceHolderState);

代码示例来源:origin: com.github.marcus-nl.btm/btm

@Test
public void testNonRecoverableProducersAreNotRegistered() throws Exception {
  final XAResourceProducer producer = createMockProducer("non-recoverable");
  when(producer.startRecovery()).thenThrow(new RecoveryException("recovery not possible"));
  try {
    ResourceRegistrar.register(producer);
    fail("expecting RecoveryException");
  } catch (RecoveryException e) {
    assertNull(ResourceRegistrar.get("non-recoverable"));
  }
}

代码示例来源:origin: bitronix/btm

@Test
public void testNonRecoverableProducersAreNotRegistered() throws Exception {
  final XAResourceProducer producer = createMockProducer("non-recoverable");
  when(producer.startRecovery()).thenThrow(new RecoveryException("recovery not possible"));
  try {
    ResourceRegistrar.register(producer);
    fail("expecting RecoveryException");
  } catch (RecoveryException e) {
    assertNull(ResourceRegistrar.get("non-recoverable"));
  }
}

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