Я использую JBPM во встроенном режиме с Spring и Bitronix для управления транзакциями.Помимо источника данных JBPM, существует также источник данных приложения, который я использую для прямых запросов к базе данных с использованием JDBCTenmplate.
Я хочу, чтобы транзакция откатилась (как в базе данных приложения, так и в базе данных JBPM) в случае любого исключения.И вызов базы данных приложения, и вызовы JBPM выполняются в одной транзакции.Однако отката не происходит.Похоже, BTM не знает об источнике данных приложения.Пожалуйста, помогите исправить приведенную ниже конфигурацию, чтобы управление транзакциями работало с обоими источниками данных.
Код и конфигурация Spring xml:
@Transactional(propogation=Propagation.REQUIRED, isolation=Isolation.REPEATABLE_READ, rollbackFor=Exception.class)
<bean id="datasource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/applicationOracleDataSource" />
</bean>
<bean id="jbpm_datasource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/jbpmOracleDataSource" />
</bean>
<bean id="jbpmEMF" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="org.jbpm.persistence.spring.jta"/>
<property name="persistenceXmlLocation" value="classpath:persistence.xml"/>
<property name="datasource" value="jbpm_datasource"/>
</bean>
enter code here
<bean id="btmConfig" factory-method="getConfiguration" class="bitronix.tm.TransactionManagerServices"></bean>
<bean id="BitronixTransactionManager" factory-method="getTransactionManager"
class="bitronix.tm.TransactionManagerServices" depends-on="btmConfig" destroy-method="shutdown" />
<bean id="jbpmTxManager" class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="transactionManager" ref="BitronixTransactionManager" />
<property name="userTransaction" ref="BitronixTransactionManager" />
<property name="allowCustomeIsolationLevels" value="true" />
</bean>