It seems the repository.xml file hasn't been sent with my last email.
Here it is.

Paul.

> From: [email protected]
> To: [email protected]
> Subject: Using JackRabbit on a server with high traffic
> Date: Wed, 28 Oct 2009 13:53:26 +0100
> 
> Hello,
> 
> I wanted to know if some of you are using JackRabbit on a server 
> used by many users (about 35 single users per minute).
> I am currently getting 
> problems on my application because it seems JackRabbit doesn't respond 
> quickly 
> enough.
> Is JackRabbit supposed to be working with 
> high traffic, or should it only be used as a kind of 
> datawarehouse?
> 
> Moreover, if it indeed can handle many connections at the 
> same time, what could explain the bottleneck that comes from JackRabbit? 
> Having 
> had a look at the source code, I am wondering whether the synchronized 
> methods 
> in the 
> org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager
>  
> class aren't causing our problems. As far as I have looked, it seems only one 
> user can access the repository at a time (this seems very strange!). Am I 
> right? 
> If yes, does someone know why it behaves that way?
> 
> I was also wondering if changing the locking policy could be a good 
> idea: our application on the server only reads content in JackRabbit (the 
> content is written into the repository via a separate batch, so there is no 
> need 
> to synchronize read / write outside the batch). Do you think I could improve 
> performances by only giving a "fake" lock that doesn't lock anything when we 
> try 
> to read content in the repository?
>  
> Last question: it is possible to specify a cache size in the 
> org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager (see 
> the attached jackrabbit-repository.xml file). Is 
> it a cache of objects fetched from the repository? or does it cache 
> something else instead? Why do we need to give a max amount of memory to use, 
> instead of giving a max number of objects in the cache? (like ehcache 
> does)
> 
> The application is running on a WebLogic server and all content is stored 
> into an Oracle database.
> 
> I also added our repository configuration file to this email (we are using a 
> 1.6 patched version of JackRabbit).
> 
> 
> Any help will be greatly appreciated!
> Thank you very much.
> 
> Kind 
> regards,
> Paul.
                                          
_________________________________________________________________
Nouveau Windows 7 : Trouvez le PC qui vous convient. En savoir plus.
http://clk.atdmt.com/FRM/go/181574580/direct/01/
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.5//EN" "http://jackrabbit.apache.org/dtd/repository-1.5.dtd";>
<Repository>
	<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
		<param name="driver" value="javax.naming.InitialContext" />
		<param name="url" value="jdbc/jackrabbit" />
		<param name="databaseType" value="oracle" />
	</DataStore>
	<FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
		<param name="driver" value="javax.naming.InitialContext" />
		<param name="url" value="jdbc/jackrabbit" />
		<param name="schema" value="oracle" />
		<param name="schemaObjectPrefix" value="J_R_FS_" />
	</FileSystem>
	<Security appName="Jackrabbit">
		<SecurityManager class="org.apache.jackrabbit.core.security.simple.SimpleSecurityManager" workspaceName="security" />
		<AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager" />
		<LoginModule class="my.company.jackrabbit.core.security.DBLoginModule">
			<param name="dataSourceJNDIName" value="jdbc/data" />
			<param name="sqlQuery" value="select LOGIN, PASSWORD from JACK_USER" />
		</LoginModule>
	</Security>
	<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default" />
	<Workspace name="${wsp.name}">
		<FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
			<param name="driver" value="javax.naming.InitialContext" />
			<param name="url" value="jdbc/jackrabbit" />
			<param name="schema" value="oracle" />
			<param name="schemaObjectPrefix" value="J_FS_${wsp.name}_" />
		</FileSystem>
		<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
			<param name="driver" value="javax.naming.InitialContext" />
			<param name="url" value="jdbc/jackrabbit" />
			<param name="schema" value="oracle" />
			<param name="schemaObjectPrefix" value="J_PM_${wsp.name}_" />
			<param name="externalBLOBs" value="false" />
		</PersistenceManager>
		<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
			<param name="path" value="${wsp.home}/index" />
			<param name="useCompoundFile" value="true" />
			<param name="minMergeDocs" value="100" />
			<param name="volatileIdleTime" value="3" />
			<param name="maxMergeDocs" value="100000" />
			<param name="mergeFactor" value="10" />
			<param name="maxFieldLength" value="10000" />
			<param name="bufferSize" value="10" />
			<param name="cacheSize" value="1000" />
			<param name="forceConsistencyCheck" value="false" />
			<param name="autoRepair" value="true" />
			<param name="analyzer" value="org.apache.lucene.analysis.SimpleAnalyzer" />
			<param name="respectDocumentOrder" value="true" />
			<param name="resultFetchSize" value="2147483647" />
			<param name="extractorPoolSize" value="0" />
			<param name="extractorTimeout" value="100" />
			<param name="extractorBackLogSize" value="100" />
			<param name="indexingConfiguration" value="classpath:jackrabbit/indexing-configuration.xml" />
		</SearchIndex>
		<ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
		</ISMLocking>
	</Workspace>
	<Versioning rootPath="${rep.home}/versions">
		<FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
			<param name="driver" value="javax.naming.InitialContext" />
			<param name="url" value="jdbc/jackrabbit" />
			<param name="schema" value="oracle" />
			<param name="schemaObjectPrefix" value="J_V_FS_" />
		</FileSystem>
		<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
			<param name="driver" value="javax.naming.InitialContext" />
			<param name="url" value="jdbc/jackrabbit" />
			<param name="schema" value="oracle" />
			<param name="schemaObjectPrefix" value="J_V_PM_" />
			<param name="externalBLOBs" value="false" />
		</PersistenceManager>
		<ISMLocking class="org.apache.jackrabbit.core.state.FineGrainedISMLocking">
		</ISMLocking>
	</Versioning>
	<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
		<param name="path" value="${rep.home}/repository/index" />
		<param name="useCompoundFile" value="true" />
		<param name="minMergeDocs" value="100" />
		<param name="volatileIdleTime" value="3" />
		<param name="maxMergeDocs" value="100000" />
		<param name="mergeFactor" value="10" />
		<param name="maxFieldLength" value="10000" />
		<param name="bufferSize" value="10" />
		<param name="cacheSize" value="1000" />
		<param name="forceConsistencyCheck" value="false" />
		<param name="autoRepair" value="true" />
		<param name="analyzer" value="org.apache.lucene.analysis.SimpleAnalyzer" />
		<param name="respectDocumentOrder" value="true" />
		<param name="resultFetchSize" value="2147483647" />
		<param name="extractorPoolSize" value="0" />
		<param name="extractorTimeout" value="100" />
		<param name="extractorBackLogSize" value="100" />
		<param name="indexingConfiguration" value="classpath:jackrabbit/indexing-configuration.xml" />
	</SearchIndex>
	<Cluster id="node_batch" syncDelay="5">
		<Journal class="org.apache.jackrabbit.core.journal.OracleDatabaseJournal">
			<param name="revision" value="${rep.home}/revision" />
			<param name="driver" value="javax.naming.InitialContext" />
			<param name="url" value="jdbc/jackrabbit" />
			<param name="schema" value="oracle" />
			<param name="schemaObjectPrefix" value="J_C_" />
		</Journal>
	</Cluster>
</Repository>

Reply via email to