[jboss-cvs] JBossBlog SVN: r174 - in trunk: resources and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jan 17 15:43:01 EST 2008


Author: adamw
Date: 2008-01-17 15:43:01 -0500 (Thu, 17 Jan 2008)
New Revision: 174

Added:
   trunk/resources/treecache.xml
Modified:
   trunk/build.xml
   trunk/src/action/org/jboss/blog/session/cache/FeedsChangesObserver.java
Log:


Modified: trunk/build.xml
===================================================================
--- trunk/build.xml	2008-01-16 18:43:49 UTC (rev 173)
+++ trunk/build.xml	2008-01-17 20:43:01 UTC (rev 174)
@@ -159,6 +159,7 @@
                 <include name="jbpm.cfg.xml" />
                 <include name="*.drl" />                
                 <include name="velocity.properties"/>
+                <include name="treecache.xml" />
             </fileset>
             <fileset dir="${lib.dir}">
                 <include name="jboss-seam.jar" />

Added: trunk/resources/treecache.xml
===================================================================
--- trunk/resources/treecache.xml	                        (rev 0)
+++ trunk/resources/treecache.xml	2008-01-17 20:43:01 UTC (rev 174)
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<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.JBossTransactionManagerLookup</attribute>
+
+        <!--
+              Node locking scheme :
+                                  PESSIMISTIC (default)
+                                  OPTIMISTIC
+      -->
+        <attribute name="NodeLockingScheme">PESSIMISTIC</attribute>
+
+        <!--
+                Node locking isolation level :
+                                     SERIALIZABLE
+                                     REPEATABLE_READ (default)
+                                     READ_COMMITTED
+                                     READ_UNCOMMITTED
+                                     NONE
+
+                (ignored if NodeLockingScheme is OPTIMISTIC)
+        -->
+        <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
+
+        <!-- Lock parent before doing node additions/removes -->
+        <attribute name="LockParentForChildInsertRemove">true</attribute>
+
+        <!--     Valid modes are LOCAL
+                                 REPL_ASYNC
+                                 REPL_SYNC
+                                 INVALIDATION_ASYNC
+                                 INVALIDATION_SYNC
+        -->
+        <attribute name="CacheMode">LOCAL</attribute>
+
+        <!--  Whether each interceptor should have an mbean
+registered to capture and display its statistics.  -->
+        <attribute name="UseInterceptorMbeans">true</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">JBoss-Feeds-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">udp</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="45566" 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" max_xmit_size="8192" retransmit_timeout="600,1200,2400,4800" up_thread="false"
+                               down_thread="false" />
+                <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10" 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="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">5000</attribute>
+
+        <!--    Number of milliseconds to wait until all responses for a
+                synchronous call have been received.
+        -->
+        <attribute name="SyncReplTimeout">10000</attribute>
+
+        <!--  Max number of milliseconds to wait for a lock acquisition -->
+        <attribute name="LockAcquisitionTimeout">15000</attribute>
+    </mbean>
+</server>     
\ No newline at end of file

Modified: trunk/src/action/org/jboss/blog/session/cache/FeedsChangesObserver.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/cache/FeedsChangesObserver.java	2008-01-16 18:43:49 UTC (rev 173)
+++ trunk/src/action/org/jboss/blog/session/cache/FeedsChangesObserver.java	2008-01-17 20:43:01 UTC (rev 174)
@@ -3,7 +3,10 @@
 import org.jboss.seam.annotations.Observer;
 import org.jboss.seam.annotations.Name;
 import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.log.Log;
 import org.jboss.cache.aop.PojoCache;
+import org.jboss.cache.CacheException;
 
 /**
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
@@ -12,9 +15,20 @@
 public class FeedsChangesObserver {
     @In
     private PojoCache pojoCache;
+
+    @Logger
+    private Log log;
     
     @Observer({"org.jboss.blog.feed.updated", "org.jboss.blog.feed.removed"})
     public void feedUpdated(String feedName) {
-        
+        try {
+            String s = (String) pojoCache.get("/a/b/c", "x");
+            pojoCache.put("/a/b/c", "x", "y" + s);
+
+            log.debug("Current cache: " + s);
+        } catch (CacheException e) {
+            e.printStackTrace();
+        }
+        log.debug("Feed updated: " + feedName);
     }
 }




More information about the jboss-cvs-commits mailing list