2011-06-06 208 views
3

我有一個java應用程序正在做很多文件操作。對於每個文件處理(任務),我將打開一個log4j文件來編寫任務日誌。在每個任務中,我打開一個文件並進行一些操作並寫入三個新文件。任務正在並行運行。現在隨機在兩週或三週內,我的任務日誌文件將進入數據文件(並非總是如此,數據和日誌正在混合寫入新的數據文件)。Java文件損壞問題

我們已經查看了代碼,無法找到任何同步問題或FileDescriptor重用。操作系統:AIX 6.1.6.3 JAVA:IBM JAVA 1.5 SR12 FP1 架構:Power 6; 8核心與SMT上 存儲:SAN

感謝 尼科什PL

+0

我不認爲任何人都可以在不查看代碼的情況下診斷此問題。通過它的聲音,有太多的代碼期望有人在免費看... ...。我建議你嘗試找一個Java併發性專家,你可以付費來檢查你的代碼。 – 2011-06-06 10:36:13

+0

感謝您的回覆!它可能不完全是代碼問題。它也可以是http://256.com/gray/docs/misc/java_bad_file_descriptor_close_bug.shtml。 – 2011-06-06 12:24:18

+0

嗯......請注意,引用的Sun錯誤在Sun Java 5_u14&6_u4中被標記爲「修復已完成」。我建議您聯繫IBM支持人員,並詢問AIX/Power的哪個Java 1.5版本修復了該錯誤。 – 2011-06-07 00:55:54

回答

1

你在try/finally塊,確保你的flush(),然後關閉()文件輸入流(或文件閱讀器)?

+0

感謝您的答覆。是的,我們已經證實。 – 2011-06-06 11:53:32