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>