title: java.util.Prefs throwing BackingStoreException - Why?
body: <p>I have a system that caches the tiny/simple results of an on-startup SOAP call</p>
  
  <p>I need instances to be able to reload their cache on startup (in case the SOAP service is dead) and ALSO handle the possibility of multiple instances using this cache file</p>
  
  <p>I chose to use <code>java.util.prefs</code> but Java's builtin automatic sync thread is intermittently failing (1% of time using default JVM 30s backing store sync) dumping the following the exception:</p>
  
  <pre><code>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.
  </code></pre>
  
  <p>I suspected <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4947349" rel="noreferrer">this bug</a> but this was fixed in 1.5(tiger-b40) and our java 5 on this box is "1.5.0_16-b02".</p>
  
  <p>I now suspect that it might be because we have multiple JVMs sharing this Backing Store, although this doesn't seem to happen on our other machines. </p>
  
  <p>Can anyone confirm this?
  What are the risks, if any?</p>
  
  <p>If my approach is flawed what should I be using as an alternative?</p>