[jboss-cvs] JBossBlog SVN: r188 - in trunk: resources and 5 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Feb 5 05:30:33 EST 2008


Author: adamw
Date: 2008-02-05 05:30:33 -0500 (Tue, 05 Feb 2008)
New Revision: 188

Added:
   trunk/resources/blog-ehcache.xml
Modified:
   trunk/build.xml
   trunk/resources/META-INF/persistence-dev.xml
   trunk/src/action/org/jboss/blog/session/feed/FeedsServiceImpl.java
   trunk/src/action/org/jboss/blog/session/group/GroupsServiceImpl.java
   trunk/src/model/org/jboss/blog/model/Category.java
   trunk/src/model/org/jboss/blog/model/Enclosure.java
   trunk/src/model/org/jboss/blog/model/Group.java
   trunk/src/model/org/jboss/blog/model/Image.java
   trunk/src/model/org/jboss/blog/model/Post.java
   trunk/src/model/org/jboss/blog/model/Template.java
   trunk/src/model/org/jboss/blog/model/feed/AggregatedFeed.java
   trunk/src/model/org/jboss/blog/model/feed/Feed.java
   trunk/src/model/org/jboss/blog/model/feed/RemoteFeed.java
Log:


Modified: trunk/build.xml
===================================================================
--- trunk/build.xml	2008-02-04 19:12:05 UTC (rev 187)
+++ trunk/build.xml	2008-02-05 10:30:33 UTC (rev 188)
@@ -160,9 +160,10 @@
                 <include name="*.drl" />                
                 <include name="velocity.properties"/>
                 <include name="treecache.xml" />
+                <include name="blog-ehcache.xml" />
             </fileset>
             <fileset dir="${lib.dir}">
-                <include name="jboss-seam.jar" />
+                <include name="jboss-seam.jar" />  
             </fileset>
             <fileset dir="${basedir}">
                 <include name="lib/jbpm*.jar" />
@@ -177,7 +178,10 @@
                 <include name="lib/jgroups*.jar" />
                 <include name="lib/jboss-cache*.jar" />
 
+                <!--<include name="lib/ehcache*.jar" />-->
+
                 <include name="lib/lucene-core.jar" />
+                <!--<include name="lib/hibernate*.jar" />-->
                 <include name="lib/hibernate-search.jar" />
                 <include name="lib/hibernate-commons-annotations.jar" />
 
@@ -248,8 +252,11 @@
             </fileset>
         </copy>
 
+        <!--<copy todir="${deploy.dir}" file="${basedir}/resources/blog-ehcache.xml" />-->
+
         <copy todir="${deploy.lib.dir}">
             <fileset dir="${basedir}/lib">
+                <include name="ehcache*.jar" />
                 <include name="jdom*.jar" />
                 <include name="jericho-html-*.jar" />
                 <include name="htmlcleaner*.jar" />

Modified: trunk/resources/META-INF/persistence-dev.xml
===================================================================
--- trunk/resources/META-INF/persistence-dev.xml	2008-02-04 19:12:05 UTC (rev 187)
+++ trunk/resources/META-INF/persistence-dev.xml	2008-02-05 10:30:33 UTC (rev 188)
@@ -20,12 +20,17 @@
         <properties>
             <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
             <property name="hibernate.hbm2ddl.auto" value="update"/>
-            <property name="hibernate.show_sql" value="false"/>
-            <property name="hibernate.format_sql" value="true"/>
+            <property name="hibernate.show_sql" value="true"/>
+            <property name="hibernate.format_sql" value="false"/>
             <property name="jboss.entity.manager.factory.jndi.name" value="java:/blogEntityManagerFactory"/>
             <property name="hibernate.connection.useUnicode" value="true" />
             <property name="hibernate.connection.characterEncoding" value="UTF-8" />
 
+            <property name="hibernate.cache.use_query_cache" value="true"/>
+            <property name="hibernate.cache.use_second_level_cache" value="true"/>
+            <property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider" />
+            <property name="hibernate.cache.provider_configuration_file_resource_path" value="blog-ehcache.xml" />
+            
             <!-- TODO Search -->
             <!-- TODO 2nd level caching -->
             <!-- use a file system based index -->

Added: trunk/resources/blog-ehcache.xml
===================================================================
--- trunk/resources/blog-ehcache.xml	                        (rev 0)
+++ trunk/resources/blog-ehcache.xml	2008-02-05 10:30:33 UTC (rev 188)
@@ -0,0 +1,11 @@
+<ehcache>
+    <diskStore path="java.io.tmpdir"/>
+
+    <defaultCache
+        maxElementsInMemory="10000"
+        eternal="true"
+        overflowToDisk="true"
+        diskPersistent="false"
+        diskExpiryThreadIntervalSeconds="120"
+        memoryStoreEvictionPolicy="LRU" />
+</ehcache>
\ No newline at end of file

Modified: trunk/src/action/org/jboss/blog/session/feed/FeedsServiceImpl.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/feed/FeedsServiceImpl.java	2008-02-04 19:12:05 UTC (rev 187)
+++ trunk/src/action/org/jboss/blog/session/feed/FeedsServiceImpl.java	2008-02-05 10:30:33 UTC (rev 188)
@@ -41,14 +41,15 @@
 
     @SuppressWarnings("unchecked")
     public List<Group> getAllGroups() {
-        return entityManager.createQuery("select group from Group group order by group.name").getResultList();
+        return entityManager.createQuery("select group from Group group order by group.name")
+                .setHint("org.hibernate.cacheable", Boolean.TRUE).getResultList();
     }
 
     public Post getPost(String titleAsId) throws PostNotFoundException {
         log.debug("Reading post '#0' from the DB.", titleAsId);
         try {
             return (Post) entityManager.createQuery("select post from Post post where post.titleAsId = ?1")
-                    .setParameter(1, titleAsId).getSingleResult();
+                    .setParameter(1, titleAsId).setHint("org.hibernate.cacheable", Boolean.TRUE).getSingleResult();
         } catch (NoResultException e) {
             throw new PostNotFoundException();
         }
@@ -58,7 +59,7 @@
         log.debug("Reading feed '#0' from the DB.", feedName);
         try {
             return (Feed) entityManager.createQuery("select feed from Feed feed where feed.name = ?1")
-                    .setParameter(1, feedName).getSingleResult();
+                    .setParameter(1, feedName).setHint("org.hibernate.cacheable", Boolean.TRUE).getSingleResult();
         } catch (NoResultException e) {
             throw new FeedNotFoundException();
         }

Modified: trunk/src/action/org/jboss/blog/session/group/GroupsServiceImpl.java
===================================================================
--- trunk/src/action/org/jboss/blog/session/group/GroupsServiceImpl.java	2008-02-04 19:12:05 UTC (rev 187)
+++ trunk/src/action/org/jboss/blog/session/group/GroupsServiceImpl.java	2008-02-05 10:30:33 UTC (rev 188)
@@ -26,14 +26,14 @@
         //noinspection unchecked
         return entityManager
                 .createQuery("select feed from Feed feed where feed.group = ?1 and feed.accepted = true")
-                .setParameter(1, group).getResultList();
+                .setParameter(1, group).setHint("org.hibernate.cacheable", Boolean.TRUE).getResultList();
     }
 
     public List<Feed> unacceptedFeeds(Group group) {
         //noinspection unchecked
         return entityManager
                 .createQuery("select feed from Feed feed where feed.group = ?1 and not (feed.accepted = true)")
-                .setParameter(1, group).getResultList();
+                .setParameter(1, group).setHint("org.hibernate.cacheable", Boolean.TRUE).getResultList();
     }
 
     @Remove

Modified: trunk/src/model/org/jboss/blog/model/Category.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/Category.java	2008-02-04 19:12:05 UTC (rev 187)
+++ trunk/src/model/org/jboss/blog/model/Category.java	2008-02-05 10:30:33 UTC (rev 188)
@@ -1,6 +1,8 @@
 package org.jboss.blog.model;
 
 import org.hibernate.validator.NotEmpty;
+import org.hibernate.annotations.Cache;
+import org.hibernate.annotations.CacheConcurrencyStrategy;
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
@@ -11,6 +13,7 @@
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
  */
 @Entity
+ at Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
 public class Category implements RestrictedCategory {
     @Id
     @GeneratedValue

Modified: trunk/src/model/org/jboss/blog/model/Enclosure.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/Enclosure.java	2008-02-04 19:12:05 UTC (rev 187)
+++ trunk/src/model/org/jboss/blog/model/Enclosure.java	2008-02-05 10:30:33 UTC (rev 188)
@@ -3,6 +3,8 @@
 import org.hibernate.validator.NotEmpty;
 import org.hibernate.validator.Length;
 import org.hibernate.validator.NotNull;
+import org.hibernate.annotations.Cache;
+import org.hibernate.annotations.CacheConcurrencyStrategy;
 
 import javax.persistence.*;
 
@@ -10,6 +12,7 @@
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
  */
 @Entity
+ at Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
 public class Enclosure implements RestrictedEnclosure {
     @Id
     @GeneratedValue

Modified: trunk/src/model/org/jboss/blog/model/Group.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/Group.java	2008-02-04 19:12:05 UTC (rev 187)
+++ trunk/src/model/org/jboss/blog/model/Group.java	2008-02-05 10:30:33 UTC (rev 188)
@@ -4,6 +4,8 @@
 import org.hibernate.validator.NotEmpty;
 import org.hibernate.validator.Pattern;
 import org.hibernate.validator.Length;
+import org.hibernate.annotations.Cache;
+import org.hibernate.annotations.CacheConcurrencyStrategy;
 
 import javax.persistence.*;
 import java.util.List;
@@ -13,6 +15,7 @@
  */
 @Entity
 @Table(name = "FeedGroup")
+ at Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
 public class Group {
     @Id
     @GeneratedValue
@@ -21,6 +24,7 @@
 
     @OneToMany(mappedBy = "group")
     @OrderBy("name")
+    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
     private List<Feed> feeds;
 
     @NotEmpty

Modified: trunk/src/model/org/jboss/blog/model/Image.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/Image.java	2008-02-04 19:12:05 UTC (rev 187)
+++ trunk/src/model/org/jboss/blog/model/Image.java	2008-02-05 10:30:33 UTC (rev 188)
@@ -3,6 +3,8 @@
 import org.hibernate.validator.NotEmpty;
 import org.hibernate.validator.Length;
 import org.hibernate.validator.NotNull;
+import org.hibernate.annotations.Cache;
+import org.hibernate.annotations.CacheConcurrencyStrategy;
 
 import javax.persistence.*;
 
@@ -10,6 +12,7 @@
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
  */
 @Entity
+ at Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
 public class Image implements RestrictedImage {
     @Id
     @GeneratedValue

Modified: trunk/src/model/org/jboss/blog/model/Post.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/Post.java	2008-02-04 19:12:05 UTC (rev 187)
+++ trunk/src/model/org/jboss/blog/model/Post.java	2008-02-05 10:30:33 UTC (rev 188)
@@ -5,6 +5,8 @@
 import org.hibernate.validator.NotEmpty;
 import org.hibernate.validator.NotNull;
 import org.hibernate.validator.Pattern;
+import org.hibernate.annotations.Cache;
+import org.hibernate.annotations.CacheConcurrencyStrategy;
 import org.jboss.blog.tools.StripHtmlBridge;
 import org.jboss.blog.tools.StringTools;
 import org.jboss.blog.tools.GeneralTools;
@@ -19,6 +21,7 @@
  */
 @Entity
 @Indexed
+ at Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
 public class Post implements RestrictedPost {
     @Id
     @GeneratedValue
@@ -50,6 +53,7 @@
     private String author;
 
     @ManyToMany
+    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
     private List<Category> categories;
 
     @Temporal(value = TemporalType.TIMESTAMP)
@@ -61,9 +65,11 @@
     private Date modified;
 
     @OneToMany(mappedBy = "post", cascade = CascadeType.ALL)
+    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
     private List<Enclosure> enclosures;
 
-    @OneToMany(mappedBy = "post", cascade = CascadeType.ALL)    
+    @OneToMany(mappedBy = "post", cascade = CascadeType.ALL)
+    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
     private List<Image> images;
 
     @ManyToOne

Modified: trunk/src/model/org/jboss/blog/model/Template.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/Template.java	2008-02-04 19:12:05 UTC (rev 187)
+++ trunk/src/model/org/jboss/blog/model/Template.java	2008-02-05 10:30:33 UTC (rev 188)
@@ -2,6 +2,8 @@
 
 import org.hibernate.validator.Length;
 import org.hibernate.validator.NotEmpty;
+import org.hibernate.annotations.Cache;
+import org.hibernate.annotations.CacheConcurrencyStrategy;
 
 import javax.persistence.*;
 import java.util.Date;
@@ -10,6 +12,7 @@
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
  */
 @Entity
+ at Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
 public class Template {
     @Id
     @GeneratedValue

Modified: trunk/src/model/org/jboss/blog/model/feed/AggregatedFeed.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/feed/AggregatedFeed.java	2008-02-04 19:12:05 UTC (rev 187)
+++ trunk/src/model/org/jboss/blog/model/feed/AggregatedFeed.java	2008-02-05 10:30:33 UTC (rev 188)
@@ -5,6 +5,8 @@
 import org.hibernate.validator.NotNull;
 import org.hibernate.annotations.CollectionOfElements;
 import org.hibernate.annotations.MapKeyManyToMany;
+import org.hibernate.annotations.Cache;
+import org.hibernate.annotations.CacheConcurrencyStrategy;
 
 import javax.persistence.Entity;
 import javax.persistence.Basic;
@@ -15,15 +17,18 @@
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
  */
 @Entity
+ at Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
 public class AggregatedFeed extends Feed {
     @CollectionOfElements
     @MapKeyManyToMany
     @Lob
+    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
     private Map<Feed, PostFilter> feeds;
 
     @CollectionOfElements
     @MapKeyManyToMany
     @Lob
+    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
     private Map<Group, PostFilter> groups;
 
     @NotNull

Modified: trunk/src/model/org/jboss/blog/model/feed/Feed.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/feed/Feed.java	2008-02-04 19:12:05 UTC (rev 187)
+++ trunk/src/model/org/jboss/blog/model/feed/Feed.java	2008-02-05 10:30:33 UTC (rev 188)
@@ -4,6 +4,8 @@
 import org.hibernate.validator.NotEmpty;
 import org.hibernate.validator.Pattern;
 import org.hibernate.validator.NotNull;
+import org.hibernate.annotations.Cache;
+import org.hibernate.annotations.CacheConcurrencyStrategy;
 import org.jboss.blog.model.Post;
 import org.jboss.blog.model.XmlType;
 import org.jboss.blog.model.Template;
@@ -18,6 +20,7 @@
  */
 @Entity
 @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
+ at Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
 public class Feed implements RestrictedFeed {
     @Id
     @GeneratedValue
@@ -46,12 +49,14 @@
     private String link;
 
     @OneToMany(cascade = {CascadeType.REMOVE}, mappedBy = "feed")
+    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
     private List<Post> posts;
 
     @Lob
     private String description;
 
     @ManyToMany
+    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
     private Map<XmlType, Template> templates;
 
     @Column

Modified: trunk/src/model/org/jboss/blog/model/feed/RemoteFeed.java
===================================================================
--- trunk/src/model/org/jboss/blog/model/feed/RemoteFeed.java	2008-02-04 19:12:05 UTC (rev 187)
+++ trunk/src/model/org/jboss/blog/model/feed/RemoteFeed.java	2008-02-05 10:30:33 UTC (rev 188)
@@ -2,6 +2,8 @@
 
 import org.hibernate.validator.Length;
 import org.hibernate.validator.NotEmpty;
+import org.hibernate.annotations.Cache;
+import org.hibernate.annotations.CacheConcurrencyStrategy;
 
 import javax.persistence.Entity;
 
@@ -9,6 +11,7 @@
  * @author <a href="mailto:adam at warski.org">Adam Warski</a>
  */
 @Entity
+ at Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
 public class RemoteFeed extends Feed {
     @NotEmpty
     @Length(max = 512)




More information about the jboss-cvs-commits mailing list