[exo-jcr-commits] exo-jcr SVN: r5582 - in jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules: jcr and 1 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Feb 8 07:52:08 EST 2012
Author: tolusha
Date: 2012-02-08 07:52:03 -0500 (Wed, 08 Feb 2012)
New Revision: 5582
Added:
jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/ispn/
jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/ispn/ispn-integration.xml
Modified:
jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr.xml
Log:
EXOJCR-1735: ISPN integration chapter
Added: jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/ispn/ispn-integration.xml
===================================================================
--- jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/ispn/ispn-integration.xml (rev 0)
+++ jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/ispn/ispn-integration.xml 2012-02-08 12:52:03 UTC (rev 5582)
@@ -0,0 +1,362 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This document was created with Syntext Serna Free. -->
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="ISPN.integration">
+ <?dbhtml filename="ispn-integration.html"?>
+
+ <title>Infinispan integration</title>
+
+ <para>eXo JCR can rely on distributed cache such as Infinispan. This article
+ describes the required configuration.</para>
+
+ <section>
+ <title>Components configuration requirements</title>
+
+ <programlisting><component>
+ <key>org.infinispan.transaction.lookup.TransactionManagerLookup</key>
+ <type>org.exoplatform.services.transaction.infinispan.JBossStandaloneJTAManagerLookup</type>
+</component>
+
+<component profiles="ispn">
+ <key>org.exoplatform.services.transaction.TransactionService</key>
+ <type>org.exoplatform.services.transaction.infinispan.JBossTransactionsService</type>
+ <init-params>
+ <value-param>
+ <name>timeout</name>
+ <value>3000</value>
+ </value-param>
+ </init-params>
+</component>
+
+<component profiles="ispn">
+ <key>org.exoplatform.services.rpc.RPCService</key>
+ <type>org.exoplatform.services.rpc.jgv3.RPCServiceImpl</type>
+ <init-params>
+ <value-param>
+ <name>jgroups-configuration</name>
+ <value>jar:/conf/udp-mux-v3.xml</value>
+ </value-param>
+ <value-param>
+ <name>jgroups-cluster-name</name>
+ <value>RPCService-Cluster</value>
+ </value-param>
+ <value-param>
+ <name>jgroups-default-timeout</name>
+ <value>0</value>
+ </value-param>
+ </init-params>
+</component>
+</programlisting>
+ </section>
+
+ <section>
+ <title>Workspaces configuration requirements</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Cache configuration:</para>
+
+ <programlisting language="xml"><cache enabled="true" class="org.exoplatform.services.jcr.impl.dataflow.persistent.infinispan.ISPNCacheWorkspaceStorageCache">
+ <properties>
+ <property name="infinispan-configuration" value="jar:/conf/portal/cluster/infinispan-data.xml" />
+ <property name="jgroups-configuration" value="jar:/conf/udp-mux-v3.xml" />
+ <property name="infinispan-cluster-name" value="JCR-cluster" />
+ </properties>
+</cache>
+</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>Indexer configuration</para>
+
+ <programlisting language="xml"><query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ <properties>
+ <property name="index-dir" value="${exo.jcr.parent.dir:..}/temp/jcrlucenedb/production" />
+ <property name="changesfilter-class" value="org.exoplatform.services.jcr.impl.core.query.ispn.ISPNIndexChangesFilter" />
+ <property name="infinispan-configuration" value="jar:/conf/portal/cluster/infinispan-indexer.xml" />
+ <property name="jgroups-configuration" value="jar:/conf/udp-mux-v3.xml" />
+ <property name="infinispan-cluster-name" value="JCR-cluster" />
+ <property name="max-volatile-time" value="60" />
+ </properties>
+</query-handler>
+</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>Lock Manager configuration</para>
+
+ <programlisting language="xml"><lock-manager class="org.exoplatform.services.jcr.impl.core.lock.infinispan.ISPNCacheableLockManagerImpl">
+ <properties>
+ <property name="time-out" value="15m" />
+ <property name="infinispan-configuration" value="jar:/conf/portal/cluster/infinispan-lock.xml" />
+ <property name="jgroups-configuration" value="jar:/conf/udp-mux-v3.xml" />
+ <property name="infinispan-cluster-name" value="JCR-cluster" />
+ <property name="infinispan-cl-cache.jdbc.table.name" value="lk" />
+ <property name="infinispan-cl-cache.jdbc.table.create" value="true" />
+ <property name="infinispan-cl-cache.jdbc.table.drop" value="false" />
+ <property name="infinispan-cl-cache.jdbc.id.column" value="id" />
+ <property name="infinispan-cl-cache.jdbc.data.column" value="data" />
+ <property name="infinispan-cl-cache.jdbc.timestamp.column" value="timestamp" />
+ <property name="infinispan-cl-cache.jdbc.datasource" value="jdbcjcr" />
+ <property name="infinispan-cl-cache.jdbc.connectionFactory" value="org.infinispan.loaders.jdbc.connectionfactory.ManagedConnectionFactory" />
+ </properties>
+</lock-manager>^
+</programlisting>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section>
+ <title>Shipped Infinispan Cache configuration templates</title>
+
+ <para>eXo JCR implementation is shipped with ready-to-use Infinispan Cache
+ configuration templates for JCR's components. </para>
+
+ <section>
+ <title>Data container template</title>
+
+ <para>Data container template is "infinispan-data.xml":</para>
+
+ <programlisting><infinispan
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance".
+ xsi:schemaLocation="urn:infinispan:config:5.1 http://www.infinispan.org/schemas/infinispan-config-5.1.xsd".
+ xmlns="urn:infinispan:config:5.1">
+
+ <global>
+ <evictionScheduledExecutor factory="org.infinispan.executors.DefaultScheduledExecutorFactory">
+ <properties>
+ <property name="threadNamePrefix" value="EvictionThread"/>
+ </properties>
+ </evictionScheduledExecutor>
+
+ <globalJmxStatistics jmxDomain="exo" enabled="true" allowDuplicateDomains="true"/>
+
+ <transport transportClass="org.infinispan.remoting.transport.jgroups.JGroupsTransport" clusterName="${infinispan-cluster-name}" distributedSyncTimeout=
+ <properties>
+ <property name="configurationFile" value="${jgroups-configuration}"/>
+ </properties>
+ </transport>
+ </global>
+
+ <default>
+ <clustering mode="replication">
+ <stateTransfer timeout="20000" fetchInMemoryState="false" />
+ <sync replTimeout="20000"/>
+ </clustering>
+
+ <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500" useLockStriping="true"/>
+ <transaction transactionManagerLookupClass="org.exoplatform.services.transaction.infinispan.JBossStandaloneJTAManagerLookup" syncRollbackPhase="true" s
+ <jmxStatistics enabled="true"/>
+ <eviction strategy="LRU" threadPolicy="DEFAULT" maxEntries="1000000"/>
+ <expiration wakeUpInterval="5000"/>
+ </default>
+</infinispan>
+</programlisting>
+
+ <table>
+ <title>Template variables</title>
+
+ <tgroup cols="1">
+ <tbody>
+ <row>
+ <entry>infinispan-cluster-name</entry>
+ </row>
+
+ <row>
+ <entry>jgroups-configuration</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+
+ <section>
+ <title>Lock manager template</title>
+
+ <para>Its template name is "infinispan-lock.xml"</para>
+
+ <programlisting language="xml"><infinispan
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance".
+ xsi:schemaLocation="urn:infinispan:config:5.1 http://www.infinispan.org/schemas/infinispan-config-5.1.xsd".
+ xmlns="urn:infinispan:config:5.1">
+
+ <global>
+ <evictionScheduledExecutor factory="org.infinispan.executors.DefaultScheduledExecutorFactory">
+ <properties>
+ <property name="threadNamePrefix" value="EvictionThread"/>
+ </properties>
+ </evictionScheduledExecutor>
+
+ <globalJmxStatistics jmxDomain="exo" enabled="true" allowDuplicateDomains="true"/>
+
+ <transport transportClass="org.infinispan.remoting.transport.jgroups.JGroupsTransport" clusterName="${infinispan-cluster-name}" distributedSyncTimeout=
+ <properties>
+ <property name="configurationFile" value="${jgroups-configuration}"/>
+ </properties>
+ </transport>
+ </global>
+
+ <default>
+ <clustering mode="replication">
+ <stateTransfer timeout="20000" fetchInMemoryState="false" />
+ <sync replTimeout="20000"/>
+ </clustering>
+
+ <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500" useLockStriping="false"/>
+ <transaction transactionManagerLookupClass="org.exoplatform.services.transaction.infinispan.JBossStandaloneJTAManagerLookup" syncRollbackPhase="true" s
+ <jmxStatistics enabled="true"/>
+ <eviction strategy="NONE"/>
+
+ <loaders passivation="false" shared="true" preload="true">
+ <loader class="org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore" fetchPersistentState="true" ignoreModifications="false" purgeOnStar
+ <properties>
+ <property name="stringsTableNamePrefix" value="${infinispan-cl-cache.jdbc.table.name}"/>
+ <property name="idColumnName" value="${infinispan-cl-cache.jdbc.id.column}"/>
+ <property name="dataColumnName" value="${infinispan-cl-cache.jdbc.data.column}"/>
+ <property name="timestampColumnName" value="${infinispan-cl-cache.jdbc.timestamp.column}"/>
+ <property name="idColumnType" value="${infinispan-cl-cache.jdbc.id.type}"/>
+ <property name="dataColumnType" value="${infinispan-cl-cache.jdbc.data.type}"/>
+ <property name="timestampColumnType" value="${infinispan-cl-cache.jdbc.timestamp.type}"/>
+ <property name="dropTableOnExit" value="${infinispan-cl-cache.jdbc.table.drop}"/>
+ <property name="createTableOnStart" value="${infinispan-cl-cache.jdbc.table.create}"/>
+ <property name="connectionFactoryClass" value="${infinispan-cl-cache.jdbc.connectionFactory}"/>
+ <property name="datasourceJndiLocation" value="${infinispan-cl-cache.jdbc.datasource}"/>
+ </properties>
+ <async enabled="false"/>
+ </loader>
+ </loaders>
+ </default>
+
+</infinispan>
+</programlisting>
+
+ <table>
+ <title>Template variables</title>
+
+ <tgroup cols="1">
+ <tbody>
+ <row>
+ <entry>infinispan-cluster-name</entry>
+ </row>
+
+ <row>
+ <entry>jgroups-configuration</entry>
+ </row>
+
+ <row>
+ <entry>infinispan-cl-cache.jdbc.table.name</entry>
+ </row>
+
+ <row>
+ <entry>infinispan-cl-cache.jdbc.id.column</entry>
+ </row>
+
+ <row>
+ <entry>infinispan-cl-cache.jdbc.data.column</entry>
+ </row>
+
+ <row>
+ <entry>infinispan-cl-cache.jdbc.timestamp.column</entry>
+ </row>
+
+ <row>
+ <entry>infinispan-cl-cache.jdbc.id.type</entry>
+ </row>
+
+ <row>
+ <entry>infinispan-cl-cache.jdbc.data.type</entry>
+ </row>
+
+ <row>
+ <entry>infinispan-cl-cache.jdbc.timestamp.type</entry>
+ </row>
+
+ <row>
+ <entry>infinispan-cl-cache.jdbc.table.drop</entry>
+ </row>
+
+ <row>
+ <entry>infinispan-cl-cache.jdbc.table.create</entry>
+ </row>
+
+ <row>
+ <entry>infinispan-cl-cache.jdbc.connectionFactory</entry>
+ </row>
+
+ <row>
+ <entry>infinispan-cl-cache.jdbc.datasource</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+
+ <section>
+ <title>Query handler (indexer) template</title>
+
+ <para>Have a look at "infinispan-indexer.xml"</para>
+
+ <programlisting><infinispan
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance".
+ xsi:schemaLocation="urn:infinispan:config:5.1 http://www.infinispan.org/schemas/infinispan-config-5.1.xsd".
+ xmlns="urn:infinispan:config:5.1">
+
+ <global>
+ <evictionScheduledExecutor factory="org.infinispan.executors.DefaultScheduledExecutorFactory">
+ <properties>
+ <property name="threadNamePrefix" value="EvictionThread"/>
+ </properties>
+ </evictionScheduledExecutor>
+
+ <globalJmxStatistics jmxDomain="exo" enabled="true" allowDuplicateDomains="true"/>
+
+ <transport transportClass="org.infinispan.remoting.transport.jgroups.JGroupsTransport" clusterName="${infinispan-cluster-name}" distributedSyncTimeout=
+ <properties>
+ <property name="configurationFile" value="${jgroups-configuration}"/>
+ </properties>
+ </transport>
+ </global>
+
+ <default>
+ <clustering mode="replication">
+ <stateTransfer timeout="20000" fetchInMemoryState="false" />
+ <sync replTimeout="20000"/>
+ </clustering>
+
+ <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500" useLockStriping="false"/>
+ <transaction transactionManagerLookupClass="org.exoplatform.services.transaction.infinispan.JBossStandaloneJTAManagerLookup" syncRollbackPhase="true" s
+ <jmxStatistics enabled="true"/>
+ <eviction strategy="NONE"/>
+
+ <loaders passivation="false" shared="false" preload="false">
+ <loader class="${infinispan-cachestore-classname}" fetchPersistentState="false" ignoreModifications="false" purgeOnStartup="false">
+ <async enabled="false"/>
+ </loader>
+ </loaders>
+ </default>
+</infinispan>
+</programlisting>
+
+ <table>
+ <title>Template variable</title>
+
+ <tgroup cols="1">
+ <tbody>
+ <row>
+ <entry>infinispan-cluster-name</entry>
+ </row>
+
+ <row>
+ <entry>jgroups-configuration</entry>
+ </row>
+
+ <row>
+ <entry>infinispan-cachestore-classname</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+ </section>
+</chapter>
Modified: jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr.xml
===================================================================
--- jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr.xml 2012-02-08 08:15:12 UTC (rev 5581)
+++ jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr.xml 2012-02-08 12:52:03 UTC (rev 5582)
@@ -91,6 +91,9 @@
<xi:include href="jcr/transaction-manager-lookup.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="jcr/ispn/ispn-integration.xml"
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="jcr/repository-creation-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
More information about the exo-jcr-commits
mailing list