Hi, Luigi. I looked at this once, and it really didn't seem that the
API provided by the JWS persistence service was sufficient for the needs
of Derby. But I didn't look too closely at it. For me demo needs, a
popup was fine.
What you'd have to do is provide a new implementation of the storage
interface. Others on this list can give you better guidance than I
about where to look and how to do this. I suspect this is not for the
faint of heart...
*But* - if you *did* do this and you were successful, this would be a
Very Good Thing for Derby users (and Java developers) in general, and I
highly recommend that you contribute your work into the Derby codeline.
Best of luck!
David
Luigi Lauro wrote:
I'm currently developing a JWS application using Derby as
caching/persistence provider for my application data.
Since ease of deployment and user-friendliness are the main focuses of
this app, and therefore I would love to give the least possible popup
warning boxes to the user, is it possible to have Derby write/read to
the storage area provided by the JNLP PersistenceService API?
AFAIK derby can be used only by providing a standard 'directory' (derby
home) where derby will save and load his files. Would it be possible to
extend derby (maybe adding a new 'storage' implementation for a given
interface) to make use of this JNLP API for storage, or at least
programmatically hand a 'directory/file' to Derby, in order to write a
File/Directory wrapper implementing the standard java interfaces around
the JNLP FileContents interface?
Since Derby is now bundled with the Java6 JDK as JavaDB, I think this
integration would go a long way towards making derby more
developer-friendly in Java Web Start environments, where using the
sandbox tools Sun provides us it the right way to go, instead of working
around it and force the user to give the app the authorization to write
on the hard drive IMHO.
I'm also willing to provide my help as a senior java developer (although
I know nothing of Derby internals of course) to hack this feature into
next derby version, if this is feasible in a few days work.
Thanks in advance for any answer,
Luigi Lauro
JNLP APIs: http://java.sun.com/javase/6/docs/jre/api/javaws/jnlp/
PersistenceService:
http://java.sun.com/javase/6/docs/jre/api/javaws/jnlp/javax/jnlp/PersistenceService.html