У меня есть система, которая кэширует крошечные/простые результаты вызова SOAP при запуске
Мне нужны экземпляры, чтобы перезагрузить их кеш при запуске (в случае, если служба SOAP мертва) и ТАКЖЕ обрабатывают возможность использования нескольких экземпляров с использованием этого файла кэша
Я выбрал использовать java.util.prefs
, но встроенный в автоматическую синхронизацию поток Java прерывается с ошибкой (1% времени с использованием синхронизации хранилища по умолчанию JVM 30s), сбрасывая следующее исключение:
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.
Я подозревал эту ошибку, но это было исправлено в 1.5 (tiger-b40), а наш java 5 в этом поле "1.5.0_16- b02".
Теперь я подозреваю, что это может быть потому, что у нас есть несколько JVM, которые используют этот Backing Store, хотя это, похоже, не происходит на наших других машинах.
Может ли кто-нибудь подтвердить это? Каковы риски, если таковые имеются?
Если мой подход ошибочен, что я должен использовать в качестве альтернативы?