- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
查看此链接: When does @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) commit?
B怎么可能是正确答案呢?我认为用 REQUIRES_NEW 注释的方法会在外部挂起的事务继续之前提交。
我问这个问题是因为当涉及到从for循环中的另一个bean的requires_new开始的事务时,我看到了奇怪的行为。就像 Aby 在 for 循环中调用 bob 一样。如果其中一个事务由于 UniqueConstraintViolation 等原因而回滚,HSQLDB 和 db2 也会间歇性地回滚以前的事务,并且间歇性地仅事务失败,并提交其他事务。并且只有当我重新启动 jboss 时,行为才会改变。当事务失败并且我得到前一个事务也回滚的行为时,我还会得到 jdbcException:连接在循环的下一次调用中关闭。因此,首先我想知道 require_new 的预期行为。我正在使用 Hibernate、jboss 5、CMT、db2 和内存中的 HSQLDB(我尝试过 1.8 版本和 2.2.9)谢谢!
最佳答案
所以我发现这就是奇怪行为的原因
jboss ignores requires_new after restart
在链接中:
When does @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) commit?
替代方案 a 是正确答案,因此它是该帖子中的错误答案。
关于hibernate - @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) 何时提交? - 跟进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15666104/
JBoss 4.x EJB 3.0 我见过如下代码(大大简化): @Stateless @TransactionAttribute(TransactionAttributeType.NOT_SUPPO
在下面的代码方法doService1()中更新了正确的sql,但是doService2() sql有一些问题,但是当我调用doService()时即使 doService2() 有 sql 异常,它也
根据我的理解,以下代码中的 newPrint 方法应该创建一个新事务,但显然它打印出与 oldPrint 方法中使用的相同的事务状态对象。我正在从另一个类(class)调用 oldPrint。是因为使
根据 documentation , 在容器管理的事务中,如果一个方法被注释为 TransactionAttributeType.REQUIRES_NEW 属性,将暂停任何客户端事务,委托(deleg
我想集成测试一个调用使用 @Transactional(propagation = Propagation.REQUIRES_NEW) 的方法的服务方法.但是,基于内部(新)事务的断言失败。 clas
我想测试一种通过在循环中调用 DAO 将数据插入表中的服务方法。服务方法被注释为 @Transactional(propagation = Propagation.REQUIRES_NEW) 单元测试
我正在使用 EJB 3.0 开发 SAP java 应用服务器 我想一个一个地插入数据库。因为我的数据太多了,要分数据。所以我尝试了测试代码,它确实有效,但没有按我想要的那样工作。 我想为每个部分创建
考虑一个需要很长时间的事务。在此期间,我想对 TableSmall 执行一些小更新。 ,它应该立即执行,并且主事务的回滚不应该回滚那些小的更新。 我当前的问题是这些小更新将锁定 TableSmall\
我遇到这样的错误 a different object with the same identifier value was already associated with the session:
在 spring 容器中,代码如下: public class A { @Transactional public void m1() { ... b.
我有方法: @Transactional public void importChargesRequest() { ... for (Charge charge : charges)
我的 spring (4.1.1) 应用程序部署在 JBoss-6.10-final 实例上,因此它使用基于容器的事务管理器和数据源。对于消息传递,我使用 TIBCO EMS 8.1 和 XA 队列连
我的服务等级。 @Service @Transactional(value = "transactionManager", readOnly = true, propagation = Propaga
我让 spring 将服务注入(inject)自身,以允许服务对其自身进行事务调用。不幸的是,我发现抛出 NullPointerException 并被捕获的 require_new 方法不会回滚新事
我需要在 glassfish3.0 上使用 JPA 2.0 和 EJB3.0 删除忽略任何完整性约束的员工列表(即成功删除尚未与任何其他实体相关的实体或跳过与其他实体相关的实体) : 我迭代列表并在
运行我的测试时,它在调用 method() 时挂起。难道我做错了什么?救命! @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration
我测试了我的 ejb jpa 事务。我使用容器管理的 entityManager: @PersistenceContext(unitName = "ParticularUnit") EntityMan
有两个函数 A 和 B 定义了事务注解。 我正在从 A 调用 B。 @Transactional(value=Constants.READ_WRITE_REQUEST) public int A(..
同时对基于 JPA 的 DAO 层进行压力测试(同时运行 500 个同时更新,每个更新都在一个单独的线程中)。我遇到了以下-系统一直卡住无法取得任何进展。 问题是,在某个时候任何线程都没有可用的连接,
我是学习 Spring Boot 的新手。我想知道 @Transactional 注释的传播属性中 REQUIRES_NEW 的实际用例是什么。 我知道,如果新事务的请求到达,它会暂停正在进行的事务,
我是一名优秀的程序员,十分优秀!