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
