[jboss-cvs] JBossCache/etc/META-INF ...

Galder Zamarreno galder.zamarreno at jboss.com
Fri Sep 29 14:27:22 EDT 2006


  User: gzamarreno
  Date: 06/09/29 14:27:22

  Added:       etc/META-INF   singleton-nopush-service.xml
                        singleton-push-service.xml
  Log:
  [JBCACHE-650] - SharedStoreCacheLoader refactored to SingletonStoreCacheLoader 
  adding the ability to push the in-memory state to the underlying cache loader when 
  assuming the coordinator role. Created AbstractDelegatingCacheLoader class that 
  contains basic delegating functionality. SingletonStoreCacheLoader and 
  AsyncCacheLoader now extend this class. Necessary configuration options added 
  and documentation has been updated to include explanation. Two singleton cache 
  sample configurations added too.
  
  Revision  Changes    Path
  1.1      date: 2006/09/29 18:27:21;  author: gzamarreno;  state: Exp;JBossCache/etc/META-INF/singleton-nopush-service.xml
  
  Index: singleton-nopush-service.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <!-- ===================================================================== -->
  <!--                                                                       -->
  <!--  Sample TreeCache Service Configuration                               -->
  <!--                                                                       -->
  <!-- ===================================================================== -->
  
  <server>
  
      <classpath codebase="./lib" archives="jboss-cache.jar, jgroups.jar"/>
  
  
      <!-- ==================================================================== -->
      <!-- Defines TreeCache configuration                                      -->
      <!-- ==================================================================== -->
  
      <mbean code="org.jboss.cache.TreeCache"
          name="jboss.cache:service=TreeCache">
  
          <depends>jboss:service=Naming</depends>
          <depends>jboss:service=TransactionManager</depends>
  
          <!--
          Configure the TransactionManager
      -->
          <attribute name="TransactionManagerLookupClass">org.jboss.cache.DummyTransactionManagerLookup</attribute>
  
          <!--
              Isolation level : SERIALIZABLE
                                REPEATABLE_READ (default)
                                READ_COMMITTED
                                READ_UNCOMMITTED
                                NONE
          -->
          <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
  
          <!--
               Valid modes are LOCAL
                               REPL_ASYNC
                               REPL_SYNC
                               INVALIDATION_ASYNC
                               INVALIDATION_SYNC
          -->
          <attribute name="CacheMode">REPL_SYNC</attribute>
  
          <!--
          Just used for async repl: use a replication queue
          -->
          <attribute name="UseReplQueue">false</attribute>
  
          <!--
              Replication interval for replication queue (in ms)
          -->
          <attribute name="ReplQueueInterval">0</attribute>
  
          <!--
              Max number of elements which trigger replication
          -->
          <attribute name="ReplQueueMaxElements">0</attribute>
  
          <!-- Name of cluster. Needs to be the same for all TreeCache nodes in a
               cluster in order to find each other.
          -->
          <attribute name="ClusterName">TreeCache-Cluster</attribute>
          
          <!--Uncomment next three statements to enable JGroups multiplexer.
                This configuration is dependent on the JGroups multiplexer being
                registered in an MBean server such as JBossAS.  -->
          <!--
          <depends>jgroups.mux:name=Multiplexer</depends>
          <attribute name="MultiplexerService">jgroups.mux:name=Multiplexer</attribute>
          <attribute name="MultiplexerStack">fc-fast-minimalthreads</attribute>
          -->
  
          <!-- JGroups protocol stack properties. 
             ClusterConfig isn't used if the multiplexer is enabled and successfully initialized.
          -->
          <attribute name="ClusterConfig">
              <config>
                  <!-- UDP: if you have a multihomed machine,
                  set the bind_addr attribute to the appropriate NIC IP address, e.g bind_addr="192.168.0.2"
                  -->
                  <!-- UDP: On Windows machines, because of the media sense feature
                   being broken with multicast (even after disabling media sense)
                   set the loopback attribute to true -->
                  <UDP mcast_addr="228.1.2.3" mcast_port="48866"
                      ip_ttl="64" ip_mcast="true" 
                      mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
                      ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
                      loopback="false"/>
                  <PING timeout="2000" num_initial_members="3"
                      up_thread="false" down_thread="false"/>
                  <MERGE2 min_interval="10000" max_interval="20000"/>
                  <!--        <FD shun="true" up_thread="true" down_thread="true" />-->
                  <FD_SOCK/>
                  <VERIFY_SUSPECT timeout="1500"
                      up_thread="false" down_thread="false"/>
                  <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800"
                      max_xmit_size="8192" up_thread="false" down_thread="false"/>
                  <UNICAST timeout="600,1200,2400" down_thread="false"/>
                  <pbcast.STABLE desired_avg_gossip="20000"
                      up_thread="false" down_thread="false"/>
                  <FRAG frag_size="8192"
                      down_thread="false" up_thread="false"/>
                  <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
                      shun="true" print_local_addr="true"/>
                  <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
              </config>
          </attribute>
  
  
          <!--
           Whether or not to fetch state on joining a cluster
           NOTE this used to be called FetchStateOnStartup and has been renamed to be more descriptive.
          -->
          <attribute name="FetchInMemoryState">true</attribute>
  
          <!--
              The max amount of time (in milliseconds) we wait until the
              initial state (ie. the contents of the cache) are retrieved from
              existing members in a clustered environment
          -->
          <attribute name="InitialStateRetrievalTimeout">15000</attribute>
  
          <!--
              Number of milliseconds to wait until all responses for a
              synchronous call have been received.
          -->
          <attribute name="SyncReplTimeout">15000</attribute>
  
          <!-- Max number of milliseconds to wait for a lock acquisition -->
          <attribute name="LockAcquisitionTimeout">10000</attribute>
  
          <!-- Name of the eviction policy class. -->
          <attribute name="EvictionPolicyClass"></attribute>
  
         <!--
            Indicate whether to use region based marshalling or not. Set this to true if you are running under a scoped
            class loader, e.g., inside an application server. Default is "false".
         -->
          <attribute name="UseRegionBasedMarshalling">false</attribute>
  
          <attribute name="CacheLoaderConfiguration">
              <config>
                  <!-- if passivation is true, only the first cache loader is used; the rest are ignored -->
                  <passivation>false</passivation>
                  <preload>/</preload>
                  <shared>false</shared>
  
                  <!-- we can now have multiple cache loaders, which get chained -->
                  <cacheloader>
                      <class>org.jboss.cache.loader.FileCacheLoader</class>
                      <!-- same as the old CacheLoaderConfig attribute -->
                      <properties>
                          location=/my_tmp_files
                      </properties>
                      <!-- whether the cache loader writes are asynchronous -->
                      <async>false</async>
                      <!-- only one cache loader in the chain may set fetchPersistentState to true.
                          An exception is thrown if more than one cache loader sets this to true. -->
                      <fetchPersistentState>false</fetchPersistentState>
                      <!-- determines whether this cache loader ignores writes - defaults to false. -->
                      <ignoreModifications>false</ignoreModifications>
                      <!-- if set to true, purges the contents of this cache loader when the cache starts up.
                      Defaults to false.  -->
                      <purgeOnStartup>false</purgeOnStartup>
                      <!-- defines the cache loader as a singleton store where only the coordinator of the
                      cluster will store modifications. Setting pushStateWhenCoordinator to true enables a
                      newly elected coordinator to push the in-memory state to the underlying cache store.
                      Both default to false. -->
                      <singletonStore pushStateWhenCoordinator="false">true</singletonStore>
                  </cacheloader>
              </config>
          </attribute>
  
      </mbean>
  </server>
  
  
  
  1.1      date: 2006/09/29 18:27:21;  author: gzamarreno;  state: Exp;JBossCache/etc/META-INF/singleton-push-service.xml
  
  Index: singleton-push-service.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <!-- ===================================================================== -->
  <!--                                                                       -->
  <!--  Sample TreeCache Service Configuration                               -->
  <!--                                                                       -->
  <!-- ===================================================================== -->
  
  <server>
  
      <classpath codebase="./lib" archives="jboss-cache.jar, jgroups.jar"/>
  
  
      <!-- ==================================================================== -->
      <!-- Defines TreeCache configuration                                      -->
      <!-- ==================================================================== -->
  
      <mbean code="org.jboss.cache.TreeCache"
          name="jboss.cache:service=TreeCache">
  
          <depends>jboss:service=Naming</depends>
          <depends>jboss:service=TransactionManager</depends>
  
          <!--
          Configure the TransactionManager
      -->
          <attribute name="TransactionManagerLookupClass">org.jboss.cache.DummyTransactionManagerLookup</attribute>
  
          <!--
              Isolation level : SERIALIZABLE
                                REPEATABLE_READ (default)
                                READ_COMMITTED
                                READ_UNCOMMITTED
                                NONE
          -->
          <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
  
          <!--
               Valid modes are LOCAL
                               REPL_ASYNC
                               REPL_SYNC
                               INVALIDATION_ASYNC
                               INVALIDATION_SYNC
          -->
          <attribute name="CacheMode">REPL_SYNC</attribute>
  
          <!--
          Just used for async repl: use a replication queue
          -->
          <attribute name="UseReplQueue">false</attribute>
  
          <!--
              Replication interval for replication queue (in ms)
          -->
          <attribute name="ReplQueueInterval">0</attribute>
  
          <!--
              Max number of elements which trigger replication
          -->
          <attribute name="ReplQueueMaxElements">0</attribute>
  
          <!-- Name of cluster. Needs to be the same for all TreeCache nodes in a
               cluster in order to find each other.
          -->
          <attribute name="ClusterName">TreeCache-Cluster</attribute>
          
          <!--Uncomment next three statements to enable JGroups multiplexer.
                This configuration is dependent on the JGroups multiplexer being
                registered in an MBean server such as JBossAS.  -->
          <!--
          <depends>jgroups.mux:name=Multiplexer</depends>
          <attribute name="MultiplexerService">jgroups.mux:name=Multiplexer</attribute>
          <attribute name="MultiplexerStack">fc-fast-minimalthreads</attribute>
          -->
  
          <!-- JGroups protocol stack properties. 
             ClusterConfig isn't used if the multiplexer is enabled and successfully initialized.
          -->
          <attribute name="ClusterConfig">
              <config>
                  <!-- UDP: if you have a multihomed machine,
                  set the bind_addr attribute to the appropriate NIC IP address, e.g bind_addr="192.168.0.2"
                  -->
                  <!-- UDP: On Windows machines, because of the media sense feature
                   being broken with multicast (even after disabling media sense)
                   set the loopback attribute to true -->
                  <UDP mcast_addr="228.1.2.3" mcast_port="48866"
                      ip_ttl="64" ip_mcast="true" 
                      mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
                      ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
                      loopback="false"/>
                  <PING timeout="2000" num_initial_members="3"
                      up_thread="false" down_thread="false"/>
                  <MERGE2 min_interval="10000" max_interval="20000"/>
                  <!--        <FD shun="true" up_thread="true" down_thread="true" />-->
                  <FD_SOCK/>
                  <VERIFY_SUSPECT timeout="1500"
                      up_thread="false" down_thread="false"/>
                  <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800"
                      max_xmit_size="8192" up_thread="false" down_thread="false"/>
                  <UNICAST timeout="600,1200,2400" down_thread="false"/>
                  <pbcast.STABLE desired_avg_gossip="20000"
                      up_thread="false" down_thread="false"/>
                  <FRAG frag_size="8192"
                      down_thread="false" up_thread="false"/>
                  <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
                      shun="true" print_local_addr="true"/>
                  <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
              </config>
          </attribute>
  
  
          <!--
           Whether or not to fetch state on joining a cluster
           NOTE this used to be called FetchStateOnStartup and has been renamed to be more descriptive.
          -->
          <attribute name="FetchInMemoryState">true</attribute>
  
          <!--
              The max amount of time (in milliseconds) we wait until the
              initial state (ie. the contents of the cache) are retrieved from
              existing members in a clustered environment
          -->
          <attribute name="InitialStateRetrievalTimeout">15000</attribute>
  
          <!--
              Number of milliseconds to wait until all responses for a
              synchronous call have been received.
          -->
          <attribute name="SyncReplTimeout">15000</attribute>
  
          <!-- Max number of milliseconds to wait for a lock acquisition -->
          <attribute name="LockAcquisitionTimeout">10000</attribute>
  
          <!-- Name of the eviction policy class. -->
          <attribute name="EvictionPolicyClass"></attribute>
  
         <!--
            Indicate whether to use region based marshalling or not. Set this to true if you are running under a scoped
            class loader, e.g., inside an application server. Default is "false".
         -->
          <attribute name="UseRegionBasedMarshalling">false</attribute>
  
          <attribute name="CacheLoaderConfiguration">
              <config>
                  <!-- if passivation is true, only the first cache loader is used; the rest are ignored -->
                  <passivation>false</passivation>
                  <preload>/</preload>
                  <shared>false</shared>
  
                  <!-- we can now have multiple cache loaders, which get chained -->
                  <cacheloader>
                      <class>org.jboss.cache.loader.FileCacheLoader</class>
                      <!-- same as the old CacheLoaderConfig attribute -->
                      <properties>
                          location=/my_tmp_files
                      </properties>
                      <!-- whether the cache loader writes are asynchronous -->
                      <async>false</async>
                      <!-- only one cache loader in the chain may set fetchPersistentState to true.
                          An exception is thrown if more than one cache loader sets this to true. -->
                      <fetchPersistentState>false</fetchPersistentState>
                      <!-- determines whether this cache loader ignores writes - defaults to false. -->
                      <ignoreModifications>false</ignoreModifications>
                      <!-- if set to true, purges the contents of this cache loader when the cache starts up.
                      Defaults to false.  -->
                      <purgeOnStartup>false</purgeOnStartup>
                      <!-- defines the cache loader as a singleton store where only the coordinator of the
                      cluster will store modifications. Setting pushStateWhenCoordinator to true enables a
                      newly elected coordinator to push the in-memory state to the underlying cache store.
                      Both default to false. -->
                      <singletonStore pushStateWhenCoordinator="true">true</singletonStore>
                  </cacheloader>
              </config>
          </attribute>
  
      </mbean>
  </server>
  
  
  



More information about the jboss-cvs-commits mailing list