Hi,

I'm having trouble inserting more than 2450 or so nodes underneath one parent 
node.  I'm using oracle persistence and jackrabbit-2.0.0.

It looks like the issue is happening between here these log messages.

        2010-02-26 17:10:01,679  INFO [main] (BundleCache.get:106) - num=1977 
mem=8189k max=8192k avg=4242 hits=2078548 miss=221452
        2010-02-26 17:10:02,450 DEBUG [main] 
(AbstractBundlePersistenceManager.putBundle:686) - stored bundle 
9d35fed4-47b1-4462-b88d-4a2d579b2161

I've read:

        
http://n4.nabble.com/Explanation-and-solutions-of-some-Jackrabbit-queries-regarding-performance-td516614.html#a516614

but limiting child node sizes to 4000 seems a bit odd.  I need to store 1.7 
million nodes at the very least underneath a given parent.

Would someone provide some pointers if possible?

Thanks,

Neil





Full log:

2010-02-26 17:09:57,585 DEBUG [main] (JackRabbitProgram.addProgram:56) - Adding 
program [Program{UUID='null', name='EP2586',....]
2010-02-26 17:09:57,585 TRACE [main] (TraceLogger.logBefore:48) - Before public 
org.jcrom.Jcrom com.twc.mystro.resource.dao.jcr.JCROMBootstrapper.getJcrom()
2010-02-26 17:09:57,601 TRACE [main] (TraceLogger.logAfterReturning:55) - 
AfterReturning public org.jcrom.Jcrom 
com.twc.mystro.resource.dao.jcr.JCROMBootstrapper.getJcrom() returning 
org.jcrom.jc...@11ba3c1f 
2010-02-26 17:09:57,602 DEBUG [main] (ProgramDAOJCR.createParentNode:108) - 
Root node [/Program] already exists.
2010-02-26 17:09:57,602 DEBUG [main] (ItemManager.cacheItem:904) - caching item 
80925a14-4a53-4d66-80b7-3c3b0481377f
2010-02-26 17:09:57,603 DEBUG [main] (ItemManager.cacheItem:904) - caching item 
80925a14-4a53-4d66-80b7-3c3b0481377f/{http://www.jcp.org/jcr/1.0}primaryType
2010-02-26 17:09:57,603 DEBUG [main] (ItemManager.cacheItem:904) - caching item 
80925a14-4a53-4d66-80b7-3c3b0481377f/{http://www.jcp.org/jcr/1.0}mixinTypes
2010-02-26 17:09:57,604 DEBUG [main] (ItemManager.cacheItem:904) - caching item 
80925a14-4a53-4d66-80b7-3c3b0481377f/{http://www.jcp.org/jcr/1.0}uuid
2010-02-26 17:09:57,604 DEBUG [main] (ItemManager.cacheItem:904) - caching item 
67004716-ec8d-4013-aca2-045cb5d057a2
2010-02-26 17:09:57,605 DEBUG [main] (ItemManager.cacheItem:904) - caching item 
67004716-ec8d-4013-aca2-045cb5d057a2/{http://www.jcp.org/jcr/1.0}primaryType
2010-02-26 17:09:57,605 DEBUG [main] (ItemManager.cacheItem:904) - caching item 
80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsSeriesID
2010-02-26 17:09:57,605 DEBUG [main] (ItemManager.cacheItem:904) - caching item 
80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsParentID
2010-02-26 17:09:57,605 DEBUG [main] (ItemManager.itemDestroyed:1001) - 
destroyed item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsParentID
2010-02-26 17:09:57,606 DEBUG [main] (ItemManager.evictItems:918) - removing 
items 80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsParentID from cache
2010-02-26 17:09:57,606 DEBUG [main] (ItemManager.cacheItem:904) - caching item 
80925a14-4a53-4d66-80b7-3c3b0481377f/{}tmsProgramID
2010-02-26 17:09:57,606 DEBUG [main] (ItemManager.cacheItem:904) - caching item 
80925a14-4a53-4d66-80b7-3c3b0481377f/{}description
2010-02-26 17:09:57,606 DEBUG [main] (ItemManager.cacheItem:904) - caching item 
80925a14-4a53-4d66-80b7-3c3b0481377f/{}programType
2010-02-26 17:09:57,607 DEBUG [main] (ItemManager.cacheItem:904) - caching item 
80925a14-4a53-4d66-80b7-3c3b0481377f/{}rating
2010-02-26 17:09:57,607 DEBUG [main] (ItemManager.cacheItem:904) - caching item 
80925a14-4a53-4d66-80b7-3c3b0481377f/{}title
2010-02-26 17:09:57,607 DEBUG [main] (ItemManager.cacheItem:904) - caching item 
80925a14-4a53-4d66-80b7-3c3b0481377f/{}images
2010-02-26 17:09:57,607 DEBUG [main] (ItemManager.itemDestroyed:1001) - 
destroyed item 80925a14-4a53-4d66-80b7-3c3b0481377f/{}images
2010-02-26 17:09:57,608 DEBUG [main] (ItemManager.evictItems:918) - removing 
items 80925a14-4a53-4d66-80b7-3c3b0481377f/{}images from cache
2010-02-26 17:09:57,601 DEBUG [ObservationManager] 
(ObservationDispatcher.run:156) - got EventStateCollection
2010-02-26 17:09:57,609 DEBUG [ObservationManager] 
(ObservationDispatcher.run:157) - event delivery to 0 consumers started...
2010-02-26 17:09:57,609 DEBUG [ObservationManager] 
(ObservationDispatcher.run:168) - event delivery finished.
2010-02-26 17:09:57,710  INFO [main] (LRUNodeIdCache.contains:70) - 
num=179/10240 hits=1823 miss=2298177
2010-02-26 17:10:01,352 DEBUG [Timer-1] (MultiIndex.checkFlush:1281) - Flushing 
index after being idle for 3769 ms.
2010-02-26 17:10:01,356 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: setInfoStream 
deletionpolicy=org.apache.lucene.index.keeponlylastcommitdeletionpol...@462f654
2010-02-26 17:10:01,356 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: 
setInfoStream: dir=org.apache.lucene.store.ramdirect...@325a92d5 
autoCommit=false 
mergepolicy=org.apache.lucene.index.logbytesizemergepol...@7d1a070b 
mergescheduler=org.apache.lucene.index.concurrentmergeschedu...@37c4a357 
ramBufferSizeMB=16.0 maxBufferedDocs=-1 maxBuffereDeleteTerms=-1 
maxFieldLength=10000 index=
2010-02-26 17:10:01,361 DEBUG [Timer-1] (AbstractIndex.addDocuments:207) - 
Inverted document in 3 ms
2010-02-26 17:10:01,361 DEBUG [Timer-1] (AbstractIndex.addDocuments:207) - 
Inverted document in 1 ms
2010-02-26 17:10:01,361 DEBUG [Timer-1] (AbstractIndex.commit:380) - committing 
IndexWriter.
2010-02-26 17:10:01,362 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: start
2010-02-26 17:10:01,362 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: now 
prepare
2010-02-26 17:10:01,362 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: 
prepareCommit: flush
2010-02-26 17:10:01,362 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   flush: 
segment=_0 docStoreSegment=_0 docStoreOffset=0 flushDocs=true flushDeletes=true 
flushDocStores=true numDocs=2 numBufDelTerms=0
2010-02-26 17:10:01,362 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   index 
before flush 
2010-02-26 17:10:01,362 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: DW: flush 
postings as segment _0 numDocs=2
2010-02-26 17:10:01,362 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: DW: 
closeDocStore: 5 files to flush to segment _0 numDocs=2
2010-02-26 17:10:01,364 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: DW:   
oldRAMSize=223232 newFlushedSize=1493 docs/MB=1,404.656 new/old=0.669%
2010-02-26 17:10:01,364 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: now checkpoint 
"segments_1" [1 segments ; isCommit = false]
2010-02-26 17:10:01,364 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: now checkpoint 
"segments_1" [1 segments ; isCommit = false]
2010-02-26 17:10:01,364 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.fnm"
2010-02-26 17:10:01,365 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.frq"
2010-02-26 17:10:01,365 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.prx"
2010-02-26 17:10:01,365 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tis"
2010-02-26 17:10:01,365 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tii"
2010-02-26 17:10:01,365 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.nrm"
2010-02-26 17:10:01,365 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tvx"
2010-02-26 17:10:01,366 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tvf"
2010-02-26 17:10:01,366 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.tvd"
2010-02-26 17:10:01,366 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.fdx"
2010-02-26 17:10:01,366 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete "_0.fdt"
2010-02-26 17:10:01,366 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: LMP: 
findMerges: 1 segments
2010-02-26 17:10:01,367 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: LMP:   level 
-1.0 to 3.3818367: 1 segments
2010-02-26 17:10:01,367 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS: now 
merge
2010-02-26 17:10:01,367 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   
index: _0:c2
2010-02-26 17:10:01,367 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   no 
more merges pending; now return
2010-02-26 17:10:01,367 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: 
startCommit(): start sizeInBytes=0
2010-02-26 17:10:01,367 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: startCommit 
index=_0:c2 changeCount=3
2010-02-26 17:10:01,367 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: now sync 
_0.cfs
2010-02-26 17:10:01,368 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: done all 
syncs
2010-02-26 17:10:01,368 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: 
pendingCommit != null
2010-02-26 17:10:01,368 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: now checkpoint 
"segments_2" [1 segments ; isCommit = true]
2010-02-26 17:10:01,368 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: deleteCommits: 
now decRef commit "segments_1"
2010-02-26 17:10:01,368 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IFD [Timer-1]: delete 
"segments_1"
2010-02-26 17:10:01,368 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: done
2010-02-26 17:10:01,368 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: optimize: 
index now _0:c2
2010-02-26 17:10:01,368 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   flush: 
segment=null docStoreSegment=null docStoreOffset=0 flushDocs=false 
flushDeletes=true flushDocStores=false numDocs=0 numBufDelTerms=0
2010-02-26 17:10:01,369 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   index 
before flush _0:c2
2010-02-26 17:10:01,369 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS: now 
merge
2010-02-26 17:10:01,369 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   
index: _0:c2
2010-02-26 17:10:01,369 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   no 
more merges pending; now return
2010-02-26 17:10:01,369 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: now flush at 
close
2010-02-26 17:10:01,369 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   flush: 
segment=null docStoreSegment=null docStoreOffset=0 flushDocs=false 
flushDeletes=true flushDocStores=false numDocs=0 numBufDelTerms=0
2010-02-26 17:10:01,369 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   index 
before flush _0:c2
2010-02-26 17:10:01,370 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS: now 
merge
2010-02-26 17:10:01,370 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   
index: _0:c2
2010-02-26 17:10:01,370 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: CMS:   no 
more merges pending; now return
2010-02-26 17:10:01,370 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: now call 
final commit()
2010-02-26 17:10:01,370 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: 
startCommit(): start sizeInBytes=0
2010-02-26 17:10:01,370 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]:   skip 
startCommit(): no changes pending
2010-02-26 17:10:01,370 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: 
pendingCommit == null; skip
2010-02-26 17:10:01,370 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: commit: done
2010-02-26 17:10:01,370 DEBUG [Timer-1] 
(AbstractIndex$LoggingPrintStream.println:636) - IW 122 [Timer-1]: at close: 
_0:c2
2010-02-26 17:10:01,394 DEBUG [Timer-1] (IndexMerger.indexAdded:170) - index 
added: name=_3b, numDocs=2
2010-02-26 17:10:01,395 DEBUG [Timer-1] (MultiIndex.commitVolatileIndex:1178) - 
Committed in-memory index in 43ms.
2010-02-26 17:10:01,395 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing 
IndexReader.
2010-02-26 17:10:01,395 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing 
IndexReader.
2010-02-26 17:10:01,395 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing 
IndexReader.
2010-02-26 17:10:01,395 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing 
IndexReader.
2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing 
IndexReader.
2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing 
IndexReader.
2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing 
IndexReader.
2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing 
IndexReader.
2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing 
IndexReader.
2010-02-26 17:10:01,396 DEBUG [Timer-1] (AbstractIndex.commit:376) - committing 
IndexReader.
2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:155) - Writing 
IndexInfos indexes_2w
2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _1:4
2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _2:2
2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _3:2
2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _4:2
2010-02-26 17:10:01,412 DEBUG [Timer-1] (IndexInfos.write:164) -   + _5:2
2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _6:2
2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _7:2
2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _1v:1
2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _3a:1
2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexInfos.write:164) -   + _3b:2
2010-02-26 17:10:01,413 DEBUG [Timer-1] (IndexHistory.pruneOutdated:133) - 
Pruning index infos older than: 
1267229401413(org.apache.jackrabbit.core.query.lucene.directory.fsdirectorymanager$fs...@org.apache.lucene.store.fsdirectory@/Users/neil/Business/SnowyRangeConsulting/projects/twc/depot/server/releases/prelude/components/nationalmetadata/target/nationalmetadata-1.0.0.0-nationalmetadata/usr/local/prelude/components/nationalmetadata/jackrabbit/server/workspaces/default/index)
2010-02-26 17:10:01,414 DEBUG [Timer-1] (IndexHistory.pruneOutdated:138) - 
Skipping first index infos. generation=104
2010-02-26 17:10:01,414 DEBUG [Timer-1] (IndexHistory.pruneOutdated:156) - 
Deleted redo log with generation=103, timestamp=1267229401000
2010-02-26 17:10:01,415 DEBUG [Timer-1] (IndexHistory.pruneOutdated:166) - 
Deleted index infos with generation=103
2010-02-26 17:10:01,679  INFO [main] (BundleCache.get:106) - num=1977 mem=8189k 
max=8192k avg=4242 hits=2078548 miss=221452
2010-02-26 17:10:02,450 DEBUG [main] 
(AbstractBundlePersistenceManager.putBundle:686) - stored bundle 
9d35fed4-47b1-4462-b88d-4a2d579b2161
2010-02-26 17:10:02,451 DEBUG [main] 
(AbstractBundlePersistenceManager.putBundle:686) - stored bundle 
67004716-ec8d-4013-aca2-045cb5d057a2
2010-02-26 17:10:02,453 DEBUG [main] 
(AbstractBundlePersistenceManager.putBundle:686) - stored bundle 
80925a14-4a53-4d66-80b7-3c3b0481377f
2010-02-26 17:10:02,490 DEBUG [main] (SharedItemStateManager$Update.end:738) - 
persisting change log {#addedStates=12, #modifiedStates=1, #deletedStates=0, 
#modifiedRefs=0} took 92ms
2010-02-26 17:10:02,491 DEBUG [main] (ObservationDispatcher.dispatchEvents:210) 
- notifying 4 synchronous listeners.
2010-02-26 17:10:02,491 DEBUG [main] (EventConsumer.consumeEvents:249) - 
listener org.apache.jackrabbit.core.lock.LockManagerImpl processed events in 0 
ms.
2010-02-26 17:10:02,492 DEBUG [main] (SearchManager.onEvent:327) - onEvent: 
indexing started
2010-02-26 17:10:02,493 DEBUG [main] (SearchManager.onEvent:429) - onEvent: 
indexing finished in 1 ms.
2010-02-26 17:10:02,494 DEBUG [main] (EventConsumer.consumeEvents:249) - 
listener org.apache.jackrabbit.core.SearchManager processed events in 2 ms.
2010-02-26 17:10:02,494 DEBUG [main] (JackRabbitProgram.addProgram:62) - Added 
program 



Here is my repository.xml file:

<?xml version="1.0"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->

<!--
<!DOCTYPE Repository
          PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN"
          "http://jackrabbit.apache.org/dtd/repository-2.0.dtd";>
-->

<!-- Example Repository Configuration File
     Used by
     - org.apache.jackrabbit.core.config.RepositoryConfigTest.java
     -
-->
<Repository>
    <!--
        virtual file system where the repository stores global state
        (e.g. registered namespaces, custom node types, etc.)
    -->
    <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
        <param name="path" value="${rep.home}/repository"/>
    </FileSystem>

    <!--
        data store configuration
    --> 
     <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
        <param name="driver" value="oracle.jdbc.OracleDriver"/>
        <param name="url" value="jdbc:oracle:thin:@ora12:1521:mystrodb"/>
        <param name="user" value="neil"/>
        <param name="password" value="neil"/>
        <param name="tablePrefix" value=""/>
        <param name="schemaObjectPrefix" value=""/>
        <param name="databaseType" value="oracle"/>
        <param name="minRecordLength" value="1024"/>
        <param name="maxConnections" value="20"/>
        <param name="copyWhenReading" value="true"/>
    </DataStore>

    <!--
        security configuration
    -->
    <Security appName="Jackrabbit">
        <!--
            security manager:
            class: FQN of class implementing the JackrabbitSecurityManager 
interface
        -->
        <SecurityManager 
class="org.apache.jackrabbit.core.security.simple.SimpleSecurityManager"
                         workspaceName="security">
            <!--
            workspace access:
            class: FQN of class implementing the WorkspaceAccessManager 
interface
            -->
            <!-- <WorkspaceAccessManager class="..."/> -->
            <!-- <param name="config" value="${rep.home}/security.xml"/> -->
        </SecurityManager>

        <!--
            access manager:
            class: FQN of class implementing the AccessManager interface
        -->
        <AccessManager 
class="org.apache.jackrabbit.core.security.simple.SimpleAccessManager">
            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
        </AccessManager>

        <LoginModule 
class="org.apache.jackrabbit.core.security.simple.SimpleLoginModule">
            <!--
              anonymous user name ('anonymous' is the default value)
            -->
            <param name="anonymousId" value="anonymous"/>
            <!--
              administrator user id (default value if param is missing is 
'admin')
            -->
            <param name="adminId" value="admin"/>
        </LoginModule>
    </Security>

    <!--
        location of workspaces root directory and name of default workspace
    -->
    <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
    <!--
        workspace configuration template:
        used to create the initial workspace if there's no workspace yet
    -->
    <Workspace name="${wsp.name}">
        <!--
            virtual file system of the workspace:
            class: FQN of class implementing the FileSystem interface
        -->
        <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
           <param name="driver" value="oracle.jdbc.OracleDriver"/>
           <param name="url" value="jdbc:oracle:thin:@ora12:1521:mystrodb"/>
           <param name="user" value="neil"/>
           <param name="password" value="neil"/>
           <param name="schemaObjectPrefix" value="${wsp.name}_"/>
        </FileSystem>
        <!--
            persistence manager of the workspace:
            class: FQN of class implementing the PersistenceManager interface
        -->

        <!-- 
http://wiki.magnolia-cms.com/display/WIKI/Changing+Jackrabbit+PersistenceManager
 -->

        <PersistenceManager 
class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
            <param name="driver" value="oracle.jdbc.OracleDriver"/>
            <param name="url" value="jdbc:oracle:thin:@ora12:1521:mystrodb"/>
            <param name="schema" value="oracle"/>
            <!-- warning, this is not the schema name, it's the db type -->
            <param name="user" value="neil"/>
            <param name="password" value="neil"/>
            <param name="schemaObjectPrefix" value="${wsp.name}_"/>
            <param name="externalBLOBs" value="false"/>
        </PersistenceManager>

        <!--
            Search index and the file system it uses.
            class: FQN of class implementing the QueryHandler interface
        -->
        <SearchIndex 
class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
            <param name="path" value="${wsp.home}/index"/>
            <param name="supportHighlighting" value="true"/>
            <param name="respectDocumentOrder" value="false"/>
        </SearchIndex>
    </Workspace>

    <!--
        Configures the versioning
    -->
    <Versioning rootPath="${rep.home}/version">
        <!--
            Configures the filesystem to use for versioning for the respective
            persistence manager
        -->
        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
            <param name="path" value="${rep.home}/version"/>
        </FileSystem>

        <!--
            Configures the persistence manager to be used for persisting 
version state.
            Please note that the current versioning implementation is based on
            a 'normal' persistence manager, but this could change in future
            implementations.
        -->

        <PersistenceManager 
class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
            <param name="driver" value="oracle.jdbc.OracleDriver"/>
            <param name="url" value="jdbc:oracle:thin:@ora12:1521:mystrodb"/>
            <param name="schema" value="oracle"/>
            <!-- warning, this is not the schema name, it's the db type -->
            <param name="user" value="neil"/>
            <param name="password" value="neil"/>
            <param name="schemaObjectPrefix" value="version_"/>
            <param name="externalBLOBs" value="false"/>
        </PersistenceManager>

    </Versioning>


    <!--
        Search index for content that is shared repository wide
        (/jcr:system tree, contains mainly versions)
    -->
    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
        <param name="path" value="${rep.home}/repository/index"/>
        <param name="supportHighlighting" value="true"/>
        <param name="respectDocumentOrder" value="false"/>
    </SearchIndex>
</Repository>

Reply via email to