[jboss-cvs] JBossCache/migration/examples/cacheloader-migration/resources ...

Galder Zamarreno galder.zamarreno at jboss.com
Wed Mar 7 18:32:05 EST 2007


  User: gzamarreno
  Date: 07/03/07 18:32:05

  Added:       migration/examples/cacheloader-migration/resources    
                        original-fcl-service.xml transform-fcl-service.xml
                        transform-jdbccl-service.xml
                        original-jdbccl-service.xml
  Log:
  [JBCACHE-964] Work committed:
  - Transforming Cache Loaders implemented and unit tests provided
  - migration folder structure. See JIRA.
  - build.xml modified to compile, jar, create manifest for migration jar
  and also added examples and migration jar to distros.
  - example created and tested; it includes readme.txt with details of the
  example and how to run it.
  Still TODO:
  - Unit tests for transforming cache loaders need to run from build.xml
  - Documentation for transforming cache loaders in users guide, what are
  they, when to use them,...etc.
  - Fix JBCACHE-877 that occurrs when unzipping JBossCache-core-2.0.0.BETA2.zip 
  and running the examples. Workaround is to bring trove.jar into its lib.
  - Get examples/cacheloader-migration/build.sh working
  - Move JDBCCacheLoaderOld to the migration side. It's not that straightforward due to classes in
  /src having dependencies on it. Needs further study.
  
  Revision  Changes    Path
  1.1      date: 2007/03/07 23:32:05;  author: gzamarreno;  state: Exp;JBossCache/migration/examples/cacheloader-migration/resources/original-fcl-service.xml
  
  Index: original-fcl-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.CacheImpl"
            name="jboss.cache:service=TreeCache">
  
        <depends>jboss:service=Naming</depends>
        <depends>jboss:service=TransactionManager</depends>
  
        <!--
            Configure the TransactionManager
        -->
        <attribute name="TransactionManagerLookupClass">org.jboss.cache.transaction.GenericTransactionManagerLookup
        </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">LOCAL</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">JBossCache-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 -->
              <!-- 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"/>
              <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
                          shun="true" print_local_addr="true"/>
              <FC max_credits="2000000" down_thread="false" up_thread="false"
                  min_threshold="0.20"/>
              <FRAG frag_size="8192" down_thread="false" up_thread="true"/>
              <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
           </config>
        </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">20000</attribute>
  
        <!--
            Number of milliseconds to wait until all responses for a
            synchronous call have been received.
        -->
        <attribute name="SyncReplTimeout">20000</attribute>
  
        <!-- Max number of milliseconds to wait for a lock acquisition -->
        <attribute name="LockAcquisitionTimeout">15000</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">false</attribute>
  
        <attribute name="CacheLoaderConfiguration">
           <config>
              <!-- if passivation is true, only the first cache loader is used; the rest are ignored -->
              <passivation>false</passivation>
              <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=/tmp/filecacheloader-1x
                 </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>
              </cacheloader>
  
           </config>
        </attribute>
  
     </mbean>
  
  
     <!--  Uncomment to get a graphical view of the TreeCache MBean above -->
     <!--   <mbean code="org.jboss.cache.TreeCacheView" name="jboss.cache:service=TreeCacheView">-->
     <!--      <depends>jboss.cache:service=TreeCache</depends>-->
     <!--      <attribute name="CacheService">jboss.cache:service=TreeCache</attribute>-->
     <!--   </mbean>-->
  
  
  </server>
  
  
  
  1.1      date: 2007/03/07 23:32:05;  author: gzamarreno;  state: Exp;JBossCache/migration/examples/cacheloader-migration/resources/transform-fcl-service.xml
  
  Index: transform-fcl-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.CacheImpl"
            name="jboss.cache:service=TreeCache">
  
        <depends>jboss:service=Naming</depends>
        <depends>jboss:service=TransactionManager</depends>
  
        <!--
            Configure the TransactionManager
        -->
        <attribute name="TransactionManagerLookupClass">org.jboss.cache.transaction.GenericTransactionManagerLookup
        </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">LOCAL</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">JBossCache-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 -->
              <!-- 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"/>
              <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
                          shun="true" print_local_addr="true"/>
              <FC max_credits="2000000" down_thread="false" up_thread="false"
                  min_threshold="0.20"/>
              <FRAG frag_size="8192" down_thread="false" up_thread="true"/>
              <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
           </config>
        </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">20000</attribute>
  
        <!--
            Number of milliseconds to wait until all responses for a
            synchronous call have been received.
        -->
        <attribute name="SyncReplTimeout">20000</attribute>
  
        <!-- Max number of milliseconds to wait for a lock acquisition -->
        <attribute name="LockAcquisitionTimeout">15000</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">false</attribute>
  
        <attribute name="CacheLoaderConfiguration">
           <config>
              <!-- if passivation is true, only the first cache loader is used; the rest are ignored -->
              <passivation>false</passivation>
              <shared>false</shared>
  
              <!-- we can now have multiple cache loaders, which get chained -->
              <cacheloader>
                 <class>org.jboss.cache.loader.TransformingFileCacheLoader</class>
                 <!-- same as the old CacheLoaderConfig attribute -->
                 <properties>
                    location=/tmp/filecacheloader-1x
                 </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>
              </cacheloader>
  
           </config>
        </attribute>
  
     </mbean>
  
  
     <!--  Uncomment to get a graphical view of the TreeCache MBean above -->
     <!--   <mbean code="org.jboss.cache.TreeCacheView" name="jboss.cache:service=TreeCacheView">-->
     <!--      <depends>jboss.cache:service=TreeCache</depends>-->
     <!--      <attribute name="CacheService">jboss.cache:service=TreeCache</attribute>-->
     <!--   </mbean>-->
  
  
  </server>
  
  
  
  1.1      date: 2007/03/07 23:32:05;  author: gzamarreno;  state: Exp;JBossCache/migration/examples/cacheloader-migration/resources/transform-jdbccl-service.xml
  
  Index: transform-jdbccl-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.CacheImpl"
            name="jboss.cache:service=TreeCache">
  
        <depends>jboss:service=Naming</depends>
        <depends>jboss:service=TransactionManager</depends>
  
        <!--
            Configure the TransactionManager
        -->
        <attribute name="TransactionManagerLookupClass">org.jboss.cache.transaction.GenericTransactionManagerLookup
        </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">LOCAL</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">JBossCache-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 -->
              <!-- 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"/>
              <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
                          shun="true" print_local_addr="true"/>
              <FC max_credits="2000000" down_thread="false" up_thread="false"
                  min_threshold="0.20"/>
              <FRAG frag_size="8192" down_thread="false" up_thread="true"/>
              <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
           </config>
        </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">20000</attribute>
  
        <!--
            Number of milliseconds to wait until all responses for a
            synchronous call have been received.
        -->
        <attribute name="SyncReplTimeout">20000</attribute>
  
        <!-- Max number of milliseconds to wait for a lock acquisition -->
        <attribute name="LockAcquisitionTimeout">15000</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">false</attribute>
  
        <attribute name="CacheLoaderConfiguration">
           <config>
              <!-- if passivation is true, only the first cache loader is used; the rest are ignored -->
              <passivation>false</passivation>
              <shared>false</shared>
  
              <!-- we can now have multiple cache loaders, which get chained -->
              <cacheloader>
                 <class>org.jboss.cache.loader.TransformingJDBCCacheLoader</class>
                 <!-- same as the old CacheLoaderConfig attribute -->
                 <properties>
                    cache.jdbc.table.name=jbosscache
                    cache.jdbc.table.create=true
                    cache.jdbc.table.drop=false
                    cache.jdbc.table.primarykey=jbosscache_pk
                    cache.jdbc.fqn.column=fqn
                    cache.jdbc.fqn.type=varchar(255)
                    cache.jdbc.node.column=node
                    cache.jdbc.node.type=blob
                    cache.jdbc.parent.column=parent
                    cache.jdbc.sql-concat=1 || 2
                    cache.jdbc.driver = org.apache.derby.jdbc.EmbeddedDriver
                    cache.jdbc.url=jdbc:derby:jbossdb-1x;create=true
                    cache.jdbc.user=user1
                    cache.jdbc.password=user1 
                 </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>
              </cacheloader>
  
           </config>
        </attribute>
  
     </mbean>
  
  
     <!--  Uncomment to get a graphical view of the TreeCache MBean above -->
     <!--   <mbean code="org.jboss.cache.TreeCacheView" name="jboss.cache:service=TreeCacheView">-->
     <!--      <depends>jboss.cache:service=TreeCache</depends>-->
     <!--      <attribute name="CacheService">jboss.cache:service=TreeCache</attribute>-->
     <!--   </mbean>-->
  
  
  </server>
  
  
  
  1.1      date: 2007/03/07 23:32:05;  author: gzamarreno;  state: Exp;JBossCache/migration/examples/cacheloader-migration/resources/original-jdbccl-service.xml
  
  Index: original-jdbccl-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.CacheImpl"
            name="jboss.cache:service=TreeCache">
  
        <depends>jboss:service=Naming</depends>
        <depends>jboss:service=TransactionManager</depends>
  
        <!--
            Configure the TransactionManager
        -->
        <attribute name="TransactionManagerLookupClass">org.jboss.cache.transaction.GenericTransactionManagerLookup
        </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">LOCAL</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">JBossCache-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 -->
              <!-- 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"/>
              <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
                          shun="true" print_local_addr="true"/>
              <FC max_credits="2000000" down_thread="false" up_thread="false"
                  min_threshold="0.20"/>
              <FRAG frag_size="8192" down_thread="false" up_thread="true"/>
              <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
           </config>
        </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">20000</attribute>
  
        <!--
            Number of milliseconds to wait until all responses for a
            synchronous call have been received.
        -->
        <attribute name="SyncReplTimeout">20000</attribute>
  
        <!-- Max number of milliseconds to wait for a lock acquisition -->
        <attribute name="LockAcquisitionTimeout">15000</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">false</attribute>
  
        <attribute name="CacheLoaderConfiguration">
           <config>
              <!-- if passivation is true, only the first cache loader is used; the rest are ignored -->
              <passivation>false</passivation>
              <shared>false</shared>
  
              <!-- we can now have multiple cache loaders, which get chained -->
              <cacheloader>
                 <class>org.jboss.cache.loader.JDBCCacheLoader</class>
                 <!-- same as the old CacheLoaderConfig attribute -->
                 <properties>
                    cache.jdbc.table.name=jbosscache
                    cache.jdbc.table.create=true
                    cache.jdbc.table.drop=false
                    cache.jdbc.table.primarykey=jbosscache_pk
                    cache.jdbc.fqn.column=fqn
                    cache.jdbc.fqn.type=varchar(255)
                    cache.jdbc.node.column=node
                    cache.jdbc.node.type=blob
                    cache.jdbc.parent.column=parent
                    cache.jdbc.sql-concat=1 || 2
                    cache.jdbc.driver = org.apache.derby.jdbc.EmbeddedDriver
                    cache.jdbc.url=jdbc:derby:jbossdb-1x;create=true
                    cache.jdbc.user=user1
                    cache.jdbc.password=user1 
                 </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>
              </cacheloader>
  
           </config>
        </attribute>
  
     </mbean>
  
  
     <!--  Uncomment to get a graphical view of the TreeCache MBean above -->
     <!--   <mbean code="org.jboss.cache.TreeCacheView" name="jboss.cache:service=TreeCacheView">-->
     <!--      <depends>jboss.cache:service=TreeCache</depends>-->
     <!--      <attribute name="CacheService">jboss.cache:service=TreeCache</attribute>-->
     <!--   </mbean>-->
  
  
  </server>
  
  
  



More information about the jboss-cvs-commits mailing list