[jboss-user] [JBoss Cache] - Clustered JBoss Cache and JDBCCacheLoader

valerio de minico do-not-reply at jboss.com
Wed Jul 27 06:09:57 EDT 2011


valerio de minico [http://community.jboss.org/people/vdeminico] created the discussion

"Clustered JBoss Cache and JDBCCacheLoader"

To view the discussion, visit: http://community.jboss.org/message/617840#617840

--------------------------------------------------------------
Hi all,
I'm clustering an app which uses a jboss cache to cache data. For JBoss Cache I use a JDBCCacheLoader and mysql as DBMS. My question is how clusterize this scenario??? I should have a shared mysql instance or an instance on all machines????? I use JBoss Cache 3.1.0.GA (bundled in JBoss AS 5.1.0.GA).

Here my *-service.xml file:


<mbean code="org.jboss.cache.pojo.jmx.PojoCacheJmxWrapper" 
          name="jboss.cache:service=PojoCache">
      
      <depends>jboss:service=TransactionManager</depends>


      <!-- Configure the TransactionManager (test only!)-->
            <!--
      <attribute name="TransactionManagerLookupClass">
         org.jboss.cache.transaction.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 and REPL_SYNC -->
      <attribute name="CacheMode">REPL_SYNC</attribute>


      <!-- Name of cluster. Needs to be the same for all caches, 
           in order for them to find each other
      -->
      <attribute name="ClusterName">PojoCacheCluster</attribute>


               <!-- JGroups protocol stack properties. -->
      <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"/>
            <MERGE2 min_interval="10000" max_interval="20000"/>
            <FD shun="true"/>
            <FD_SOCK/>
            <VERIFY_SUSPECT timeout="1500"/>
            <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800"
                           max_xmit_size="8192"/>
            <UNICAST timeout="600,1200,2400,4800"/>
            <pbcast.STABLE desired_avg_gossip="400000"/>
            <FC max_credits="2000000" min_threshold="0.10"/>
            <FRAG2 frag_size="8192"/>
            <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
                        shun="true" print_local_addr="true"/>
            <pbcast.STATE_TRANSFER/>
         </config>
      </attribute>


<attribute name="EvictionPolicyConfig">
   <config>
      <attribute name="wakeUpIntervalSeconds">5</attribute>
      <attribute name="policyClass">org.jboss.cache.eviction.LRUPolicy</attribute>
      <!-- Cache wide default -->
      <region name="/profile">
          <attribute name="maxNodes">5000</attribute>
          <attribute name="timeToLiveSeconds">3</attribute>
      </region>
   </config>
</attribute>




      <!-- CacheLoaderConfiguration -->
<attribute name="CacheLoaderConfig">
   <config>
      <passivation>true</passivation>
      <preload>/profile</preload>
      <shared>false</shared>


      <!-- we can now have multiple cache loaders, which get chained -->
      <cacheloader>
         <class>org.jboss.cache.loader.JDBCCacheLoader</class>
          <properties>
                                cache.jdbc.driver=com.mysql.jdbc.Driver
                          cache.jdbc.url=jdbc:mysql://localhost:3306/db_cache
                                cache.jdbc.user=root
                            cache.jdbc.password=admin
                              cache.jdbc.node.type=LONGBLOB
                              cache.jdbc.table.drop=false
                              cache.jdbc.table.create=false
         </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>true</fetchPersistentState>
         <!-- determines whether this cache loader ignores writes - defaults to false. -->
         <ignoreModifications>false</ignoreModifications>
      </cacheloader>
   </config>
</attribute>




      <!-- Whether or not to fetch state on joining a cluster -->
      <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>
   
   </mbean>


</server>




Thanks, 
Valerio.
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/617840#617840]

Start a new discussion in JBoss Cache at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2052]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20110727/93154c6b/attachment-0001.html 


More information about the jboss-user mailing list