- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中com.arjuna.ats.jta.recovery.XAResourceOrphanFilter.checkXid()
方法的一些代码示例,展示了XAResourceOrphanFilter.checkXid()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XAResourceOrphanFilter.checkXid()
方法的具体详情如下:
包路径:com.arjuna.ats.jta.recovery.XAResourceOrphanFilter
类名称:XAResourceOrphanFilter
方法名:checkXid
[英]Called by the XARecoveryModule for each in-doubt Xid. Implementations should return Vote.ROLLBACK if they recognize the xid and believe it should be aborted. Vote.LEAVE_ALONE if they recognize the xid and do not want the XARecovery module to roll it back. Vote.ABSTAIN if they do not recognize the xid. Each registered XAResourceOrphanFilter will be consulted before any rollback on each recovery pass, so they may change their mind over time e.g. if new information becomes available due to other recovery activity.
[中]由XARecoveryModule为每个有疑问的Xid调用。实现应该返回投票。如果他们认识到xid并认为应该中止,请回滚。选票如果他们识别出xid并且不希望XARecovery模块将其回滚,请不要打扰_。选票如果他们不认识xid,就弃权。在每次恢复过程中进行任何回滚之前,将咨询每个已注册的筛选器,因此他们可能会随着时间的推移而改变主意,例如,如果由于其他恢复活动而获得新信息。
代码示例来源:origin: org.jboss.jbossts.jta/narayana-jta
@Override
public Vote checkXid(Xid xid)
{
if(xid.getFormatId() != myFormatId) {
return Vote.ABSTAIN;
}
return nodeNameFilter.checkXid(xid);
}
}
代码示例来源:origin: jbosstm/narayana
@Override
public Vote checkXid(Xid xid)
{
if(xid.getFormatId() != myFormatId) {
return Vote.ABSTAIN;
}
return nodeNameFilter.checkXid(xid);
}
}
代码示例来源:origin: org.jboss.jbossts/jbossjta
@Override
public Vote checkXid(Xid xid)
{
if(xid.getFormatId() != myFormatId) {
return Vote.ABSTAIN;
}
return nodeNameFilter.checkXid(xid);
}
}
代码示例来源:origin: org.jboss.narayana.jta/jta
@Override
public Vote checkXid(Xid xid)
{
if(xid.getFormatId() != myFormatId) {
return Vote.ABSTAIN;
}
return nodeNameFilter.checkXid(xid);
}
}
代码示例来源:origin: org.jboss.narayana.jts/narayana-jts-idlj
@Override
public Vote checkXid(Xid xid)
{
if(xid.getFormatId() != myFormatId) {
return Vote.ABSTAIN;
}
return nodeNameFilter.checkXid(xid);
}
}
代码示例来源:origin: jbosstm/narayana
@Override
public Vote checkXid(Xid xid)
{
if(xid.getFormatId() != myFormatId) {
return Vote.ABSTAIN;
}
return nodeNameFilter.checkXid(xid);
}
}
代码示例来源:origin: org.jboss.jbossts/jbossjta
XAResourceOrphanFilter.Vote vote = filter.checkXid(xid);
代码示例来源:origin: org.jboss.jbossts.jta/narayana-jta
XAResourceOrphanFilter.Vote vote = filter.checkXid(xid);
代码示例来源:origin: jbosstm/narayana
XAResourceOrphanFilter.Vote vote = filter.checkXid(xid);
代码示例来源:origin: org.jboss.narayana.jta/jta
XAResourceOrphanFilter.Vote vote = filter.checkXid(xid);
代码示例来源:origin: jbosstm/narayana
XAResourceOrphanFilter.Vote vote = filter.checkXid(xid);
代码示例来源:origin: org.jboss.narayana.jts/narayana-jts-idlj
XAResourceOrphanFilter.Vote vote = filter.checkXid(xid);
代码示例来源: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: jbosstm/narayana
try {
Xid xid = XATxConverter.getXid(Uid.nullUid(), false, XATxConverter.FORMAT_ID);
assertEquals(XAResourceOrphanFilter.Vote.ABSTAIN, orphanFilter.checkXid(xid));
SubordinateTransaction subordinateTransaction = SubordinationManager.getTransactionImporter().importTransaction(xid);
final List<Xid> xids = new ArrayList<Xid>();
subordinateTransaction.enlistResource(xar);
try {
assertEquals(XAResourceOrphanFilter.Vote.LEAVE_ALONE, orphanFilter.checkXid(xids.get(0)));
} finally {
subordinateTransaction.doRollback();
assertEquals(XAResourceOrphanFilter.Vote.LEAVE_ALONE, orphanFilter.checkXid(xids.get(0)));
SubordinationManager.getTransactionImporter().removeImportedTransaction(xid);
assertEquals(XAResourceOrphanFilter.Vote.ROLLBACK, orphanFilter.checkXid(xids.get(0)));
} finally {
jtaPropertyManager.getJTAEnvironmentBean().setXaRecoveryNodes(xaRecoveryNodes);
代码示例来源:origin: jbosstm/narayana
@Test
public void testJTAActionStatusServiceXAResourceOrphanFilter() {
XAResourceOrphanFilter orphanFilter = new JTAActionStatusServiceXAResourceOrphanFilter();
List<String> xaRecoveryNodes = jtaPropertyManager.getJTAEnvironmentBean().getXaRecoveryNodes();
List<String> recoveryNodes = new LinkedList<String>();
recoveryNodes.add("1");
jtaPropertyManager.getJTAEnvironmentBean().setXaRecoveryNodes(recoveryNodes);
try {
Uid uid = new Uid();
Xid xid = XATxConverter.getXid(uid, false, XATxConverter.FORMAT_ID);
assertEquals(XAResourceOrphanFilter.Vote.ROLLBACK, orphanFilter.checkXid(xid));
TwoPhaseCoordinator tpc = new TwoPhaseCoordinator(uid);
try {
tpc.start();
assertEquals(XAResourceOrphanFilter.Vote.LEAVE_ALONE, orphanFilter.checkXid(xid));
} finally {
tpc.cancel();
}
assertEquals(XAResourceOrphanFilter.Vote.ROLLBACK, orphanFilter.checkXid(xid));
jtaPropertyManager.getJTAEnvironmentBean().setXaRecoveryNodes(null);
TwoPhaseCoordinator tpc2 = new TwoPhaseCoordinator(uid);
tpc2.start();
assertEquals(XAResourceOrphanFilter.Vote.ABSTAIN, orphanFilter.checkXid(xid));
tpc2.cancel();
} finally {
jtaPropertyManager.getJTAEnvironmentBean().setXaRecoveryNodes(xaRecoveryNodes);
}
}
代码示例来源: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);
}
}
}
关闭。这个问题不符合 Stack Overflow guidelines 。它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 Stack Overflow 的 on-topic。 4年前关闭。
假设我有一个列表 xs。如何在 ATS 中编写以下循环样式: foreach x in xs do process(x) 最佳答案 您可以使用旧的 DIY 风格(也:经典的 ATS 风格),也就是说,
在开头加上:从 ATS 网站学习 ATS。 尝试从列表中提取记录时,一旦我尝试引用记录变量,就会在下面的 x4.a 上收到类型错误。 那么为什么会失败 - x4 不知道它有记录吗? typedef a
我知道可以使用 libc/math 中的 sqrt 函数来完成它: staload Math = "libats/libc/SATS/math.sats" val sqrt2 = $Math.sqrt
我可以像堆栈一样使用列表,但是在 ATS 中创建队列的正确方法是什么?例如,假设我有以下伪代码: val xs = queue_create() val () = xs.enqueue(1) val
例如,如何在 ATS 中构造一个数组,其中包含从 A 到 Z 的所有大写字母?在 C 中,这可以按如下方式完成: char *Letters() { int i; char *cs = (
例如,我正在 ATS 中寻找一个示例,该示例或多或少地执行以下 C 代码的功能: int *theMultable[10][10]; void theMultable_initialize() {
例如,如何构造一个包含所有数字的列表:0、1、2、3、4、5、6、7、8 和 9。 最佳答案 您可以使用 val xs = ($list {int} (0, 1, 2, 3, 4, 5, 6, 7,
基本上,我正在寻找或多或少相当于以下 C 代码的东西: int theGlobalCount = 0; int theGlobalCount_get() { return theGlobalCount
假设我想对列表中的整数求和。我可以通过在列表上应用初始值为 0 的 reduce 运算符和加法函数来做到这一点。 ATS中reduce算子叫什么名字? 最佳答案 “reduce”这个名字有点含糊。它可
这里有两段代码我认为是等效的,除了第二段的行数比它应该多: fun move_ul {i:nat} ( p: int(i) , ms: list0(Int) ): list0(Int) = if
我经常在 ATS 中看到使用 case、case+ 或 case- 形成的 case 表达式。有什么区别? 最佳答案 如果表达式不详尽,使用 case 会发出警告,case+ 会产生错误,而 case
我知道如何使用 patsopt 和 atscc2js 将 ATS 代码编译成 JS 代码: patsopt -d foo.dats | atscc2js -o foo_dats.js 我是否需要为 a
例如,如何在 ATS 中编写 x 的 10 次幂的表达式?我尝试了 x^10 和 x^^10,但都没有奏效。 最佳答案 ATS 中整数和浮点值的取幂运算符是 ** ,如 implement main0
当使用像 list_map 这样的高阶函数时,需要构建闭包函数并将它们作为参数传递。之后,构建的闭包就变成了垃圾。有没有办法在调用堆栈上构建这样的闭包函数(以便在调用后自动释放它们)? 最佳答案 正如
main0 函数的类型是什么? 我正在编写 gtk3 库。但是 g_application_run() 函数需要 argv。当然,ATS语言可以在main0函数上使用argv。但是类型是什么? 最佳答
有时,我会看到如下代码: var foo = lam@(x: int): int => ... lam@ 是什么意思? lam 和 lam@ 有什么区别? 最佳答案 在内存方面,lam 创建一个盒装闭
这是日期格式化程序设置: let dateFormatter = DateFormatter() dateFormatter.dateStyle = .medium dateFormatter.tim
我想得到下面的结果但不使用 at语法,因为它在 Safari 中不受支持,我很难使用它。有谁知道任何方法?先感谢您! #content { background-color: black; h
也许我可以使用这样的脚本文件: 现在在 -f script_file 但是如何将参数分配给脚本。 最佳答案 at 没有 -f 开关。你可以像下面这样使用它: echo "sh script.sh" |
我是一名优秀的程序员,十分优秀!