Tôi có một hệ thống lưu trữ các kết quả nhỏ/đơn giản của cuộc gọi SOAP khi khởi độngjava.util.Prefs ném BackingStoreException - Tại sao?
Tôi cần các phiên bản để có thể tải lại bộ nhớ cache khi khởi động (trong trường hợp dịch vụ SOAP bị chết) và CSONG xử lý khả năng nhiều trường hợp sử dụng tập tin bộ nhớ cache này
tôi đã chọn để sử dụng java.util.prefs
nhưng được xây dựng trong chủ đề đồng bộ hóa tự động của Java được liên tục thất bại (1% thời gian sử dụng 30 JVM mặc định ủng hộ cửa hàng đồng bộ) bán phá giá sau ngoại trừ:
Jan 8, 2010 12:30:07 PM java.util.prefs.FileSystemPreferences syncWorld
WARNING: Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.
Tôi nghi ngờ this bug nhưng điều này đã được sửa trong 1,5 (tiger-b40) và java 5 của chúng tôi trên hộp này là "1.5.0_16-b02".
Tôi bây giờ nghi ngờ rằng có thể là do chúng tôi có nhiều JVM chia sẻ Cửa hàng Sao lưu này, mặc dù điều này dường như không xảy ra trên các máy khác của chúng tôi.
Có ai có thể xác nhận điều này không? Những rủi ro, nếu có?
Nếu cách tiếp cận của tôi không đúng, tôi nên sử dụng phương pháp thay thế nào?
cung cấp một số mã, đừng mong đợi chúng tôi đoán – Bozho
Chắc chắn có vẻ như có liên quan đến việc có nhiều JVM đang cố gắng làm việc với cùng một tệp.Mọi người có xu hướng sử dụng cơ sở dữ liệu để tập trung dữ liệu được chia sẻ và sửa đổi đồng thời bởi nhiều quy trình. – BryanD
API 'java.util.prefs' là gà tây. Tôi đề nghị bỏ qua nó và sử dụng một cái gì đó mà người khác thực sự sử dụng, giống như một cơ sở dữ liệu. – skaffman