事務保證

舊項目升級,部分保留了舊項目的Oracle 存儲過程代碼(要和Oracle CRM交互).java

在這個交互上,就須要使用一個CRM系統的帳號,甲方的想法,是不一樣的用戶都應使用本身的帳號.接口

但從前的舊項目全部邏輯基本都在存儲過程當中,目前大部分邏輯都在java中了,如何把帳號信息傳遞到Oracle是個問題(不想大量修改存儲過程接口).事務

舊項目將用戶信息(userName,ID,Locale)做爲Session級別環境變量設在Session中,這個Session和HttpSession貌似作了一一對應(不肯定,但確定有這麼一個對應).io

升級後用的是鏈接池,Oracle DB Session對應到每個jdbc connection.變量

仍是重用了舊代碼的Session環境變量,給全部相關操做放入事務(Spring 事務管理能夠保證屢次SQL操做使用同一個jdbc connection,這是廢話),而後在每一個事務中增長Set環境變量的操做.jdbc

找不到合適切點,沒有使用AOP,但問題仍是解決了.項目

記一下吧.存儲過程

相關文章
相關標籤/搜索