根据文档,JDBCMetadataStore需要一个DataSourceTransactionManager实例,这是有道理的。如果我在应用程序中使用 JPA 作为主要事务管理器会怎样?我如何告诉JDBCMetadataStore在调用@Transactional方法时它应该使用哪个事务管理器- 假设我必须在应用程序中有 2 种事务管理器 bean。欢迎提出建议!
问问题
60 次
1 回答
2
我建议您扩展它JdbcMetadataStore
并使用委托超级和@Transactional
特定的 TX 管理器覆盖所有事务方法:
public class MyJdbcMetadataStore extends JdbcMetadataStore {
public MyJdbcMetadataStore(DataSource dataSource) {
super(dataSource);
}
@Override
@Transactional("jdbcTransactionManager")
public String putIfAbsent(String key, String value) {
return super.putIfAbsent(key, value);
}
}
于 2020-05-21T14:07:54.317 回答