在我的任務中,我需要保存磁盤上的文件並更新數據庫中的信息。 保存文件和更新數據庫中的信息時可能會發生異常。 是否存在一些現成的開源解決方案或需要從頭開始編寫? 謝謝。在java中的數據庫和磁盤協調保存
回答
Java EE不直接支持文件系統,但可以爲文件系統實現/搜索資源適配器。
爲什麼投票反對?即使Nicholas提供的特定解決方案(XADisk)也提供了資源適配器(rar)。 – Puce
在Java中,企業交易管理由JTA spec至極排除在Java EE中使用。
JTA允許創建幾個事務管理與型動物的實現(一個數據庫,一個用於文件),使他們共同制定一個跨交易 我覺得這可能是一個方法可以讓你做你想做的
在容器外面,有可能整合JTA。你應該看看Spring或JBoss實現
看this blog post關於Spring和交易使用
有XADisk提供事務性訪問文件系統的更多信息。從他們的網站:
XADisk(發音爲「X-A-盤」)能夠通過提供API來執行文件/目錄 操作 現有文件系統的事務性訪問。通過簡單的步驟,它可以部署在任何JVM上,然後可以在任何地方開始運行各種運行 的Java/JavaEE應用程序。
更具體,因爲我們有多個資源(在這種情況下,兩個文件系統和數據庫)被合併成一個事務,Java應用程序將需要使用:1)一個XA事務管理器(例如Atomikos ),2)來自數據庫的XA支持(大多數數據庫已經擁有),3)來自文件系統的XA支持(因爲大多數文件系統本身不支持XA,XADisk可以用來添加XA支持)。 –
設置的好總結。 – Nicholas
- 1. 圖像應該保存在數據庫中的磁盤上嗎?
- 2. 將內存中的H2數據庫保存到磁盤
- 3. 使用pymongo加載和保存mongoDB數據庫從/到磁盤
- 4. 將BLOB圖像從PHP中的數據庫保存到磁盤
- 5. MongoDB數據庫中的數據如何存儲在磁盤上?
- 6. 腳本varbinary數據保存到磁盤
- 7. RenderTargetBitmap保存原始數據到磁盤
- 8. 將NSArray數據保存到磁盤
- 9. 將可變數據保存到磁盤
- 10. 將內存數據庫保存到磁盤
- 11. 保存視頻文件的位置 - 數據庫或磁盤
- 12. SQLite:ON磁盤與內存數據庫
- 13. 緩存 - 磁盤或數據庫?
- 14. 將文件保存在磁盤上針對備份和恢復的數據庫
- 15. 如何正確保存磁盤緩存中的數據?
- 16. 在磁盤H2和內存數據庫之間來回切換
- 17. 將PDF文件保存在磁盤中
- 18. 將文件保存在磁盤中
- 19. 在保存到Java中的磁盤之前壓縮圖像
- 20. 將部分數據保留在內存中並且保留在磁盤中
- 21. 將trie保存到磁盤
- 22. MySql不保存到磁盤
- 23. 將nsdate保存到磁盤
- 24. 將DynamicMethod保存到磁盤
- 25. Mongoengine FileField保存到磁盤?
- 26. UIManagedDocument不保存到磁盤
- 27. 帶有MEMORY存儲引擎的MySQL數據庫是否保存到磁盤?
- 28. 數據庫中的BLOB VS磁盤存儲的文件
- 29. 性能senario RAM磁盤和內存數據庫(IMDB)?
- 30. 如何將對象數據源數據保存到磁盤?
您是否在使用任何交易協調系統? –