[exo-jcr-commits] exo-jcr SVN: r4170 - in jcr/trunk: applications/product-patches/as/jetty and 10 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Mar 24 12:15:17 EDT 2011


Author: nfilotto
Date: 2011-03-24 12:15:17 -0400 (Thu, 24 Mar 2011)
New Revision: 4170

Added:
   jcr/trunk/applications/product-patches/as/jetty/exo-conf/
   jcr/trunk/applications/product-patches/as/jetty/exo-conf/exo-jcr-config.xml
   jcr/trunk/applications/product-patches/as/jetty/exo-conf/exo-jcr-ispn-config.xml
   jcr/trunk/applications/product-patches/as/jetty/exo-conf/exo-jcr-jbc-config.xml
   jcr/trunk/applications/product-patches/as/jetty/exo-readme.txt
   jcr/trunk/applications/product-patches/as/jonas/exo-conf/exo-jcr-config.xml
   jcr/trunk/applications/product-patches/as/jonas/exo-conf/exo-jcr-ispn-config.xml
   jcr/trunk/applications/product-patches/as/jonas/exo-conf/exo-jcr-jbc-config.xml
   jcr/trunk/applications/product-patches/as/jonas/exo-readme.txt
   jcr/trunk/applications/product-patches/as/tomcat/exo-readme.txt
   jcr/trunk/exo.jcr.component.core/src/main/resources/conf/portal/exo-jcr-ispn-config.xml
   jcr/trunk/exo.jcr.component.core/src/main/resources/conf/portal/exo-jcr-jbc-config.xml
Modified:
   jcr/trunk/applications/product-patches/as/jboss/exo-configuration.xml
   jcr/trunk/applications/product-patches/as/jetty/eXo.bat
   jcr/trunk/applications/product-patches/as/jetty/eXo.sh
   jcr/trunk/applications/product-patches/as/jetty/exo-configuration.xml
   jcr/trunk/applications/product-patches/as/jonas/bin/nt/jonas.bat
   jcr/trunk/applications/product-patches/as/jonas/bin/unix/jonas
   jcr/trunk/applications/product-patches/as/jonas/exo-configuration.xml
   jcr/trunk/applications/product-patches/as/tomcat/bin/eXo.bat
   jcr/trunk/applications/product-patches/as/tomcat/bin/eXo.sh
   jcr/trunk/applications/product-patches/as/tomcat/exo-configuration.xml
   jcr/trunk/exo.jcr.component.core/src/main/resources/conf/portal/cluster/udp-mux.xml
   jcr/trunk/exo.jcr.component.core/src/main/resources/conf/portal/exo-jcr-config.xml
   jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/udp-mux.xml
Log:
EXOJCR-1260: Profiles "jbc" and "ispn" have been added in the configuration and the batches, now for jetty, jonas and tomcat you can specify which config type you want to use thanks to a new parameter. By default we use the default config, if the value of the paramater is "ispn", the config for Infinispan is used and if the value of the paramater is "jbc", the config for JBoss Cache is used. For more details read the exo-readme.txt for each AS.

Modified: jcr/trunk/applications/product-patches/as/jboss/exo-configuration.xml
===================================================================
--- jcr/trunk/applications/product-patches/as/jboss/exo-configuration.xml	2011-03-24 15:51:00 UTC (rev 4169)
+++ jcr/trunk/applications/product-patches/as/jboss/exo-configuration.xml	2011-03-24 16:15:17 UTC (rev 4170)
@@ -19,8 +19,8 @@
     02110-1301 USA, or see the FSF site: http://www.fsf.org.
 
 -->
-<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"
-   xmlns="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd">
+<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_1.xsd http://www.exoplaform.org/xml/ns/kernel_1_1.xsd"
+   xmlns="http://www.exoplaform.org/xml/ns/kernel_1_1.xsd">
 
    <!-- will use JBoss logger, or enable eXo logger and run JBoss with -Dorg.jboss.logging.Log4jService.catchSystemOut=false -->
    <!-- component>
@@ -60,6 +60,16 @@
             <description>JCR configuration file</description>
             <value>jar:/conf/portal/exo-jcr-config.xml</value>
          </value-param>
+         <value-param profiles="ispn">
+            <name>conf-path</name>
+            <description>JCR configuration file</description>
+            <value>jar:/conf/portal/exo-jcr-ispn-config.xml</value>
+         </value-param>
+         <value-param profiles="jbc">
+            <name>conf-path</name>
+            <description>JCR configuration file</description>
+            <value>jar:/conf/portal/exo-jcr-jbc-config.xml</value>
+         </value-param>
       </init-params>
    </component>
 
@@ -168,7 +178,40 @@
          </object-param>
       </init-params>
    </component>
+  <component profiles="ispn,jbc">
+     <key>org.jboss.cache.transaction.TransactionManagerLookup</key>
+     <type>org.jboss.cache.transaction.JBossStandaloneJTAManagerLookup</type>
+  </component>
+   
+  <component profiles="ispn,jbc">
+    <key>org.exoplatform.services.transaction.TransactionService</key>
+    <type>org.exoplatform.services.transaction.jbosscache.JBossTransactionsService</type>
+    <init-params>
+      <value-param>
+        <name>timeout</name>
+        <value>3000</value>
+      </value-param>
+    </init-params>   
+  </component>
 
+  <component profiles="ispn,jbc">
+    <key>org.exoplatform.services.rpc.RPCService</key>
+    <type>org.exoplatform.services.rpc.impl.RPCServiceImpl</type>
+    <init-params>
+      <value-param>
+        <name>jgroups-configuration</name>
+        <value>jar:/conf/portal/cluster/udp-mux.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>  
    <component>
       <type>org.exoplatform.services.rest.impl.method.MethodInvokerFilterComponentPlugin</type>
       <init-params>

Modified: jcr/trunk/applications/product-patches/as/jetty/eXo.bat
===================================================================
--- jcr/trunk/applications/product-patches/as/jetty/eXo.bat	2011-03-24 15:51:00 UTC (rev 4169)
+++ jcr/trunk/applications/product-patches/as/jetty/eXo.bat	2011-03-24 16:15:17 UTC (rev 4170)
@@ -1 +1 @@
-java -Djava.security.auth.login.config=jaas.conf -jar start.jar
+java -Djava.security.auth.login.config=jaas.conf -Dexo.profiles=%1 -Djava.net.preferIPv4Stack=true -jar start.jar

Modified: jcr/trunk/applications/product-patches/as/jetty/eXo.sh
===================================================================
--- jcr/trunk/applications/product-patches/as/jetty/eXo.sh	2011-03-24 15:51:00 UTC (rev 4169)
+++ jcr/trunk/applications/product-patches/as/jetty/eXo.sh	2011-03-24 16:15:17 UTC (rev 4170)
@@ -1 +1 @@
-java -Djava.security.auth.login.config=jaas.conf -jar start.jar
+java -Djava.security.auth.login.config=jaas.conf -Dexo.profiles=$1 -Djava.net.preferIPv4Stack=true -jar start.jar

Added: jcr/trunk/applications/product-patches/as/jetty/exo-conf/exo-jcr-config.xml
===================================================================
--- jcr/trunk/applications/product-patches/as/jetty/exo-conf/exo-jcr-config.xml	                        (rev 0)
+++ jcr/trunk/applications/product-patches/as/jetty/exo-conf/exo-jcr-config.xml	2011-03-24 16:15:17 UTC (rev 4170)
@@ -0,0 +1,169 @@
+<!--
+
+    Copyright (C) 2009 eXo Platform SAS.
+
+    This is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Lesser General Public License as
+    published by the Free Software Foundation; either version 2.1 of
+    the License, or (at your option) any later version.
+
+    This software is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this software; if not, write to the Free
+    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+    02110-1301 USA, or see the FSF site: http://www.fsf.org.
+
+-->
+<repository-service default-repository="repository">
+   <repositories>
+      <repository name="repository" system-workspace="production" default-workspace="production">
+         <security-domain>exo-domain</security-domain>
+         <access-control>optional</access-control>
+         <authentication-policy>org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator</authentication-policy>
+         <workspaces>
+            <workspace name="production">
+               <!-- for system storage -->
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="temp/swap/production" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="production" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="temp/values/production" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:unstructured" />
+                  </properties>
+               </initializer>
+               <cache enabled="true" class="org.exoplatform.services.jcr.impl.dataflow.persistent.LinkedWorkspaceStorageCacheImpl">
+                  <properties>
+                     <property name="max-size" value="10k" />
+                     <property name="live-time" value="1h" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="temp/jcrlucenedb/production" />
+                  </properties>
+               </query-handler>
+               <lock-manager>
+                  <time-out>15m</time-out>
+                  <persister class="org.exoplatform.services.jcr.impl.core.lock.FileSystemLockPersister">
+                     <properties>
+                        <property name="path" value="temp/lock/production" />
+                     </properties>
+                  </persister>
+               </lock-manager>
+            </workspace>
+
+            <workspace name="backup">
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="temp/swap/backup" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="backup" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="temp/values/backup" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:unstructured" />
+                  </properties>
+               </initializer>
+               <cache enabled="true" class="org.exoplatform.services.jcr.impl.dataflow.persistent.LinkedWorkspaceStorageCacheImpl">
+                  <properties>
+                     <property name="max-size" value="10k" />
+                     <property name="live-time" value="1h" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="temp/jcrlucenedb/backup" />
+                  </properties>
+               </query-handler>
+               <lock-manager>
+                  <time-out>15m</time-out>
+                  <persister class="org.exoplatform.services.jcr.impl.core.lock.FileSystemLockPersister">
+                     <properties>
+                        <property name="path" value="temp/lock/backup" />
+                     </properties>
+                  </persister>
+               </lock-manager>               
+            </workspace>
+
+            <workspace name="digital-assets">
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="temp/swap/digital-assets" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="digital-assets" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="temp/values/digital-assets" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:folder" />
+                  </properties>
+               </initializer>
+               <cache enabled="true" class="org.exoplatform.services.jcr.impl.dataflow.persistent.LinkedWorkspaceStorageCacheImpl">
+                  <properties>
+                     <property name="max-size" value="5k" />
+                     <property name="live-time" value="15m" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="temp/jcrlucenedb/digital-assets" />
+                  </properties>
+               </query-handler>
+               <lock-manager>
+                  <time-out>15m</time-out>
+                  <persister class="org.exoplatform.services.jcr.impl.core.lock.FileSystemLockPersister">
+                     <properties>
+                        <property name="path" value="temp/lock/digital-assets" />
+                     </properties>
+                  </persister>
+               </lock-manager>               
+            </workspace>
+         </workspaces>
+      </repository>
+   </repositories>
+</repository-service>

Added: jcr/trunk/applications/product-patches/as/jetty/exo-conf/exo-jcr-ispn-config.xml
===================================================================
--- jcr/trunk/applications/product-patches/as/jetty/exo-conf/exo-jcr-ispn-config.xml	                        (rev 0)
+++ jcr/trunk/applications/product-patches/as/jetty/exo-conf/exo-jcr-ispn-config.xml	2011-03-24 16:15:17 UTC (rev 4170)
@@ -0,0 +1,214 @@
+<!--
+
+    Copyright (C) 2009 eXo Platform SAS.
+
+    This is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Lesser General Public License as
+    published by the Free Software Foundation; either version 2.1 of
+    the License, or (at your option) any later version.
+
+    This software is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this software; if not, write to the Free
+    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+    02110-1301 USA, or see the FSF site: http://www.fsf.org.
+
+-->
+<repository-service default-repository="repository">
+   <repositories>
+      <repository name="repository" system-workspace="production" default-workspace="production">
+         <security-domain>exo-domain</security-domain>
+         <access-control>optional</access-control>
+         <authentication-policy>org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator</authentication-policy>
+         <workspaces>
+            <workspace name="production">
+               <!-- for system storage -->
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="temp/swap/production" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="production" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="temp/values/production" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:unstructured" />
+                  </properties>
+               </initializer>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="max-volatile-time" value="60" />
+                  </properties>
+               </query-handler>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <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>
+            </workspace>
+
+            <workspace name="backup">
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="temp/swap/backup" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="backup" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="temp/values/backup" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:unstructured" />
+                  </properties>
+               </initializer>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="temp/jcrlucenedb/backup" />
+                     <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="max-volatile-time" value="60" />
+                  </properties>
+               </query-handler>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <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>               
+            </workspace>
+
+            <workspace name="digital-assets">
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="temp/swap/digital-assets" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="digital-assets" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="temp/values/digital-assets" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:folder" />
+                  </properties>
+               </initializer>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="temp/jcrlucenedb/digital-assets" />
+                     <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="max-volatile-time" value="60" />                     
+                  </properties>
+               </query-handler>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <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>
+            </workspace>
+         </workspaces>
+      </repository>
+   </repositories>
+</repository-service>

Added: jcr/trunk/applications/product-patches/as/jetty/exo-conf/exo-jcr-jbc-config.xml
===================================================================
--- jcr/trunk/applications/product-patches/as/jetty/exo-conf/exo-jcr-jbc-config.xml	                        (rev 0)
+++ jcr/trunk/applications/product-patches/as/jetty/exo-conf/exo-jcr-jbc-config.xml	2011-03-24 16:15:17 UTC (rev 4170)
@@ -0,0 +1,235 @@
+<!--
+
+    Copyright (C) 2009 eXo Platform SAS.
+
+    This is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Lesser General Public License as
+    published by the Free Software Foundation; either version 2.1 of
+    the License, or (at your option) any later version.
+
+    This software is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this software; if not, write to the Free
+    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+    02110-1301 USA, or see the FSF site: http://www.fsf.org.
+
+-->
+<repository-service default-repository="repository">
+   <repositories>
+      <repository name="repository" system-workspace="production" default-workspace="production">
+         <security-domain>exo-domain</security-domain>
+         <access-control>optional</access-control>
+         <authentication-policy>org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator</authentication-policy>
+         <workspaces>
+            <workspace name="production">
+               <!-- for system storage -->
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="temp/swap/production" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="production" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="temp/values/production" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:unstructured" />
+                  </properties>
+               </initializer>
+               <cache enabled="true"
+                  class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache">
+                  <properties>
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-data.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-data" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="temp/jcrlucenedb/production" />
+                     <property name="changesfilter-class"
+                        value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-indexer.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-indexer" />
+                     <property name="jbosscache-shareable" value="true" />
+                     <property name="max-volatile-time" value="60" />                     
+                  </properties>
+               </query-handler>
+               <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
+                  <properties>
+                     <property name="time-out" value="15m" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-lock.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-locks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
+                     <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
+                     <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
+                     <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
+                     <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
+                     <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
+                     <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </lock-manager>
+            </workspace>
+
+            <workspace name="backup">
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="temp/swap/backup" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="backup" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="temp/values/backup" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:unstructured" />
+                  </properties>
+               </initializer>
+               <cache enabled="true"
+                  class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache">
+                  <properties>
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-data.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-data" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="temp/jcrlucenedb/backup" />
+                     <property name="changesfilter-class"
+                        value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-indexer.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-indexer" />
+                     <property name="jbosscache-shareable" value="true" />
+                     <property name="max-volatile-time" value="60" />                     
+                  </properties>
+               </query-handler>
+               <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
+                  <properties>
+                     <property name="time-out" value="15m" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-lock.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-locks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
+                     <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
+                     <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
+                     <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
+                     <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
+                     <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
+                     <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </lock-manager>             
+            </workspace>
+
+            <workspace name="digital-assets">
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="temp/swap/digital-assets" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="digital-assets" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="temp/values/digital-assets" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:folder" />
+                  </properties>
+               </initializer>
+               <cache enabled="true"
+                  class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache">
+                  <properties>
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-data.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-data" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="temp/jcrlucenedb/digital-assets" />
+                     <property name="changesfilter-class"
+                        value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-indexer.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-indexer" />
+                     <property name="jbosscache-shareable" value="true" />
+                     <property name="max-volatile-time" value="60" />                     
+                  </properties>
+               </query-handler>
+               <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
+                  <properties>
+                     <property name="time-out" value="15m" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-lock.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-locks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
+                     <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
+                     <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
+                     <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
+                     <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
+                     <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
+                     <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </lock-manager>              
+            </workspace>
+         </workspaces>
+      </repository>
+   </repositories>
+</repository-service>

Modified: jcr/trunk/applications/product-patches/as/jetty/exo-configuration.xml
===================================================================
--- jcr/trunk/applications/product-patches/as/jetty/exo-configuration.xml	2011-03-24 15:51:00 UTC (rev 4169)
+++ jcr/trunk/applications/product-patches/as/jetty/exo-configuration.xml	2011-03-24 16:15:17 UTC (rev 4170)
@@ -19,8 +19,8 @@
     02110-1301 USA, or see the FSF site: http://www.fsf.org.
 
 -->
-<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"
-   xmlns="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd">
+<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_1.xsd http://www.exoplaform.org/xml/ns/kernel_1_1.xsd"
+   xmlns="http://www.exoplaform.org/xml/ns/kernel_1_1.xsd">
 
    <component>
       <key>org.exoplatform.services.log.LogConfigurationInitializer</key>
@@ -43,7 +43,7 @@
             <property name="log4j.appender.stdout.layout" value="org.apache.log4j.PatternLayout" />
             <property name="log4j.appender.stdout.layout.ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss} *%-5p* [%t] %c{1}: %m (%F, line %L) %n" />
             <property name="log4j.appender.file" value="org.apache.log4j.FileAppender" />
-            <property name="log4j.appender.file.File" value="../logs/jcr.log" />
+            <property name="log4j.appender.file.File" value="logs/jcr.log" />
             <property name="log4j.appender.file.layout" value="org.apache.log4j.PatternLayout" />
             <property name="log4j.appender.file.layout.ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss} *%-5p* [%t] %c{1}: %m (%F, line %L) %n" />
             <!-- property name="log4j.category.jcr.FileCleaner" value="DEBUG" / -->
@@ -58,8 +58,18 @@
          <value-param>
             <name>conf-path</name>
             <description>JCR configuration file</description>
-            <value>jar:/conf/portal/exo-jcr-config.xml</value>
+            <value>exo-conf/exo-jcr-config.xml</value>
          </value-param>
+         <value-param profiles="ispn">
+            <name>conf-path</name>
+            <description>JCR configuration file</description>
+            <value>exo-conf/exo-jcr-ispn-config.xml</value>
+         </value-param>
+         <value-param profiles="jbc">
+            <name>conf-path</name>
+            <description>JCR configuration file</description>
+            <value>exo-conf/exo-jcr-jbc-config.xml</value>
+         </value-param>
       </init-params>
    </component>
 
@@ -168,7 +178,40 @@
          </object-param>
       </init-params>
    </component>
+  <component profiles="ispn,jbc">
+     <key>org.jboss.cache.transaction.TransactionManagerLookup</key>
+     <type>org.jboss.cache.transaction.JBossStandaloneJTAManagerLookup</type>
+  </component>
 
+  <component profiles="ispn,jbc">
+    <key>org.exoplatform.services.transaction.TransactionService</key>
+    <type>org.exoplatform.services.transaction.jbosscache.JBossTransactionsService</type>
+    <init-params>
+      <value-param>
+        <name>timeout</name>
+        <value>3000</value>
+      </value-param>
+    </init-params>   
+  </component>
+  
+  <component profiles="ispn,jbc">
+    <key>org.exoplatform.services.rpc.RPCService</key>
+    <type>org.exoplatform.services.rpc.impl.RPCServiceImpl</type>
+    <init-params>
+      <value-param>
+        <name>jgroups-configuration</name>
+        <value>jar:/conf/portal/cluster/udp-mux.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>  
    <component>
       <type>org.exoplatform.services.rest.impl.method.MethodInvokerFilterComponentPlugin</type>
       <init-params>
@@ -257,7 +300,7 @@
          </value-param>
          <value-param>
             <name>cache-folder-name</name>
-            <value>../temp/ftp_cache</value>
+            <value>temp/ftp_cache</value>
          </value-param>
 
          <!-- bytes per second -->
@@ -316,7 +359,7 @@
                <name>ref-addresses</name>
                <description>ref-addresses</description>
                <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:../temp/data/exodb" />
+               <property name="url" value="jdbc:hsqldb:file:temp/data/exodb" />
                <property name="username" value="sa" />
                <property name="password" value="" />
             </properties-param>

Added: jcr/trunk/applications/product-patches/as/jetty/exo-readme.txt
===================================================================
--- jcr/trunk/applications/product-patches/as/jetty/exo-readme.txt	                        (rev 0)
+++ jcr/trunk/applications/product-patches/as/jetty/exo-readme.txt	2011-03-24 16:15:17 UTC (rev 4170)
@@ -0,0 +1,15 @@
+Thank you for your interest in eXo JCR
+
+To launch it, execute the following command:
+
+In Unix environment
+
+* "./eXo.sh" to launch eXo JCR with the default configuration
+* "./eXo.sh ispn" to launch eXo JCR with the configuration for Infinispan
+* "./eXo.sh jbc" to launch eXo JCR with the configuration for JBoss Cache
+
+In Windows environment
+
+* "eXo.bat" to launch eXo JCR with the default configuration
+* "eXo.bat ispn" to launch eXo JCR with the configuration for Infinispan
+* "eXo.bat jbc" to launch eXo JCR with the configuration for JBoss Cache

Modified: jcr/trunk/applications/product-patches/as/jonas/bin/nt/jonas.bat
===================================================================
--- jcr/trunk/applications/product-patches/as/jonas/bin/nt/jonas.bat	2011-03-24 15:51:00 UTC (rev 4169)
+++ jcr/trunk/applications/product-patches/as/jonas/bin/nt/jonas.bat	2011-03-24 16:15:17 UTC (rev 4170)
@@ -80,8 +80,11 @@
 
 Rem ----------------------- Begin eXo configuration ----------------------------
 cd %JONAS_ROOT%/bin
-set JONAS_OPTS=%JONAS_OPTS% -Dorg.exoplatform.services.log.Log=org.apache.commons.logging.impl.SimpleLog -Djava.awt.headless=true
-set JAVA_OPTS=%JAVA_OPTS% -Xmx512M
+set JONAS_OPTS=%JONAS_OPTS% -Dorg.exoplatform.services.log.Log=org.apache.commons.logging.impl.SimpleLog -Djava.awt.headless=true -Dexo.profiles=%1 -Djava.net.preferIPv4Stack=true
+set JAVA_OPTS=%JAVA_OPTS% -Xmx512M
+if ""%1"" == ""jbc"" shift
+if ""%1"" == ""ispn"" shift
+
 Rem ------------------------ End eXo configuration -----------------------------
 
 Rem ---------------------------------------------

Modified: jcr/trunk/applications/product-patches/as/jonas/bin/unix/jonas
===================================================================
--- jcr/trunk/applications/product-patches/as/jonas/bin/unix/jonas	2011-03-24 15:51:00 UTC (rev 4169)
+++ jcr/trunk/applications/product-patches/as/jonas/bin/unix/jonas	2011-03-24 16:15:17 UTC (rev 4170)
@@ -79,8 +79,12 @@
 
 # ------------------------- Begin eXo configuration ----------------------------
 cd $JONAS_ROOT/bin
-JONAS_OPTS="$JONAS_OPTS -Dorg.exoplatform.services.log.Log=org.apache.commons.logging.impl.SimpleLog -Djava.awt.headless=true"
+JONAS_OPTS="$JONAS_OPTS -Dorg.exoplatform.services.log.Log=org.apache.commons.logging.impl.SimpleLog -Djava.awt.headless=true -Dexo.profiles=$1 -Djava.net.preferIPv4Stack=true"
 JAVA_OPTS="$JAVA_OPTS -Xmx512M"
+if [ "$1" = "jbc" ] || [ "$1" = "ispn" ]; then
+    shift
+fi
+
 # -------------------------- End eXo configuration -----------------------------
 
 # ---------------------------------------------

Added: jcr/trunk/applications/product-patches/as/jonas/exo-conf/exo-jcr-config.xml
===================================================================
--- jcr/trunk/applications/product-patches/as/jonas/exo-conf/exo-jcr-config.xml	                        (rev 0)
+++ jcr/trunk/applications/product-patches/as/jonas/exo-conf/exo-jcr-config.xml	2011-03-24 16:15:17 UTC (rev 4170)
@@ -0,0 +1,169 @@
+<!--
+
+    Copyright (C) 2009 eXo Platform SAS.
+
+    This is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Lesser General Public License as
+    published by the Free Software Foundation; either version 2.1 of
+    the License, or (at your option) any later version.
+
+    This software is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this software; if not, write to the Free
+    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+    02110-1301 USA, or see the FSF site: http://www.fsf.org.
+
+-->
+<repository-service default-repository="repository">
+   <repositories>
+      <repository name="repository" system-workspace="production" default-workspace="production">
+         <security-domain>exo-domain</security-domain>
+         <access-control>optional</access-control>
+         <authentication-policy>org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator</authentication-policy>
+         <workspaces>
+            <workspace name="production">
+               <!-- for system storage -->
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="../../temp/swap/production" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="production" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="../../temp/values/production" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:unstructured" />
+                  </properties>
+               </initializer>
+               <cache enabled="true" class="org.exoplatform.services.jcr.impl.dataflow.persistent.LinkedWorkspaceStorageCacheImpl">
+                  <properties>
+                     <property name="max-size" value="10k" />
+                     <property name="live-time" value="1h" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="../../temp/jcrlucenedb/production" />
+                  </properties>
+               </query-handler>
+               <lock-manager>
+                  <time-out>15m</time-out>
+                  <persister class="org.exoplatform.services.jcr.impl.core.lock.FileSystemLockPersister">
+                     <properties>
+                        <property name="path" value="../../temp/lock/production" />
+                     </properties>
+                  </persister>
+               </lock-manager>
+            </workspace>
+
+            <workspace name="backup">
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="../../temp/swap/backup" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="backup" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="../../temp/values/backup" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:unstructured" />
+                  </properties>
+               </initializer>
+               <cache enabled="true" class="org.exoplatform.services.jcr.impl.dataflow.persistent.LinkedWorkspaceStorageCacheImpl">
+                  <properties>
+                     <property name="max-size" value="10k" />
+                     <property name="live-time" value="1h" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="../../temp/jcrlucenedb/backup" />
+                  </properties>
+               </query-handler>
+               <lock-manager>
+                  <time-out>15m</time-out>
+                  <persister class="org.exoplatform.services.jcr.impl.core.lock.FileSystemLockPersister">
+                     <properties>
+                        <property name="path" value="../../temp/lock/backup" />
+                     </properties>
+                  </persister>
+               </lock-manager>               
+            </workspace>
+
+            <workspace name="digital-assets">
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="../../temp/swap/digital-assets" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="digital-assets" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="../../temp/values/digital-assets" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:folder" />
+                  </properties>
+               </initializer>
+               <cache enabled="true" class="org.exoplatform.services.jcr.impl.dataflow.persistent.LinkedWorkspaceStorageCacheImpl">
+                  <properties>
+                     <property name="max-size" value="5k" />
+                     <property name="live-time" value="15m" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="../../temp/jcrlucenedb/digital-assets" />
+                  </properties>
+               </query-handler>
+               <lock-manager>
+                  <time-out>15m</time-out>
+                  <persister class="org.exoplatform.services.jcr.impl.core.lock.FileSystemLockPersister">
+                     <properties>
+                        <property name="path" value="../../temp/lock/digital-assets" />
+                     </properties>
+                  </persister>
+               </lock-manager>               
+            </workspace>
+         </workspaces>
+      </repository>
+   </repositories>
+</repository-service>

Added: jcr/trunk/applications/product-patches/as/jonas/exo-conf/exo-jcr-ispn-config.xml
===================================================================
--- jcr/trunk/applications/product-patches/as/jonas/exo-conf/exo-jcr-ispn-config.xml	                        (rev 0)
+++ jcr/trunk/applications/product-patches/as/jonas/exo-conf/exo-jcr-ispn-config.xml	2011-03-24 16:15:17 UTC (rev 4170)
@@ -0,0 +1,214 @@
+<!--
+
+    Copyright (C) 2009 eXo Platform SAS.
+
+    This is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Lesser General Public License as
+    published by the Free Software Foundation; either version 2.1 of
+    the License, or (at your option) any later version.
+
+    This software is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this software; if not, write to the Free
+    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+    02110-1301 USA, or see the FSF site: http://www.fsf.org.
+
+-->
+<repository-service default-repository="repository">
+   <repositories>
+      <repository name="repository" system-workspace="production" default-workspace="production">
+         <security-domain>exo-domain</security-domain>
+         <access-control>optional</access-control>
+         <authentication-policy>org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator</authentication-policy>
+         <workspaces>
+            <workspace name="production">
+               <!-- for system storage -->
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="../../temp/swap/production" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="production" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="../../temp/values/production" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:unstructured" />
+                  </properties>
+               </initializer>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="../../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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="max-volatile-time" value="60" />
+                  </properties>
+               </query-handler>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <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>
+            </workspace>
+
+            <workspace name="backup">
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="../../temp/swap/backup" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="backup" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="../../temp/values/backup" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:unstructured" />
+                  </properties>
+               </initializer>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="../../temp/jcrlucenedb/backup" />
+                     <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="max-volatile-time" value="60" />
+                  </properties>
+               </query-handler>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <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>               
+            </workspace>
+
+            <workspace name="digital-assets">
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="../../temp/swap/digital-assets" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="digital-assets" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="../../temp/values/digital-assets" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:folder" />
+                  </properties>
+               </initializer>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="../../temp/jcrlucenedb/digital-assets" />
+                     <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="max-volatile-time" value="60" />                     
+                  </properties>
+               </query-handler>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <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>
+            </workspace>
+         </workspaces>
+      </repository>
+   </repositories>
+</repository-service>

Added: jcr/trunk/applications/product-patches/as/jonas/exo-conf/exo-jcr-jbc-config.xml
===================================================================
--- jcr/trunk/applications/product-patches/as/jonas/exo-conf/exo-jcr-jbc-config.xml	                        (rev 0)
+++ jcr/trunk/applications/product-patches/as/jonas/exo-conf/exo-jcr-jbc-config.xml	2011-03-24 16:15:17 UTC (rev 4170)
@@ -0,0 +1,235 @@
+<!--
+
+    Copyright (C) 2009 eXo Platform SAS.
+
+    This is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Lesser General Public License as
+    published by the Free Software Foundation; either version 2.1 of
+    the License, or (at your option) any later version.
+
+    This software is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this software; if not, write to the Free
+    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+    02110-1301 USA, or see the FSF site: http://www.fsf.org.
+
+-->
+<repository-service default-repository="repository">
+   <repositories>
+      <repository name="repository" system-workspace="production" default-workspace="production">
+         <security-domain>exo-domain</security-domain>
+         <access-control>optional</access-control>
+         <authentication-policy>org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator</authentication-policy>
+         <workspaces>
+            <workspace name="production">
+               <!-- for system storage -->
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="../../temp/swap/production" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="production" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="../../temp/values/production" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:unstructured" />
+                  </properties>
+               </initializer>
+               <cache enabled="true"
+                  class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache">
+                  <properties>
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-data.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-data" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="../../temp/jcrlucenedb/production" />
+                     <property name="changesfilter-class"
+                        value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-indexer.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-indexer" />
+                     <property name="jbosscache-shareable" value="true" />
+                     <property name="max-volatile-time" value="60" />                     
+                  </properties>
+               </query-handler>
+               <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
+                  <properties>
+                     <property name="time-out" value="15m" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-lock.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-locks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
+                     <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
+                     <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
+                     <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
+                     <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
+                     <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
+                     <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </lock-manager>
+            </workspace>
+
+            <workspace name="backup">
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="../../temp/swap/backup" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="backup" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="../../temp/values/backup" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:unstructured" />
+                  </properties>
+               </initializer>
+               <cache enabled="true"
+                  class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache">
+                  <properties>
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-data.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-data" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="../../temp/jcrlucenedb/backup" />
+                     <property name="changesfilter-class"
+                        value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-indexer.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-indexer" />
+                     <property name="jbosscache-shareable" value="true" />
+                     <property name="max-volatile-time" value="60" />                     
+                  </properties>
+               </query-handler>
+               <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
+                  <properties>
+                     <property name="time-out" value="15m" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-lock.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-locks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
+                     <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
+                     <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
+                     <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
+                     <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
+                     <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
+                     <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </lock-manager>             
+            </workspace>
+
+            <workspace name="digital-assets">
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="../../temp/swap/digital-assets" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="digital-assets" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="../../temp/values/digital-assets" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:folder" />
+                  </properties>
+               </initializer>
+               <cache enabled="true"
+                  class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache">
+                  <properties>
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-data.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-data" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="../../temp/jcrlucenedb/digital-assets" />
+                     <property name="changesfilter-class"
+                        value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-indexer.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-indexer" />
+                     <property name="jbosscache-shareable" value="true" />
+                     <property name="max-volatile-time" value="60" />                     
+                  </properties>
+               </query-handler>
+               <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
+                  <properties>
+                     <property name="time-out" value="15m" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-lock.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-locks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
+                     <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
+                     <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
+                     <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
+                     <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
+                     <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
+                     <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </lock-manager>              
+            </workspace>
+         </workspaces>
+      </repository>
+   </repositories>
+</repository-service>

Modified: jcr/trunk/applications/product-patches/as/jonas/exo-configuration.xml
===================================================================
--- jcr/trunk/applications/product-patches/as/jonas/exo-configuration.xml	2011-03-24 15:51:00 UTC (rev 4169)
+++ jcr/trunk/applications/product-patches/as/jonas/exo-configuration.xml	2011-03-24 16:15:17 UTC (rev 4170)
@@ -19,8 +19,8 @@
     02110-1301 USA, or see the FSF site: http://www.fsf.org.
 
 -->
-<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"
-   xmlns="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd">
+<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_1.xsd http://www.exoplaform.org/xml/ns/kernel_1_1.xsd"
+   xmlns="http://www.exoplaform.org/xml/ns/kernel_1_1.xsd">
 
    <component>
       <key>org.exoplatform.services.log.LogConfigurationInitializer</key>
@@ -43,7 +43,7 @@
             <property name="log4j.appender.stdout.layout" value="org.apache.log4j.PatternLayout" />
             <property name="log4j.appender.stdout.layout.ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss} *%-5p* [%t] %c{1}: %m (%F, line %L) %n" />
             <property name="log4j.appender.file" value="org.apache.log4j.FileAppender" />
-            <property name="log4j.appender.file.File" value="../logs/jcr.log" />
+            <property name="log4j.appender.file.File" value="../../logs/jcr.log" />
             <property name="log4j.appender.file.layout" value="org.apache.log4j.PatternLayout" />
             <property name="log4j.appender.file.layout.ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss} *%-5p* [%t] %c{1}: %m (%F, line %L) %n" />
             <!-- property name="log4j.category.jcr.FileCleaner" value="DEBUG" / -->
@@ -58,8 +58,18 @@
          <value-param>
             <name>conf-path</name>
             <description>JCR configuration file</description>
-            <value>jar:/conf/portal/exo-jcr-config.xml</value>
+            <value>exo-conf/exo-jcr-config.xml</value>
          </value-param>
+         <value-param profiles="ispn">
+            <name>conf-path</name>
+            <description>JCR configuration file</description>
+            <value>exo-conf/exo-jcr-ispn-config.xml</value>
+         </value-param>
+         <value-param profiles="jbc">
+            <name>conf-path</name>
+            <description>JCR configuration file</description>
+            <value>exo-conf/exo-jcr-jbc-config.xml</value>
+         </value-param>
       </init-params>
    </component>
 
@@ -168,7 +178,40 @@
          </object-param>
       </init-params>
    </component>
+  <component profiles="ispn,jbc">
+     <key>org.jboss.cache.transaction.TransactionManagerLookup</key>
+     <type>org.jboss.cache.transaction.JBossStandaloneJTAManagerLookup</type>
+  </component>
 
+  <component profiles="ispn,jbc">
+    <key>org.exoplatform.services.transaction.TransactionService</key>
+    <type>org.exoplatform.services.transaction.jbosscache.JBossTransactionsService</type>
+    <init-params>
+      <value-param>
+        <name>timeout</name>
+        <value>3000</value>
+      </value-param>
+    </init-params>   
+  </component>
+  
+  <component profiles="ispn,jbc">
+    <key>org.exoplatform.services.rpc.RPCService</key>
+    <type>org.exoplatform.services.rpc.impl.RPCServiceImpl</type>
+    <init-params>
+      <value-param>
+        <name>jgroups-configuration</name>
+        <value>jar:/conf/portal/cluster/udp-mux.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>  
    <component>
       <type>org.exoplatform.services.rest.impl.method.MethodInvokerFilterComponentPlugin</type>
       <init-params>
@@ -257,7 +300,7 @@
          </value-param>
          <value-param>
             <name>cache-folder-name</name>
-            <value>../temp/ftp_cache</value>
+            <value>../../temp/ftp_cache</value>
          </value-param>
 
          <!-- bytes per second -->
@@ -316,7 +359,7 @@
                <name>ref-addresses</name>
                <description>ref-addresses</description>
                <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:../temp/data/exodb" />
+               <property name="url" value="jdbc:hsqldb:file:../../temp/data/exodb" />
                <property name="username" value="sa" />
                <property name="password" value="" />
             </properties-param>

Added: jcr/trunk/applications/product-patches/as/jonas/exo-readme.txt
===================================================================
--- jcr/trunk/applications/product-patches/as/jonas/exo-readme.txt	                        (rev 0)
+++ jcr/trunk/applications/product-patches/as/jonas/exo-readme.txt	2011-03-24 16:15:17 UTC (rev 4170)
@@ -0,0 +1,13 @@
+Thank you for your interest in eXo JCR
+
+In Unix environment, go in the directory bin/unix then execute the following command:
+
+* "./jonas start" to launch eXo JCR with the default configuration
+* "./jonas ispn start" to launch eXo JCR with the configuration for Infinispan
+* "./jonas jbc start" to launch eXo JCR with the configuration for JBoss Cache
+
+In Windows environment, go in the directory bin\nt then execute the following command:
+
+* "jonas.bat start" to launch eXo JCR with the default configuration
+* "jonas.bat ispn start" to launch eXo JCR with the configuration for Infinispan
+* "jonas.bat jbc start" to launch eXo JCR with the configuration for JBoss Cache

Modified: jcr/trunk/applications/product-patches/as/tomcat/bin/eXo.bat
===================================================================
--- jcr/trunk/applications/product-patches/as/tomcat/bin/eXo.bat	2011-03-24 15:51:00 UTC (rev 4169)
+++ jcr/trunk/applications/product-patches/as/tomcat/bin/eXo.bat	2011-03-24 16:15:17 UTC (rev 4170)
@@ -8,9 +8,11 @@
 rem Sets some variables
 set LOG_OPTS="-Dorg.exoplatform.services.log.Log=org.apache.commons.logging.impl.SimpleLog"
 set SECURITY_OPTS="-Djava.security.auth.login.config=%TOMCAT_HOME%\conf\jaas.conf"
-set EXO_OPTS="-Dexo.product.developing=true"
+set EXO_OPTS=-Dexo.product.developing=true -Dexo.profiles=%1 -Djava.net.preferIPv4Stack=true
 set JAVA_OPTS=-Xshare:auto -Xms128m -Xmx512m %LOG_OPTS% %SECURITY_OPTS% %EXO_OPTS%
+if ""%1"" == ""jbc"" shift
+if ""%1"" == ""ispn"" shift
 
 rem Launches the server
 cd %BIN_DIR%
-call catalina.bat %*
\ No newline at end of file
+call catalina.bat %1 %2 %3

Modified: jcr/trunk/applications/product-patches/as/tomcat/bin/eXo.sh
===================================================================
--- jcr/trunk/applications/product-patches/as/tomcat/bin/eXo.sh	2011-03-24 15:51:00 UTC (rev 4169)
+++ jcr/trunk/applications/product-patches/as/tomcat/bin/eXo.sh	2011-03-24 16:15:17 UTC (rev 4170)
@@ -5,12 +5,11 @@
 PRGDIR=`dirname "$PRG"`
 LOG_OPTS="-Dorg.exoplatform.services.log.Log=org.apache.commons.logging.impl.SimpleLog"
 SECURITY_OPTS="-Djava.security.auth.login.config=$PRGDIR/../conf/jaas.conf"
-EXO_OPTS="-Dexo.product.developing=true"
+EXO_OPTS="-Dexo.product.developing=true -Dexo.profiles=$1 -Djava.net.preferIPv4Stack=true"
+if [ "$1" = "jbc" ] || [ "$1" = "ispn" ]; then
+    shift
+fi
 
-#DYLD_LIBRARY_PATH="/Users/tuannguyen/Desktop/YourKit.app/bin/mac/"
-#export  DYLD_LIBRARY_PATH
-#YOURKIT_PROFILE_OPTION="-agentlib:yjpagent"
-
-JAVA_OPTS="$YOURKIT_PROFILE_OPTION $JAVA_OPTS $LOG_OPTS $SECURITY_OPTS $EXO_OPTS"
+JAVA_OPTS="$JAVA_OPTS $LOG_OPTS $SECURITY_OPTS $EXO_OPTS"
 export JAVA_OPTS
 exec "$PRGDIR"/catalina.sh "$@"

Modified: jcr/trunk/applications/product-patches/as/tomcat/exo-configuration.xml
===================================================================
--- jcr/trunk/applications/product-patches/as/tomcat/exo-configuration.xml	2011-03-24 15:51:00 UTC (rev 4169)
+++ jcr/trunk/applications/product-patches/as/tomcat/exo-configuration.xml	2011-03-24 16:15:17 UTC (rev 4170)
@@ -19,8 +19,8 @@
     02110-1301 USA, or see the FSF site: http://www.fsf.org.
 
 -->
-<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"
-   xmlns="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd">
+<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_1.xsd http://www.exoplaform.org/xml/ns/kernel_1_1.xsd"
+   xmlns="http://www.exoplaform.org/xml/ns/kernel_1_1.xsd">
 
    <component>
       <key>org.exoplatform.services.log.LogConfigurationInitializer</key>
@@ -60,6 +60,16 @@
             <description>JCR configuration file</description>
             <value>jar:/conf/portal/exo-jcr-config.xml</value>
          </value-param>
+         <value-param profiles="ispn">
+            <name>conf-path</name>
+            <description>JCR configuration file</description>
+            <value>jar:/conf/portal/exo-jcr-ispn-config.xml</value>
+         </value-param>
+         <value-param profiles="jbc">
+            <name>conf-path</name>
+            <description>JCR configuration file</description>
+            <value>jar:/conf/portal/exo-jcr-jbc-config.xml</value>
+         </value-param>
       </init-params>
    </component>
 
@@ -168,7 +178,40 @@
          </object-param>
       </init-params>
    </component>
-
+  <component profiles="ispn,jbc">
+     <key>org.jboss.cache.transaction.TransactionManagerLookup</key>
+     <type>org.jboss.cache.transaction.JBossStandaloneJTAManagerLookup</type>
+  </component>
+   
+  <component profiles="ispn,jbc">
+    <key>org.exoplatform.services.transaction.TransactionService</key>
+    <type>org.exoplatform.services.transaction.jbosscache.JBossTransactionsService</type>
+    <init-params>
+      <value-param>
+        <name>timeout</name>
+        <value>3000</value>
+      </value-param>
+    </init-params>   
+  </component>
+  
+  <component profiles="ispn,jbc">
+    <key>org.exoplatform.services.rpc.RPCService</key>
+    <type>org.exoplatform.services.rpc.impl.RPCServiceImpl</type>
+    <init-params>
+      <value-param>
+        <name>jgroups-configuration</name>
+        <value>jar:/conf/portal/cluster/udp-mux.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>  
    <component>
       <type>org.exoplatform.services.rest.impl.method.MethodInvokerFilterComponentPlugin</type>
       <init-params>

Added: jcr/trunk/applications/product-patches/as/tomcat/exo-readme.txt
===================================================================
--- jcr/trunk/applications/product-patches/as/tomcat/exo-readme.txt	                        (rev 0)
+++ jcr/trunk/applications/product-patches/as/tomcat/exo-readme.txt	2011-03-24 16:15:17 UTC (rev 4170)
@@ -0,0 +1,15 @@
+Thank you for your interest in eXo JCR
+
+To launch it, go to the bin directory and execute the following command:
+
+In Unix environment
+
+* "./eXo.sh run" to launch eXo JCR with the default configuration
+* "./eXo.sh ispn run" to launch eXo JCR with the configuration for Infinispan
+* "./eXo.sh jbc run" to launch eXo JCR with the configuration for JBoss Cache
+
+In Windows environment
+
+* "eXo.bat run" to launch eXo JCR with the default configuration
+* "eXo.bat ispn run" to launch eXo JCR with the configuration for Infinispan
+* "eXo.bat jbc run" to launch eXo JCR with the configuration for JBoss Cache

Modified: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/portal/cluster/udp-mux.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/portal/cluster/udp-mux.xml	2011-03-24 15:51:00 UTC (rev 4169)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/portal/cluster/udp-mux.xml	2011-03-24 16:15:17 UTC (rev 4170)
@@ -61,5 +61,5 @@
    <FRAG2 frag_size="60000" />
    <!--pbcast.STREAMING_STATE_TRANSFER /-->
    <pbcast.STATE_TRANSFER />
-   <!-- pbcast.FLUSH  /-->
+   <pbcast.FLUSH />
 </config>

Modified: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/portal/exo-jcr-config.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/portal/exo-jcr-config.xml	2011-03-24 15:51:00 UTC (rev 4169)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/portal/exo-jcr-config.xml	2011-03-24 16:15:17 UTC (rev 4170)
@@ -36,7 +36,7 @@
                      <property name="swap-directory" value="../temp/swap/production" />
                   </properties>
                   <value-storages>
-                     <value-storage id="system" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                     <value-storage id="production" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
                         <properties>
                            <property name="path" value="../temp/values/production" />
                         </properties>
@@ -66,7 +66,7 @@
                   <time-out>15m</time-out>
                   <persister class="org.exoplatform.services.jcr.impl.core.lock.FileSystemLockPersister">
                      <properties>
-                        <property name="path" value="../temp/lock/system" />
+                        <property name="path" value="../temp/lock/production" />
                      </properties>
                   </persister>
                </lock-manager>
@@ -82,7 +82,7 @@
                      <property name="swap-directory" value="../temp/swap/backup" />
                   </properties>
                   <value-storages>
-                     <value-storage id="draft" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                     <value-storage id="backup" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
                         <properties>
                            <property name="path" value="../temp/values/backup" />
                         </properties>
@@ -108,6 +108,14 @@
                      <property name="index-dir" value="../temp/jcrlucenedb/backup" />
                   </properties>
                </query-handler>
+               <lock-manager>
+                  <time-out>15m</time-out>
+                  <persister class="org.exoplatform.services.jcr.impl.core.lock.FileSystemLockPersister">
+                     <properties>
+                        <property name="path" value="../temp/lock/backup" />
+                     </properties>
+                  </persister>
+               </lock-manager>               
             </workspace>
 
             <workspace name="digital-assets">
@@ -146,6 +154,14 @@
                      <property name="index-dir" value="../temp/jcrlucenedb/digital-assets" />
                   </properties>
                </query-handler>
+               <lock-manager>
+                  <time-out>15m</time-out>
+                  <persister class="org.exoplatform.services.jcr.impl.core.lock.FileSystemLockPersister">
+                     <properties>
+                        <property name="path" value="../temp/lock/digital-assets" />
+                     </properties>
+                  </persister>
+               </lock-manager>               
             </workspace>
          </workspaces>
       </repository>

Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/portal/exo-jcr-ispn-config.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/portal/exo-jcr-ispn-config.xml	                        (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/portal/exo-jcr-ispn-config.xml	2011-03-24 16:15:17 UTC (rev 4170)
@@ -0,0 +1,214 @@
+<!--
+
+    Copyright (C) 2009 eXo Platform SAS.
+
+    This is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Lesser General Public License as
+    published by the Free Software Foundation; either version 2.1 of
+    the License, or (at your option) any later version.
+
+    This software is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this software; if not, write to the Free
+    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+    02110-1301 USA, or see the FSF site: http://www.fsf.org.
+
+-->
+<repository-service default-repository="repository">
+   <repositories>
+      <repository name="repository" system-workspace="production" default-workspace="production">
+         <security-domain>exo-domain</security-domain>
+         <access-control>optional</access-control>
+         <authentication-policy>org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator</authentication-policy>
+         <workspaces>
+            <workspace name="production">
+               <!-- for system storage -->
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="../temp/swap/production" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="production" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="../temp/values/production" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:unstructured" />
+                  </properties>
+               </initializer>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="../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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="max-volatile-time" value="60" />
+                  </properties>
+               </query-handler>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <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>
+            </workspace>
+
+            <workspace name="backup">
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="../temp/swap/backup" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="backup" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="../temp/values/backup" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:unstructured" />
+                  </properties>
+               </initializer>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="../temp/jcrlucenedb/backup" />
+                     <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="max-volatile-time" value="60" />
+                  </properties>
+               </query-handler>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <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>               
+            </workspace>
+
+            <workspace name="digital-assets">
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="../temp/swap/digital-assets" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="digital-assets" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="../temp/values/digital-assets" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:folder" />
+                  </properties>
+               </initializer>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="../temp/jcrlucenedb/digital-assets" />
+                     <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="max-volatile-time" value="60" />                     
+                  </properties>
+               </query-handler>
+               <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="conf/portal/cluster/udp-mux.xml" />
+                     <property name="infinispan-cluster-name" value="JCR-cluster" />
+                     <property name="infinispan-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <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>
+            </workspace>
+         </workspaces>
+      </repository>
+   </repositories>
+</repository-service>

Added: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/portal/exo-jcr-jbc-config.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/portal/exo-jcr-jbc-config.xml	                        (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/portal/exo-jcr-jbc-config.xml	2011-03-24 16:15:17 UTC (rev 4170)
@@ -0,0 +1,235 @@
+<!--
+
+    Copyright (C) 2009 eXo Platform SAS.
+
+    This is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Lesser General Public License as
+    published by the Free Software Foundation; either version 2.1 of
+    the License, or (at your option) any later version.
+
+    This software is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this software; if not, write to the Free
+    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+    02110-1301 USA, or see the FSF site: http://www.fsf.org.
+
+-->
+<repository-service default-repository="repository">
+   <repositories>
+      <repository name="repository" system-workspace="production" default-workspace="production">
+         <security-domain>exo-domain</security-domain>
+         <access-control>optional</access-control>
+         <authentication-policy>org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator</authentication-policy>
+         <workspaces>
+            <workspace name="production">
+               <!-- for system storage -->
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="../temp/swap/production" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="production" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="../temp/values/production" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:unstructured" />
+                  </properties>
+               </initializer>
+               <cache enabled="true"
+                  class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache">
+                  <properties>
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-data.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-data" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="../temp/jcrlucenedb/production" />
+                     <property name="changesfilter-class"
+                        value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-indexer.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-indexer" />
+                     <property name="jbosscache-shareable" value="true" />
+                     <property name="max-volatile-time" value="60" />                     
+                  </properties>
+               </query-handler>
+               <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
+                  <properties>
+                     <property name="time-out" value="15m" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-lock.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-locks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
+                     <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
+                     <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
+                     <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
+                     <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
+                     <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
+                     <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </lock-manager>
+            </workspace>
+
+            <workspace name="backup">
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="../temp/swap/backup" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="backup" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="../temp/values/backup" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:unstructured" />
+                  </properties>
+               </initializer>
+               <cache enabled="true"
+                  class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache">
+                  <properties>
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-data.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-data" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="../temp/jcrlucenedb/backup" />
+                     <property name="changesfilter-class"
+                        value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-indexer.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-indexer" />
+                     <property name="jbosscache-shareable" value="true" />
+                     <property name="max-volatile-time" value="60" />                     
+                  </properties>
+               </query-handler>
+               <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
+                  <properties>
+                     <property name="time-out" value="15m" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-lock.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-locks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
+                     <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
+                     <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
+                     <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
+                     <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
+                     <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
+                     <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </lock-manager>             
+            </workspace>
+
+            <workspace name="digital-assets">
+               <container class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+                  <properties>
+                     <property name="source-name" value="jdbcjcr" />
+                     <property name="multi-db" value="false" />
+                     <property name="update-storage" value="false" />
+                     <property name="max-buffer-size" value="200k" />
+                     <property name="swap-directory" value="../temp/swap/digital-assets" />
+                  </properties>
+                  <value-storages>
+                     <value-storage id="digital-assets" class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+                        <properties>
+                           <property name="path" value="../temp/values/digital-assets" />
+                        </properties>
+                        <filters>
+                           <filter property-type="Binary" />
+                        </filters>
+                     </value-storage>
+                  </value-storages>
+               </container>
+               <initializer class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+                  <properties>
+                     <property name="root-nodetype" value="nt:folder" />
+                  </properties>
+               </initializer>
+               <cache enabled="true"
+                  class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache">
+                  <properties>
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-data.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-data" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </cache>
+               <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+                  <properties>
+                     <property name="index-dir" value="../temp/jcrlucenedb/digital-assets" />
+                     <property name="changesfilter-class"
+                        value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-indexer.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-indexer" />
+                     <property name="jbosscache-shareable" value="true" />
+                     <property name="max-volatile-time" value="60" />                     
+                  </properties>
+               </query-handler>
+               <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
+                  <properties>
+                     <property name="time-out" value="15m" />
+                     <property name="jbosscache-configuration" value="jar:/conf/portal/cluster/jbosscache-lock.xml" />
+                     <property name="jgroups-configuration" value="jar:/conf/portal/cluster/udp-mux.xml" />
+                     <property name="jgroups-multiplexer-stack" value="false" />
+                     <property name="jbosscache-cluster-name" value="JCR-cluster-locks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks" />
+                     <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
+                     <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
+                     <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_pk" />
+                     <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
+                     <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
+                     <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
+                     <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
+                     <property name="jbosscache-shareable" value="true" />
+                  </properties>
+               </lock-manager>              
+            </workspace>
+         </workspaces>
+      </repository>
+   </repositories>
+</repository-service>

Modified: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/udp-mux.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/udp-mux.xml	2011-03-24 15:51:00 UTC (rev 4169)
+++ jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/udp-mux.xml	2011-03-24 16:15:17 UTC (rev 4170)
@@ -61,5 +61,5 @@
    <FRAG2 frag_size="60000" />
    <!--pbcast.STREAMING_STATE_TRANSFER /-->
    <pbcast.STATE_TRANSFER />
-   <!-- pbcast.FLUSH  /-->
+   <pbcast.FLUSH />
 </config>



More information about the exo-jcr-commits mailing list