[英]MyBatis-Spring multi-datasource configuration cache issues
使用mybatis-3.1.0,spring-3.1.1.RELEASE和mybatis-spring-1.1.0,我們在多數據源配置中面臨一些令人討厭的緩存問題。
出於安全原因,我們有指向相同數據庫和架構的單獨數據源,每個數據源使用不同的憑據。 目標是使用僅具有執行選擇權限的選擇權限的db用戶,具有執行dml操作的插入/更新/刪除權限的另一位用戶,等等。
為此,我們配置了三個單獨的SqlSessionFactoryBeans,每個數據源一個。 問題來了:使用“ DML”會話執行插入操作時,不會刷新“ SELECT”會話的本地緩存。 因此,例如,我們在用戶列表中看不到新創建的用戶。
所以我的問題是:我們是否可以同時配置與所有三個數據源關聯的單個SqlSessionFactoryBean?
更新:
經過更多調試之后,看來核心問題實際上與事務管理相關。 站點中的某些操作涉及多項操作,並且這些操作是通過不同的數據源執行的。 看來我們沒有正確配置事務管理器,並且其中一項或多項操作被排除在提交之外。 經過幾次嘗試后,由於連接已耗盡,數據庫操作完全混亂了。
因此,現在的問題是,如何配置單個事務管理器來處理所有涉及的數據源?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.