J2ee web程式的service層中的事務怎樣處理才比較合理?
目前在一個遺留系統上增加新功能,該系統採用的struts和hibernate,沒有使用spring來對service層進行管理。我在增加新功能的時候,業務邏輯放在service層來實現,遇到一個問題:怎樣在service層對事務進行合理的控制?
一個service方法中,通常要呼叫多個dao方法,這時,service的方法才是一個事務單元。
第一個問題:service方法中的每個dao方法共用一個session,還是各用各的?
如果共用一個session,service方法中只要呼叫HibernateUtils來得到一個session,接著開始事務,然後執行多個dao方法,然後提交事務,關閉session就可以了。
如果各用各的,在service方法中獲得事務,然後將session管理放到每個dao方法中,這時,service方法中的事務要跨越多個session,這時必須用JTA實現(查資料所得).
第二個問題:有些情況下,需要把service方法中呼叫的多個dao方法中的每一個設定成事務單元,這時怎樣處理service方法的事務和dao方法的事務?肯定不能是service方法作為一個事務單元,而它呼叫的每個的每個dao方法也各自處理成一個事務單元吧?
一個service方法中,通常要呼叫多個dao方法,這時,service的方法才是一個事務單元。
第一個問題:service方法中的每個dao方法共用一個session,還是各用各的?
如果共用一個session,service方法中只要呼叫HibernateUtils來得到一個session,接著開始事務,然後執行多個dao方法,然後提交事務,關閉session就可以了。
如果各用各的,在service方法中獲得事務,然後將session管理放到每個dao方法中,這時,service方法中的事務要跨越多個session,這時必須用JTA實現(查資料所得).
第二個問題:有些情況下,需要把service方法中呼叫的多個dao方法中的每一個設定成事務單元,這時怎樣處理service方法的事務和dao方法的事務?肯定不能是service方法作為一個事務單元,而它呼叫的每個的每個dao方法也各自處理成一個事務單元吧?
相關文章
- 比較微服務中的分散式事務模式微服務分散式模式
- Service 層異常拋到 Controller 層處理還是直接處理?Controller
- 微服務的分散式事務模式比較 | RedHat微服務分散式模式Redhat
- 需要將多個視訊進行去色的處理怎麼樣操作比較快?
- 智慧數字經營平臺怎樣搭建才合理?
- 面試題:你工作中碰到的印象比較深的 bug,你怎麼處理的?面試題
- 網站頁面內的內容結構怎樣佈局才合理?網站
- MySQL中不得不提的事務處理MySql
- 分散式事務處理方案,微服事務處理方案分散式
- HashSet與HashMap比較——新增物件已存在處理方式一樣?HashMap物件
- TransactionScope事務處理方法介紹及.NETCore中的注意事項NetCore
- mysqli 事務處理MySql
- MySQL事務處理MySql
- springboot事務處理Spring Boot
- Redis中的事務處理機制分析與總結Redis
- Android中的Web ServiceAndroidWeb
- Spring事務專題(三)事務的基本概念,Mysql事務處理原理SpringMySql
- Jtti:怎樣正確處理Redis中的海量資料JttiRedis
- KafkaConsumer對於事務訊息的處理Kafka
- 阿里是如何處理分散式事務的阿里分散式
- J2EE遠端程式碼執行那些事兒(框架層面)框架
- 如何處理消費SAP ABAP Web Service時遇到的Unauthorized錯誤WebZed
- 我們需要怎樣的 Service
- redis學習(九) redis事務和redis指令碼的比較Redis指令碼
- 怎樣在 Laravel 中處理前端認證Laravel前端
- 謹慎處理 Service Worker 的更新
- 在微服務架構中實施分散式事務鎖的幾個方案比較 - Prasanth Gullapalli微服務架構分散式
- MySQL的事務處理及隔離級別MySql
- RocketMQ的事務訊息處理【half-message】MQ
- Laravel 分散式事務處理Laravel分散式
- 事務處理基本概念
- 大資料的處理是怎樣的過程大資料
- Service層的怎麼寫測試類
- PHP中的PDO操作學習(二)預處理語句及事務PHP
- [20180319]windows批處理檔案大小比較.txtWindows
- MySQL資料庫的事務處理用法與例項程式碼詳解MySql資料庫
- Springboot資料庫事務處理——Spring宣告式事務Spring Boot資料庫
- 一個合理的生產環境的 Web 應用程式應該是什麼樣子的Web
- springcloud分散式事務處理 LCNSpringGCCloud分散式