Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 事务管理器don';我不承担这笔交易_Java_Spring_Jpa_Spring Transactions_Spring Orm - Fatal编程技术网

Java 事务管理器don';我不承担这笔交易

Java 事务管理器don';我不承担这笔交易,java,spring,jpa,spring-transactions,spring-orm,Java,Spring,Jpa,Spring Transactions,Spring Orm,我正面临一个问题,我真的不知道如何抓住猫尾巴(如果你给我开个玩笑:哦)) 我在战争中有一个webapp,在tomcat中部署。这场战争包含4个罐子。 4个JAR有4个applicationContext、4个entityManager和4个TransactionManager 这样声明(更改数字1..): 取决于=“entityManagerFactory1”name=“transactionManager1”/> 上下文如下所示: 我的问题是,当我使用3的BO时,事务是以2的数据源打开的

我正面临一个问题,我真的不知道如何抓住猫尾巴(如果你给我开个玩笑:哦))

我在战争中有一个webapp,在tomcat中部署。这场战争包含4个罐子。 4个JAR有4个applicationContext、4个entityManager和4个TransactionManager

这样声明(更改数字1..):


取决于=“entityManagerFactory1”name=“transactionManager1”/>
上下文如下所示:

我的问题是,当我使用3的BO时,事务是以2的数据源打开的

此外,如果我坚持,我会得到以下信息:

AbstractSaveEventListener-由于没有正在进行的事务而延迟标识插入

但是如果我单独启动jar1(例如),那么一切都可以完美地工作

非常感谢您的启示。

让我猜猜:

在servlet-context.xml中,是否导入上下文?e、 g:

<import location="classpath:context1.xml" />
<import location="classpath:context2.xml" />

现在,用
@Transactional1
注释JAR1中的所有方法,用
@Transactional2
注释JAR2中的所有方法。该机制在

一节中有说明,非常感谢!我使用XML风格的事务声明,因为我的spring版本有点旧。
<import location="classpath:context1.xml" />
<import location="classpath:context2.xml" />
@Transactional("tx1")
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE,ElementType.METHOD})
public @interface Transactional1 {}