Note that there are some explanatory texts on larger screens.

plurals
  1. POSetting up Jackrabbit in a cluster environment
    text
    copied!<p>I want to set up Jackrabbit in a cluster (I am setting it up with Liferay).</p> <p>I read this document - <a href="http://wiki.apache.org/jackrabbit/Clustering" rel="nofollow">http://wiki.apache.org/jackrabbit/Clustering</a> , unfortunately it's very short, so I don't understand some of the concepts and best practices. Let me first explain what is my set up:</p> <p>we have 2 weblogic servers that share the same filesystem and we deploy the same war to both weblogics. I use Oracle as a db (I have connection pool configured in WL and want to connect using JNDI)</p> <p>As I understand from the docs each node has to have a separate configuration with it's own repository directory, workspace filesystem and search index. </p> <p>Both nodes share PersistranceManager, repository filesystem and datastore (if I have and)</p> <p>Here are the questions:</p> <ol> <li><p>what is workspace filesystem and how is it different from repository filesystem. And what is workspace - as I understand it's part of repository and repository can have multiple workspaces but what is workspace is not described in docs.</p></li> <li><p>I want performance to be the best, I won't have to much content and users (10s of simultaneous users), so I want to optimize page load time for faster rendering of the pages. What would be the best practice - should I configure PersistanceManager to go to db? </p></li> <li><p>where should repository filesystem point on each node? </p></li> <li><p>where should workspaces point to on each node?</p></li> <li><p>where should workspace filesystem point to? </p></li> </ol> <p>I tried to point all of them to my db, but I seem to have deadlocks (or db works too slow).</p> <p>And I enabled logging and I see a lot of unnecessary reads, looks like for each upload of the file jackrabbit opens connection, pre-caches all the files, closes and does it several times (takes about a minute) to upload very small file, most likely something is wrong with my config.</p> <p>Here is my config file:</p> <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0"?&gt; &lt;Repository&gt; &lt;FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem"&gt; &lt;param name="driver" value="javax.naming.InitialContext"/&gt; &lt;param name="url" value="ISG" /&gt; &lt;param name="schema" value="oracle"/&gt; &lt;param name="schemaObjectPrefix" value="J_R_FS_"/&gt; &lt;/FileSystem&gt; &lt;Security appName="Jackrabbit"&gt; &lt;AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager" /&gt; &lt;LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule"&gt; &lt;param name="anonymousId" value="anonymous" /&gt; &lt;/LoginModule&gt; &lt;/Security&gt; &lt;Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="liferay" /&gt; &lt;Workspace name="${wsp.name}"&gt; &lt;PersistenceManager class="org.apache.jackrabbit.core.persistence.db.OraclePersistenceManager"&gt; &lt;param name="driver" value="javax.naming.InitialContext"/&gt; &lt;param name="url" value="ISG" /&gt; &lt;param name="tableSpace" value="" /&gt; &lt;param name="schema" value="oracle" /&gt; &lt;param name="schemaObjectPrefix" value="J_PM_${wsp.name}_" /&gt; &lt;param name="externalBLOBs" value="false" /&gt; &lt;/PersistenceManager&gt; &lt;FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem"&gt; &lt;param name="driver" value="javax.naming.InitialContext"/&gt; &lt;param name="url" value="ISG" /&gt; &lt;param name="tableSpace" value="" /&gt; &lt;param name="schema" value="oracle"/&gt; &lt;param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/&gt; &lt;/FileSystem&gt; &lt;/Workspace&gt; &lt;Versioning rootPath="${rep.home}/version"&gt; &lt;FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem"&gt; &lt;param name="driver" value="javax.naming.InitialContext"/&gt; &lt;param name="url" value="ISG" /&gt; &lt;param name="schema" value="oracle"/&gt; &lt;param name="schemaObjectPrefix" value="J_V_FS_"/&gt; &lt;/FileSystem&gt; &lt;PersistenceManager class="org.apache.jackrabbit.core.persistence.db.OraclePersistenceManager"&gt; &lt;param name="driver" value="javax.naming.InitialContext"/&gt; &lt;param name="url" value="ISG" /&gt; &lt;param name="tableSpace" value="" /&gt; &lt;param name="schema" value="oracle" /&gt; &lt;param name="schemaObjectPrefix" value="J_V_PM_" /&gt; &lt;param name="externalBLOBs" value="false" /&gt; &lt;/PersistenceManager&gt; &lt;/Versioning&gt; &lt;Cluster id="node_1" syncDelay="2000"&gt; &lt;Journal class="org.apache.jackrabbit.core.journal.OracleDatabaseJournal"&gt; &lt;param name="revision" value="${rep.home}/revision.log"/&gt; &lt;param name="driver" value="javax.naming.InitialContext"/&gt; &lt;param name="url" value="ISG" /&gt; &lt;param name="tableSpace" value="" /&gt; &lt;param name="schema" value="oracle"/&gt; &lt;param name="schemaObjectPrefix" value="J_C_"/&gt; &lt;/Journal&gt; &lt;/Cluster&gt; &lt;/Repository&gt; </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload