 |
ROME | Aqueduct - Prevayler Implementation
We have implemented the Aqueduct DAO layer to provide persistence for SyndFeeds using Prevayler. The Aqueduct-Prevayler Distribution is in its very early stages, but could still be useful.
Because no database is used for persistence, here is how to know this implementation of Aqueduct is right for you:
- Ability to persist hundreds or thousands of feeds.
- No relational database required for persistence or reporting
- Query capabilities on metadata or contents via Regular Expressions
- (For now) Only one application uses the persistence datastore at a time
Distribution File
The Aqueduct-Prevayler Distribution is currently provided as a zip archive with everything needed to test persistence. It comes bundled with:
- All necessary jar files to run the samples
- Source code
- Javadocs
- Batch scripts to run the sample classes
Samples
Use the provided .bat files to run the sample classes which are using the ROME Aqueduct-Prevayler DAO Implementation. The source code for these samples is here in the distribution:
src\java\com\sun\syndication\aqueduct\prevayler\samples
UUIDs
A SyndFeed can be persisted with any unique string. The samples use the feed URL, but that may not be what your application needs.
The SyndFeedDAO interface provides a mechanism for generating a version four UUID for a SyndFeed, if you need it.
Data Files
- The files in aqueduct-data are the data files for your persisted feeds.
- A
.snapshot file contains the complete object graph of the SyndFeedSystem (the repository to story the feeds) at the last time Aqueduct-Prevayler started.
- A
.transactionLog file contains the transaction information for writes which occurred to the SyndFeedSystem during runtime.
- You can delete old data files as needed. Be sure to keep the newest snapshot file and any transactionLog files which are newer than it.
Development with Aqueduct-Prevayler
1) In your development environment, be sure to have the following jars, all of which can be found in the ./lib directory of the distribution:
- rome-0.5.jar
- rome-fetcher-0.5.jar
- rome-aqueduct-0.3.jar
- jdom.jar
- prevayler-2.02.005.jar
2) Check out the source code for the samples and the unit tests:
src/java/com/sun/syndication/aqueduct/prevayler/samples
3) Modify and run the samples or write your own code based upon them. If you have questions about the APIs, there are full Javadocs are in the ./doc/apidoc directory of the distribution.
4) Learn more about Prevayler, the persistence technology used:
http://docs.codehaus.org/spaces/viewspacesummary.action?key=PREVAYLER
|