Tengo un sistema que almacena en caché los resultados diminutos/simples de una llamada SOAP on-startupjava.util.Prefs throwing BackingStoreException - ¿Por qué?
Necesito casos para poder recargar su caché en el arranque (en caso de que el servicio SOAP está muerto) y también se encargan de la posibilidad de varias instancias utilizando este archivo de caché
he elegido utilizar java.util.prefs
pero incorporado hilo sincronización automática de Java es intermitente fallando (1% del tiempo usando 30s JVM predeterminada que respaldan tienda de sincronización) el vertido de la siguiente excepción:
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.
sospechaba this bug pero esto fue arreglado en 1.5 (tiger-b40) y nuestro java 5 en esta caja es "1.5.0_16-b02".
Ahora sospecho que puede deberse a que tenemos varias JVM que comparten esta Tienda de respaldo, aunque esto no parece suceder en nuestras otras máquinas.
¿Alguien puede confirmar esto? ¿Cuáles son los riesgos, si los hay?
Si mi enfoque es defectuoso, ¿qué debería estar usando como alternativa?
danos algún código, no esperes que adivinemos – Bozho
Definitivamente parece que estaría relacionado con tener varias JVM intentando trabajar con el mismo archivo.Las personas tienden a usar bases de datos para centralizar los datos para ser compartidos y modificados simultáneamente por múltiples procesos. – BryanD
La API 'java.util.prefs' es un pavo. Sugiero ignorarlo y usar algo que otras personas realmente usan, como una base de datos. – skaffman