시동시 SOAP 호출의 작고 단순한 결과를 캐시하는 시스템이 있습니다.java.util.Prefs BackingStoreException를 발생시키는 이유 - 이유는 무엇입니까?
시동시 캐시를 다시로드 할 수 있어야하고 (SOAP 서비스가 작동하지 않는 경우) 해당 인스턴스를 처리 할 수 있어야합니다 이 캐시 파일
를 사용하여 여러 인스턴스의 나는 java.util.prefs
를 사용하기로 결정하지만, 자바의 내장 자동 동기화 스레드가 간헐적으로 다음을 제외하고 덤핑 (저장 동기화 백업 기본 JVM의 30 대 사용 시간의 1 %) 실패 :
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.
을
나는 의심스러운 this bug하지만 1.5 (tiger-b40)에서 수정되었으며이 상자의 java 5는 "1.5.0_16-b02"입니다.
이제 다른 시스템에서 발생하지는 않지만이 Backing Store를 공유하는 JVM이 여러 개 있다고 생각됩니다.
누구든지 확인할 수 있습니까? 위험 요소는 무엇입니까?
내 접근 방식에 결함이있는 경우 대안으로 사용해야하는 것은 무엇입니까?
일부 코드는 우리가 추측하기를 기대하지 마십시오 – Bozho
동일한 파일을 사용하려고하는 여러 JVM을 갖는 것과 관련이있는 것 같습니다.사람들은 여러 프로세스에서 동시에 데이터를 공유하고 수정할 수있는 중앙 집중식 데이터베이스를 데이터베이스를 사용하는 경향이 있습니다. – BryanD
'java.util.prefs' API는 칠면조입니다. 저는 그것을 무시하고 다른 사람들이 데이터베이스처럼 실제로 사용하는 것을 사용하는 것이 좋습니다. – skaffman