我有标记为 @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) 的方法
一些方法(){}
。我需要创建一个测试用例,在其中运行此方法(第一个事务),并且在第一个事务提交之前,我将在第二个事务中并行运行此方法。我使用 eclipseLink 和 java ee。你能给我一些建议吗?
最佳答案
(glassfish:所以我猜你正在焊接)
对于 Weld 和 Hibernate,我使用(并创建)ejb-cdi-unit它允许您定义 PersistenceContexts(在 H2 的模拟中)并非常轻松地处理事务注释,即使在多个线程中也是如此。
您可以尝试使用它进行模拟(但不支持 eclipselink),或者您可以尝试使用 weld-unit 执行类似的操作(Weld-Standalone-Container 中的多线程持久性上下文)。或cdi-unit 。
关于java - 运行两个并行事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53118925/