On 2/26/10 7:22 PM, Neil Lott wrote: > 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. > Nothing in the log below indicates what kind of "trouble" you're having. That'd probably be useful. Jackrabbit definitely shouldn't stop you from adding all these nodes. But... (continued below)
> 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? Don't have 1.7 million nodes under a single parent. Jackrabbit will not perform well. See https://issues.apache.org/jira/browse/JCR-642 for discussion. You also might want to read this recent thread about possibly improving this in Jackrabbit 3: http://markmail.org/thread/v2wl5nh43zf2shkp Justin > > 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> >
