我在应用程序中有两个TransactionManagers
。
我使用-Dspring.profiles.active=dev/test/prod
运行应用程序。
@Service
@org.springframework.transaction.annotation.Transactional("txName")
public class MyService {
}
现在,根据配置文件,我想更改事务管理器名称。因此,在开发配置文件中自动使用txDev
,而prod会使用txProd
作为名称。
这可能吗?如果是,怎么样?
答案 0 :(得分:0)
仅使用一个事务管理器并在配置文件中设置
@Service
@Transactional
public class MyService {}
在xml中(与java config相同的逻辑)
<beans profile="prod">
<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager" />
</beans>
<beans profile="dev">
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager" />
</beans>