[jboss-user] [JBoss Cache] - Re: JBoss Cache and HAPartition, different clusters

Jonas Heineson do-not-reply at jboss.com
Mon Feb 14 09:30:00 EST 2011


Jonas Heineson [http://community.jboss.org/people/heineson] created the discussion

"Re: JBoss Cache and HAPartition, different clusters"

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

--------------------------------------------------------------
Seems like config disappeared, here it comes:

*Configuration HAPartition (cluster-service.xml):*


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

<!-- ===================================================================== -->
<!--                                                                       -->
<!--  Sample Clustering Service Configuration                              -->
<!--                                                                       -->
<!-- ===================================================================== -->

<server>

   <!-- ==================================================================== -->
   <!-- Cluster Partition: defines cluster                                   -->
   <!-- ==================================================================== -->

   <mbean code="org.jboss.ha.framework.server.ClusterPartition"
      name="jboss:service=${jboss.partition.name:DefaultPartition}">

      <!-- Name of the partition being built -->
      <attribute name="PartitionName">${jboss.partition.name:DefaultPartition}</attribute>

      <!-- The address used to determine the node name -->
      <attribute name="NodeAddress">${jboss.bind.address}</attribute>

      <!-- Determine if deadlock detection is enabled -->
      <attribute name="DeadlockDetection">False</attribute>

      <!-- Max time (in ms) to wait for state transfer to complete. Increase for large states -->
      <attribute name="StateTransferTimeout">30000</attribute>

      <!-- The JGroups protocol configuration -->
      <attribute name="PartitionConfig">
         <!--
         The default UDP stack:
         - If you have a multihomed machine, set the UDP protocol's bind_addr attribute to the
         appropriate NIC IP address, e.g bind_addr="192.168.0.2".
         - On Windows machines, because of the media sense feature being broken with multicast
         (even after disabling media sense) set the UDP protocol's loopback attribute to true
         -->
         <Config>
            <UDP mcast_addr="${jboss.partition.udpGroup:228.1.2.5}" mcast_port="45588"
               ip_ttl="8" ip_mcast="true"
               mcast_send_buf_size="800000" mcast_recv_buf_size="150000"
               ucast_send_buf_size="800000" ucast_recv_buf_size="150000"
               loopback="true"/>
            <PING timeout="2000" num_initial_members="3"
               up_thread="true" down_thread="true"/>
            <MERGE2 min_interval="10000" max_interval="20000"/>
            <FD shun="true" up_thread="true" down_thread="true"
               timeout="2500" max_tries="5"/>
            <VERIFY_SUSPECT timeout="3000" num_msgs="3"
               up_thread="true" down_thread="true"/>
            <pbcast.NAKACK gc_lag="50" retransmit_timeout="300,600,1200,2400,4800"
               max_xmit_size="8192"
               up_thread="true" down_thread="true"/>
            <UNICAST timeout="300,600,1200,2400,4800" window_size="100" min_threshold="10"
               down_thread="true"/>
            <pbcast.STABLE desired_avg_gossip="20000"
               up_thread="true" down_thread="true"/>
            <FRAG frag_size="8192"
               down_thread="true" up_thread="true"/>
            <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>
      <depends>jboss:service=Naming</depends>
   </mbean>

   <!-- ==================================================================== -->
   <!-- HA Session State Service for SFSB                                    -->
   <!-- ==================================================================== -->

   <mbean code="org.jboss.ha.hasessionstate.server.HASessionStateService"
      name="jboss:service=HASessionState">
      <depends>jboss:service=Naming</depends>
      <!-- We now inject the partition into the HAJNDI service instead
           of requiring that the partition name be passed -->
      <depends optional-attribute-name="ClusterPartition"
         proxy-type="attribute">jboss:service=${jboss.partition.name:DefaultPartition}</depends>
      <!-- JNDI name under which the service is bound -->
      <attribute name="JndiName">/HASessionState/Default</attribute>
      <!-- Max delay before cleaning unreclaimed state.
           Defaults to 30*60*1000 => 30 minutes -->
      <attribute name="BeanCleaningDelay">0</attribute>
   </mbean>

   <!-- ==================================================================== -->
   <!-- HA JNDI                                                              -->
   <!-- ==================================================================== -->

   <mbean code="org.jboss.ha.jndi.HANamingService"
      name="jboss:service=HAJNDI">
      <!-- We now inject the partition into the HAJNDI service instead
           of requiring that the partition name be passed -->
      <depends optional-attribute-name="ClusterPartition"
         proxy-type="attribute">jboss:service=${jboss.partition.name:DefaultPartition}</depends>
      <!-- Bind address of bootstrap and HA-JNDI RMI endpoints -->
      <attribute name="BindAddress">${jboss.bind.address}</attribute>
      <!-- Port on which the HA-JNDI stub is made available -->
      <attribute name="Port">1100</attribute>
      <!-- RmiPort to be used by the HA-JNDI service once bound. 0 => auto. -->
      <attribute name="RmiPort">1101</attribute>
      <!-- Accept backlog of the bootstrap socket -->
      <attribute name="Backlog">50</attribute>
      <!-- The thread pool service used to control the bootstrap and
      auto discovery lookups -->
      <depends optional-attribute-name="LookupPool"
         proxy-type="attribute">jboss.system:service=ThreadPool</depends>

      <!-- A flag to disable the auto discovery via multicast -->
      <attribute name="DiscoveryDisabled">false</attribute>
      <!-- Set the auto-discovery bootstrap multicast bind address. If not 
      specified and a BindAddress is specified, the BindAddress will be used. -->
      <attribute name="AutoDiscoveryBindAddress">${jboss.bind.address}</attribute>
      <!-- Multicast Address and group port used for auto-discovery -->
      <attribute name="AutoDiscoveryAddress">${jboss.partition.udpGroup:230.0.0.4}</attribute>
      <attribute name="AutoDiscoveryGroup">1102</attribute>
      <!-- The TTL (time-to-live) for autodiscovery IP multicast packets -->
      <attribute name="AutoDiscoveryTTL">16</attribute>
      <!-- The load balancing policy for HA-JNDI -->
      <attribute name="LoadBalancePolicy">org.jboss.ha.framework.interfaces.RoundRobin</attribute>

      <!-- Client socket factory to be used for client-server
           RMI invocations during JNDI queries
      <attribute name="ClientSocketFactory">custom</attribute>
      -->
      <!-- Server socket factory to be used for client-server
           RMI invocations during JNDI queries
      <attribute name="ServerSocketFactory">custom</attribute>
      -->
   </mbean>

   <mbean code="org.jboss.invocation.jrmp.server.JRMPInvokerHA"
      name="jboss:service=invoker,type=jrmpha">
      <attribute name="ServerAddress">${jboss.bind.address}</attribute>
      <attribute name="RMIObjectPort">4447</attribute>
      <!--
      <attribute name="RMIClientSocketFactory">custom</attribute>
      <attribute name="RMIServerSocketFactory">custom</attribute>
      -->
      <depends>jboss:service=Naming</depends>
   </mbean>

   <!-- the JRMPInvokerHA creates a thread per request.  This implementation uses a pool of threads -->
   <mbean code="org.jboss.invocation.pooled.server.PooledInvokerHA"
      name="jboss:service=invoker,type=pooledha">
      <attribute name="NumAcceptThreads">1</attribute>
      <attribute name="MaxPoolSize">300</attribute>
      <attribute name="ClientMaxPoolSize">300</attribute>
      <attribute name="SocketTimeout">60000</attribute>
      <attribute name="ServerBindAddress">${jboss.bind.address}</attribute>
      <attribute name="ServerBindPort">4448</attribute>
      <attribute name="ClientConnectAddress">${jboss.bind.address}</attribute>
      <attribute name="ClientConnectPort">0</attribute>
      <attribute name="EnableTcpNoDelay">false</attribute>
      <depends optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager</depends>
      <depends>jboss:service=Naming</depends>
   </mbean>

   <!-- ==================================================================== -->

   <!-- ==================================================================== -->
   <!-- Distributed cache invalidation                                       -->
   <!-- ==================================================================== -->

   <mbean code="org.jboss.cache.invalidation.bridges.JGCacheInvalidationBridge"
      name="jboss.cache:service=InvalidationBridge,type=JavaGroups">
      <!-- We now inject the partition into the HAJNDI service instead
           of requiring that the partition name be passed -->
      <depends optional-attribute-name="ClusterPartition"
         proxy-type="attribute">jboss:service=${jboss.partition.name:DefaultPartition}</depends>
      <depends>jboss.cache:service=InvalidationManager</depends>
      <attribute name="InvalidationManager">jboss.cache:service=InvalidationManager</attribute>
      <attribute name="BridgeName">DefaultJGBridge</attribute>
   </mbean>

</server>


*Configuration JBoss Cache (pojocache-service.xml)*

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

<!-- ===================================================================== -->
<!--                                                                       -->
<!--  Sample PojoCache Service Configuration                               -->
<!--                                                                       -->
<!-- ===================================================================== -->

<server>

   <!-- Used inside JBoss AS -->
   <classpath codebase="./lib" archives="jboss-cache.jar, jgroups.jar"/>

   <!-- ==================================================================== -->
   <!-- Defines configuration                                                -->
   <!-- ==================================================================== -->

   <mbean code="org.jboss.cache.aop.PojoCache"
          name="jboss.cache:service=PojoCache">

      <!-- Used inside JBoss AS -->
      <depends>jboss:service=Naming</depends>
      <depends>jboss:service=TransactionManager</depends>

      <!--
          Configure the TransactionManager
      -->
      <attribute name="TransactionManagerLookupClass">org.jboss.cache.JBossTransactionManagerLookup</attribute>

      <!--
          Node locking scheme:
              OPTIMISTIC
              PESSIMISTIC (default)
      -->
      <attribute name="NodeLockingScheme">PESSIMISTIC</attribute>

      <!--
          Note that this attribute is IGNORED if your NodeLockingScheme above is OPTIMISTIC.

          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>

      <!-- Name of cluster. Needs to be the same for all clusters, in order
           to find each other
      -->
      <attribute name="ClusterName">${jboss.cache.cluster.name:Default-Cache-Cluster}</attribute>

      <!-- JGroups protocol stack properties. Can also be a URL,
           e.g. file:/home/bela/default.xml
         <attribute name="ClusterProperties"></attribute>
      -->

      <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="${jboss.cache.udpGroup:228.1.2.5}" mcast_port="45577"
                 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"/>
            <VERIFY_SUSPECT timeout="1500"
                            up_thread="false" down_thread="false"/>
            <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800"
                           up_thread="false" down_thread="false"/>
            <pbcast.STABLE desired_avg_gossip="20000"
                           up_thread="false" down_thread="false"/>
            <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10"
                     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="false" down_thread="false"/>
         </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">15000</attribute>

      <!-- Max number of milliseconds to wait for a lock acquisition -->
      <attribute name="LockAcquisitionTimeout">10000</attribute>

      <!--
      <attribute name="EvictionPolicyClass"></attribute>
      -->

      <!-- Name of the eviction policy class. We have commented it off to disable eviction.
      -->
      <attribute name="EvictionPolicyClass">org.jboss.cache.aop.eviction.AopLRUPolicy</attribute>

      <!-- Specific eviction policy configurations. This is LRU -->
      <attribute name="EvictionPolicyConfig">
         <config>
            <attribute name="wakeUpIntervalSeconds">5</attribute>
            <!-- Cache wide default -->
            <region name="/_default_">
               <attribute name="maxNodes">5000</attribute>
               <attribute name="timeToLiveSeconds">1000</attribute>
            </region>
            <region name="/aop">
                <attribute name="maxNodes">5</attribute>
                <attribute name="timeToLiveSeconds">4</attribute>
            </region>
            <region name="/pojo">
                <attribute name="maxNodes">100</attribute>
                <attribute name="timeToLiveSeconds">4</attribute>
            </region>
            <region name="/testMaxNode">
                <attribute name="maxNodes">4</attribute>
                <attribute name="timeToLiveSeconds">100</attribute>
            </region>
         </config>
      </attribute>
   </mbean>

</server>
--------------------------------------------------------------

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

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/20110214/656f4059/attachment-0001.html 


More information about the jboss-user mailing list