Does a Java Content Repository (JCR, specified in JSR-283) implementation with the following features exist?
- Single-threaded (does not create threads for background processing).
- In-memory (does not rely on external storage such as a database system or a filesystem).
- Possibly read-only (no need to support write operations — all content is provided programmatically upon startup).
It is understood that these constraints will create severe limitations for the system, so please don't go into that. To give some background, the purpose is to find a lightweight JCR implementation which can:
- Be used for prototyping publishing systems built on top of JCR: simple blog engines, content management systems and so on. When a system grows, it can move to a more full-featured JCR implementation.
- Run in restricted environments such as the Google App Engine, where for example thread creation is not allowed. If the content is relatively small and rarely updated, a read-only content repository can be acceptable.
Options considered so far, which do not seem to fill these requirements are:
- Apache Jackrabbit: Apparently requires threads. Storage seems to be pluggable, so in-memory storage could be implemented.
- Other alternatives?