代码中多个Transaction
时间: 2023-10-13 13:57:36 浏览: 138
引用\[1\]:大多数项目只需要一个事务管理器。然而,有些项目为了提高效率、或者有多个完全不同又不相干的数据源,最好用多个事务管理器。机智的Spring的Transactional管理已经考虑到了这一点,首先分别定义多个transactional manager,并为qualifier属性指定不同的值;然后在需要使用@Transactional注解的时候指定TransactionManager的qualifier属性值或者直接使用bean名称。\[1\]引用\[2\]:或者,直接使用transactin manager 的bean名字: @Transactional("transactionManager1") 如果是使用@Transactional(),相当于使用缺省的transaction mananger名字,即:@Transactional("transactionManager")\[2\]引用\[3\]://以下是执行交易时打包入块的代码 // TransitionDb will transition the state by applying the current message and // returning the result including the used gas. It returns an error if failed. // An error indicates a consensus issue. func (st *StateTransition) TransitionDb() (ret \[\]byte, usedGas uint64, failed bool, err error) { //省略前面的代码 if contractCreation { ret, _, st.gas, vmerr = evm.Create(sender, st.data, st.gas, st.value) } else { // Increment the nonce for the next transaction st.state.SetNonce(msg.From(), st.state.GetNonce(sender.Address())+1) //这里才+1 ret, st.gas, vmerr = evm.Call(sender, st.to(), st.data, st.gas, st.value) } //省略后面的代码 }\[3\]
问题:代码中多个TransactionManager是如何使用的?
回答: 在Spring框架中,如果需要使用多个事务管理器,可以首先分别定义多个transactional manager,并为qualifier属性指定不同的值。然后在需要使用@Transactional注解的时候,可以通过指定TransactionManager的qualifier属性值或者直接使用bean名称来选择使用哪个事务管理器。例如,可以使用注解@Transactional("transactionManager1")来指定使用名为"transactionManager1"的事务管理器,如果使用注解@Transactional(),则相当于使用缺省的transaction manager名字,即"transactionManager"。\[1\]\[2\]
#### 引用[.reference_title]
- *1* *2* [Spring的多事务配置(多个Transaction Manager)和使用方法](https://blog.csdn.net/ClementAD/article/details/47275227)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [从源代码分析以太坊replacement transaction underpriced异常](https://blog.csdn.net/phil_code/article/details/100077226)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文