Я столкнулся с проблемой, я действительно не знаю, как поймать хвост кошки (если вы дадите мне шутку: о))
У меня есть веб-приложение на войне, развертывание в Tomcat. война содержит 4 банки.
4 банки имеют 4 applicationContext, 4 entityManager и 4 TransactionManager.
объявить, как это (изменить номер 1 ..):
<bean id="entityManagerFactory1"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
p:dataSource-ref="dataSource1"
p:persistence-unit-name="com.xxxxxx.domain" >
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"
p:databasePlatform="${ds1.dbdialect}" p:generate-ddl="false"
p:showSql="${ds1.showsql}" />
</property>
<property name="loadTimeWeaver">
<bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver" />
</property>
</bean>
<bean id="transactionManager1" class="org.springframework.orm.jpa.JpaTransactionManager"
p:entityManagerFactory-ref="entityManagerFactory1">
depends-on="entityManagerFactory1" name="transactionManager1"/>
<tx:annotation-driven transaction-manager="transactionManager1" />
контекст загружается так:
моя проблема, я обнаружил, что когда я использую BO 3, транзакция открыта с источником данных 2.
Более того, если я настаиваю, у меня появляется сообщение:
AbstractSaveEventListener - задержка вставки идентификатора из-за отсутствия транзакции
НО, если я запускаю jar 1 один (например), все работает отлично.
Большое спасибо за ваше просветление.