Hi,

I don't think the Jackrabbit internal cache is the problem in your
case. Usually the main reasons for memory problems are (as Felix
wrote):

- Transient changes / large transactions. Jackrabbit currently keeps
unsaved changes in memory. I suggest you call Session.save from time
to time in a large import.

- Caches from persistence managers (Derby uses a lot of memory)

To find out what component uses the most memory, I suggest you use a
tool such as the YourKit Java Pofiler (free trial and open source
licenses available).

Jackrabbit internal caching: Yes, this is configurable. There was a
patch for Jackrabbit 1.3, see
http://issues.apache.org/jira/browse/JCR-725. The configuration is
Jackrabbit specific:

CacheManager manager = ((RepositoryImpl) repository).getCacheManager();
manager.setMaxMemory(8 * 1024 * 1024); // default is 16 * 1024 * 1024
manager.setMaxMemoryPerCache(1024 * 1024); // default is 4 * 1024 * 1024
manager.setMinMemoryPerCache(64 * 1024); // default is 128 * 1024

The default values should be OK for most situations.

Thomas

Reply via email to