<?xml version="1.0" encoding="UTF-8"?>
<!--

    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.

-->
<jbosscache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:jboss:jbosscache-core:config:3.1">

   <!--
      isolation levels supported: READ_COMMITTED and REPEATABLE_READ nodeLockingSchemes: mvcc, pessimistic (deprecated), optimistic (deprecated)
   -->
   <locking isolationLevel="REPEATABLE_READ" lockParentForChildInsertRemove="false" lockAcquisitionTimeout="20000" nodeLockingScheme="mvcc"
      writeSkewCheck="false" concurrencyLevel="500" />

   <!--
      Used to register a transaction manager and participate in ongoing
      transactions.
   -->
   <transaction transactionManagerLookupClass="org.jboss.cache.transaction.GenericTransactionManagerLookup" syncRollbackPhase="false"
      syncCommitPhase="false" />


   <!--
      Used to register JMX statistics in any available MBean server
   -->
   <jmxStatistics enabled="false" />

   <!--
      If region based marshalling is used, defines whether new regions are
      inactive on startup.
   -->
   <startup regionsInactiveOnStartup="true" />

   <!--
      Used to register JVM shutdown hooks. hookBehavior: DEFAULT, REGISTER,
      DONT_REGISTER
   -->
   <shutdown hookBehavior="DEFAULT" />

   <!--
      Used to define async listener notification thread pool size
   -->
   <listeners asyncPoolSize="1" asyncQueueSize="100000" />

   <!--
      Used to enable invocation batching and allow the use of
      Cache.startBatch()/endBatch() methods.
   -->
   <invocationBatching enabled="true" />


   <!--
      This element specifies that the cache is clustered. modes supported:
      replication (r) or invalidation (i).
   -->
   <clustering mode="replication" clusterName="JBossCache-cluster">

      <!--
         Defines whether to retrieve state on startup
      -->
      <stateRetrieval timeout="20000" fetchInMemoryState="false" />

      <!--
         Network calls are synchronous.
      -->
      <sync replTimeout="20000" />

      <!--
         Configures the JGroups channel. Looks up a JGroups config file on the classpath or filesystem. udp.xml ships with jgroups.jar and will be picked up by
         the class loader.
      -->
      <jgroupsConfig configFile="udp.xml">
      </jgroupsConfig>
   </clustering>

   <!--
      Eviction configuration. WakeupInterval defines how often the eviction thread runs, in milliseconds. 0 means the eviction thread will never run.
   -->
   <eviction wakeUpInterval="5000">
      <default algorithmClass="org.jboss.cache.eviction.FIFOAlgorithm" eventQueueSize="200000">
         <property name="maxNodes" value="3000" />
         <property name="timeToLive" value="0" />
      </default>
   </eviction>
</jbosscache>

