I also want to emphasize that if you choose to try and do this, you
should feel very free to ask for help and guidance on the derby-dev
list. The dev team is very responsive and helpful, in my experience.
David
Daniel John Debrunner wrote:
David Van Couvering wrote:
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...
As Andrew pointed out this is would be an implementation of
org.apache.derby.io.StorageFactory against Java Web Start
PersistenceService API.
The StorageFactory is is an abstraction around the java filesystem
classes so in theory it's not hard to understand. All of the database
specific internals are above this layer and would not need to be
changed. It's much like the Directory abstraction in Apache Lucene Java.
You can find the internals java doc at
http://db.apache.org/derby/javadoc/engine/
then look for the org.apache.derby.io package.
Here's some information on getting involved in Derby's development:
http://wiki.apache.org/db-derby/DerbyDev
I would encourage you to subscribe to derby-dev and involve the
development community in implementing this (asking questions,
incremental development etc.).
The in-memory implementation Andrew references may not be the best model
to follow, the implementation seems to add new api classes with no
indication of what their functionality is required to be, i.e. no
comments. Then the original contributor never responded to any questions
and non-one else has had the itch to pick up the code. Thus that
implementation has stalled and not been committed. It would be a shame
for any Java Web Start PersistenceService implementation to go the same
way.
In the Derby code there are three implementations of StorageFactory that
are in use, for file system, jar files and classpath. There is one more
that is not in use, fetching data from an http server. Look for
subclasses of StorageFactory.
HTH,
Dan.