Version 5
    <?xml version="1.0" encoding="UTF-8"?>
    
    <jbosscache>
    
       <locking isolationLevel="REPEATABLE_READ" lockParentForChildInsertRemove="true" lockAcquisitionTimeout="10234"></locking>
    
       <transaction transactionManagerLookupClass="org.jboss.cache.transaction.GenericTransactionManagerLookup"
                    syncRollbackPhase="true" syncCommitPhase="true"></transaction>
    
       <!-- serialization related configuration, used for replication and cache loading -->
       <serialization objectInputStreamPoolSize="10" objectOutputStreamPoolSize="20" version="5.1.0"
                      marshallerClass="some.Clazz" useLazyDeserialization="true" useRegionBasedMarshalling="false"></serialization>
    
       <!-- either replication or invalidation tags will be present, not both -->
       <replication>
          <sync replTimeout="15421"></sync>
          <buddy enabled="true" buddyPoolName="myBuddyPoolReplicationGroup" buddyCommunicationTimeout="2000">
             <dataGravitation auto="true" removeOnFind="true" searchBackupTrees="true"></dataGravitation>
             <buddyLocator class="org.jboss.cache.buddyreplication.NextMemberBuddyLocator">
                <properties>
                   numBuddies = 1
                   ignoreColocatedBuddies = true
                </properties>
             </buddyLocator>
          </buddy>
       </replication>
    
    
       <!-- either replication or invalidation tags will be present, not both -->
       <invalidation>
          <!-- either sync or async will be present, not both -->
          <async useReplQueue="false" replQueueInterval="12" replQueueMaxElements="12345"></async>
          <sync replTimeout="15421"></sync>
       </invalidation>
    
       <startup fetchInMemoryState="true" stateRetrievalTimeout="1524" inactiveOnStartup="true"></startup>
       <shutdown hookBehavior="REGISTER"></shutdown>
    
       <transport clusterName="JBossCache-Cluster">
          <clusterName>JBossCache-Cluster</clusterName>
          <multiplexer stack="file_name"></multiplexer>
          <clusterConfig>
             <PING timeout="2000" num_initial_members="3"></PING>
             <MERGE2 max_interval="30000" min_interval="10000"></MERGE2>
             <FD_SOCK></FD_SOCK>
             <FD timeout="10000" max_tries="5" shun="true"></FD>
             <VERIFY_SUSPECT timeout="1500"></VERIFY_SUSPECT>
             <pbcast.NAKACK use_mcast_xmit="false" gc_lag="0"
                            retransmit_timeout="300,600,1200,2400,4800"
                            discard_delivered_msgs="true"></pbcast>
             <UNICAST timeout="300,600,1200,2400,3600"></UNICAST>
             <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
                            max_bytes="400000"></pbcast>
             <pbcast.GMS print_local_addr="true" join_timeout="5000" shun="false"
                         view_bundling="true" view_ack_collection_timeout="5000"></pbcast>
             <FRAG2 frag_size="60000"></FRAG2>
             <pbcast.STREAMING_STATE_TRANSFER use_reading_thread="true"></pbcast>
             <pbcast.FLUSH timeout="0"></pbcast>
          </clusterConfig>
       </transport>
    
    
       <jmxStatistics enabled="false"></jmxStatistics>
    
       <eviction wakeUpInterval="5">
          <defaults policyClass="org.jboss.cache.eviction.LRUPolicy" eventQueueSize="200000"></defaults>
          <root>
             <attribute name="maxNodes">5000</attribute>
             <attribute name="timeToLive">1000</attribute>
          </root>
          <region name="/org/jboss/data">
             <attribute name="timeToLive">1002</attribute>
          </region>
          <region name="/org/jboss/xyz" policyClass="org.jboss.cache.eviction.MRUPolicy" eventQueueSize="21">
             <attribute name="maxNodes">2103</attribute>
             <attribute name="minTimeToLive">22</attribute>
          </region>
       </eviction>
    
       <loaders passivation="false" shared="false">
          <preload>
             <node fqn="/a/b/c"></node>
             <node fqn="/f/r/s"></node>
          </preload>
    
          <!-- we can now have multiple cache loaders, which get chained -->
          <loader class="org.jboss.cache.loader.JDBCCacheLoader" async="true" fetchPersistentState="true"
                  ignoreModifications="true" purgeOnStartup="true">
             <properties>
                cache.jdbc.table.name=jbosscache
                cache.jdbc.table.create=true
                cache.jdbc.table.drop=true
             </properties>
             <singletonStore enabled="false" class="org.jboss.cache.loader.SingletonStoreCacheLoader">
                <properties>
                   pushStateWhenCoordinator=true
                   pushStateWhenCoordinatorTimeout=20000
                </properties>
             </singletonStore>
          </loader>
       </loaders>
    
       <!-- this is new behavior added within 3.x only. it support configuring custom interceptors through configurations -->
       <customInterceptors>
          <interceptor class="com.myCompany.MyInterceptor1">
             <properties>
                x=y
                i=10
             </properties>
             <position first="true"></position>
          </interceptor>
          <interceptor class="com.myCompany.MyInterceptor2">
             <position last="true"></position>
          </interceptor>
          <interceptor class="com.myCompany.MyInterceptor3">
             <position index="3"></position>
          </interceptor>
          <interceptor class="com.myCompany.MyInterceptor4">
             <position before="org.jboss.cache.interceptors.CallInterceptor"></position>
          </interceptor>
          <interceptor class="com.myCompany.MyInterceptor5">
             <position after="org.jboss.cache.interceptors.CallInterceptor"></position>
          </interceptor>
       </customInterceptors>
    </jbosscache>