问题标签 [transactional]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
1670 浏览

architecture - 事务排队/出队

我需要以可靠/事务的方式为外部系统排队事件和任务。使用 MSMQ 或 ActiveMQ 之类的东西看起来很诱人,但事务部分变得复杂(MSDTC 等)。

我们可以使用数据库(SQL Server 2005+、Oracle 9+)并实现更轻松的事务支持,但排队部分变得更丑陋。

这两条路线似乎都不是那么好,并且充满了令人讨厌的陷阱和极端情况。

有人可以在这件事上提供一些实用的指导吗?

想一想:E/C/A 或者一个定时任务引擎,每隔一段时间就会唤醒,看看此时是否有定时任务需要运行(即 next-run-date 已经过了,但是 expire-date 还没到到达)。

0 投票
5 回答
463 浏览

.net - 检测线程组何时完成的最佳实践

检测整个线程组何时完成处理的最佳实践是什么?我有一个进程将查询 [长期运行] Web 服务以获取任意数量的对象,然后需要在所有对象都成功完成后采取事务操作。我目前正在使用 .Net 线程池中的委托异步运行它们。同步运行它们,违背了在多个线程上运行它们的目的......我还能如何检测所有何时完成?我虽然使用了一个计数器,(又名 COM 引用计数)为到达线程增加它,并在回调函数中减少它,并保留一个动态列表,其中包含对其中每个线程的引用,以显式跟踪每个线程当它们完成时,但这两种解决方案似乎都有些笨拙......

感谢所有人...根据您的建议,并且需要将对象实例传递给异步线程(由下面的 ref 变量 uPL 表示),我正在使用以下代码...注意:IEEDAL.GetUsagePayloadReadings(uPL1)是远程 Web 服务调用

0 投票
1 回答
690 浏览

sql-server - SQL Server 两层复制 - 事务/合并 - 行不下来

我有一个 SQL 2000 实例,该实例具有带有事务发布的数据库 - 仅表。它由 SQL 2005 实例订阅 - 没有问题。

我需要在合并发布中发布来自此事务订阅的一些表。现在,我在 SQL 2005 实例中使用另一个数据库作为合并订阅者。

设置如下所示:

SQL2000 --(事务)--> SQL2005-1 --(合并)--> SQL2005-2

SQL2000 发布的初始快照一直到 SLQ2005-2 合并订阅者。

如果我在 SQL2000 端更新或插入一行,它会通过中间的 SQL2005-1 数据库。但是,这些行不会传播到 SQL2005-2 数据库。如果我在 SQL2005-1 数据库中手动插入或更新一行,更改确实会通过。

当事务订阅执行插入或更新时,似乎没有调用合并发布工作的更新或插入触发器。

我怎样才能让它工作?任何帮助将非常感激!

0 投票
6 回答
224805 浏览

java - Spring - @Transactional - 在后台发生了什么?

我想知道当你用 注释方法时实际发生了@Transactional什么?当然,我知道 Spring 会将该方法包装在 Transaction 中。

但是,我有以下疑问:

  1. 我听说 Spring 创建了一个代理类有人可以更深入地解释这一点。该代理类中实际存在什么?实际课程会发生什么?以及如何查看 Spring 创建的代理类
  2. 我还在 Spring 文档中读到:

注意:由于这种机制是基于代理的,只有通过代理传入的“外部”方法调用才会被拦截。这意味着“自调用”,即目标对象中的一个方法调用目标对象的某个其他方法,即使调用的方法标有@Transactional

来源:http ://static.springsource.org/spring/docs/2.0.x/reference/transaction.html

为什么只有外部方法调用将在事务下而不是自调用方法?

0 投票
1 回答
889 浏览

java - 测试对事务服务的同时调用

我应该如何测试同时使用的事务性服务方法(它通过减少值来更新数据库行)?

我已经使用 SpringJunit4ClassRunner 设置了一个 JUnit 测试类,并且组件是 @autowired。

只是产生将调用该方法的线程似乎不起作用。我不确定这是否与 Spring 代理机制有关。

我想要实现的是创建一种情况,其中两个线程同时在测试方法“内部”,另一个线程将失败并回滚。例如,行值为 3,两个方法调用都试图将值减 2;如果该方法不起作用,则该值为-1,这是非法的。但我希望这两个调用都失败并回滚,或者尝试更新它的一个失败,而不是另一个失败。

这甚至可能吗?

0 投票
2 回答
28226 浏览

java - Spring多个@Transactional数据源


在我的服务层中,@Transactional(name="transactionManager2"); 如果我有多个事务管理器,我可以使用它来识别我使用的事务管理器吗?

0 投票
1 回答
5020 浏览

java - which SessionFactory should be use for transactionManager?

i have 2 datasource HRappsdao and projectdao, both are using different sessionFactory. in this case, my transactionmanager should be using which sessionfactory? (hrappsdao or projectdao) ?

editted

0 投票
7 回答
117023 浏览

java - 在日志中显示 Spring 事务

我为 spring 配置了事务支持。有什么方法可以记录事务以确保我正确设置了所有内容?在日志中显示是查看正在发生的事情的好方法。

0 投票
0 回答
3983 浏览

sql-server - 代理消息代码 20084。进程无法连接到订阅服务器

所有运行 SQL 2005 的服务器

SQL 服务器 (NOLA) 复制到 35 个远程位置 (StoreXX)。

本周早些时候,一份出版物开始在连接到 35 个远程位置中的 30 个时出现问题,错误如下:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

日期 2/4/2010 上午 10:00:01

记录作业历史(NOLA-Closing_Balance-CB 默认为 Stores-R99S-

商店 1-2790)

步骤 ID 2

服务器 NOLA

作业名称 NOLA-Closing_Balance-CB 默认为 Stores-R99S-Store1-2790

步骤名称 运行代理。

持续时间 00:31:47

Sql 严重性 0

Sql 消息 ID 0

操作员通过电子邮件发送

运营商网发送

操作员分页

重试次数 0

信息

2010-02-04 16:31:48.081 从代理配置文件中获取的参数值:

2010-02-04 16:31:48.081 连接到订户“R99S-Store1”

2010-02-04 16:31:48.440 代理消息代码 20084。该过程可以

未连接到用户“R99S-Store1”。

2010-02-04 16:31:48.472 类别:NULL

来源:Microsoft SQL Native Client

编号:10054

消息:TCP 提供程序:远程主机强制关闭现有连接。2010-02-04 16:31:48.472 类别:NULL

来源:Microsoft SQL Native Client

编号:10054

消息:通信链路故障

2010-02-04 16:31:48.472 代理以“重试”状态失败。稍后尝试运行代理。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 问题只是这一个出版物而不是所有订阅。我删除了一个问题订阅并重新阅读,同样的问题。

我创建了另一个出版物(相同的 dB)和订阅(相同和新订阅者),结果相同(上述错误)。

现在是它变得奇怪的地方......

我在发布者和订阅者上使用不同的 dB 创建了一个新出版物,一切正常。

我已经让网络人员检查了他们需要检查的内容并在谷歌上搜索,直到我脸色发青。

谁能给我这个问题的任何见解。

AHIA,拉里……

0 投票
1 回答
673 浏览

java - ui:repeat 在 ui:repeat 和 LazyInitException 内

我目前遇到 LazyInitException 页面包含如下代码:

storiesByTag()是一个检索List故事的 bean 方法。第二个ui:repeat应该然后获取每个标签并显示它的内容。默认情况下,所有获取都是惰性的,以避免加载过多的对象。

我对此仍然很模糊,但据我了解,这可能是因为在请求期间EntityManager关闭(从云中退出)或正在访问 a。@TransactionalCollection

Spring 的 Spring's OpenEntityManagerInViewFilterfrom Spring 已添加到项目中,但我不确定它是否正确地完成了它的工作。欢迎任何有关测试的建议。

因为我认为这Collection是这里的问题,所以我想知道什么是一个好的解决方案。我应该用 修改 DAO 方法fetch join吗?<f:view beforePhaseListener=...>或者我应该通过使用来触发 bean 中的方法并从数据库中获取一些新的 Tag 对象来采取 hacky 路线?

编辑:对于 Bozho:

网页.xml

对于罗马:

应用上下文.xml