【问题标题】:Running two parallel transactions运行两个并行事务
【发布时间】:2018-11-02 12:49:25
【问题描述】:
我有@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
someMethod() {} 标记的方法。我需要创建一个测试用例,我将在其中运行此方法(第一个事务),在第一个事务提交之前,我将在第二个事务中并行运行此方法。我使用 eclipseLink 和 java ee。你能给我一些建议吗?
【问题讨论】:
标签:
java
jakarta-ee
glassfish
eclipselink
【解决方案1】:
(glassfish:所以我想你是在焊接工作)
在 Weld 和 Hibernate 的情况下,我使用(并创建)ejb-cdi-unit,它允许您定义 PersistenceContexts(在 H2 的 Simulation 中)和即使在多个线程中也很容易处理事务注释。
您可以尝试使用它进行模拟(但不支持 eclipselink),或者您可以尝试使用weld-unit 或cdi-unit 执行类似的操作(Weld-Standalone-Container 中的多线程持久性上下文)。