2009-05-27 115 views
1

我需要從JBoss中運行的無狀態會話bean讀取和寫入xml文件到磁盤。這樣做的首選方式是什麼?來自無狀態會話bean的FileIO

現在我們正在使用java.io類訪問文件系統。

我發現了一個簡單的文件系統RAR示例,並且已經得到了這個工作,但它可能比直接使用java.io更麻煩。

回答

3

如果檢查編程限制EJB Spec的部分,你會發現以下內容:

企業bean不能使用java.io包,以試圖在 訪問文件和目錄 文件系統。

如果您可以找到更好的,可能安全的和更重要的事務性方法,請重新考慮。我們有一個系統,將PDF文檔作爲blob存儲在數據庫中,然後通過電子郵件或servlet將它們提供給用戶。

基於JBoss JCA的FSManagedConnectionFactory並不算太壞。它是基於JNDI和可能更多的實例不僅僅是黑客周圍java.io

1

如果你正確關閉文件並清理,你可以使用任何你想要的。 我會使用XML解析器讀取或寫入XML文件,但它更安全。

0

這個複雜的方法是編寫一個EJB客戶端讀取該文件,或建立一個XML數據源莫名其妙工作英寸實際上,如果你在會話bean中使用java.io,沒有什麼不好的事情會發生。但是,如果您正在使用集羣和/或將遷移服務器,那麼您必須注意您的bean正在運行的位置以及將調用哪一個。

最簡單的「批處理」解決方案是從集羣中取出一臺機器並在那裏運行「批處理」應用程序。