`
jayz2010
  • 浏览: 34198 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用jbosscache mvcc作为hibernate的二级缓存提供者

阅读更多
如果使用jboss5,可以很容易的将jbosscache作为hibernate的二级缓存提供者。首先需要这样编写persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/persistence"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
  <persistence-unit name="tempdb" transaction-type="JTA">
    <jta-data-source>java:/DefaultDS</jta-data-source>
    <properties>
      <property name="hibernate.cache.use_second_level_cache" value="true"/>
      <property name="hibernate.cache.use_query_cache" value="true"/>
      <property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.jbc2.JndiMultiplexedJBossCacheRegionFactory"/>
      <!-- region factory specific properties -->
      <property name="hibernate.cache.region.jbc2.cachefactory" value="java:CacheManager"/>
      <property name="hibernate.cache.region.jbc2.cfg.entity" value="mvcc-entity"/>
      <property name="hibernate.cache.region.jbc2.cfg.collection" value="mvcc-entity"/>
    </properties>
  </persistence-unit>
</persistence>

注意,当前的jbosscache还不支持CacheConcurrencyStrategy.NONSTRICT_READ_WRITE和CacheConcurrencyStrategy.READ_WRITE,需要将他们在代码中改为CacheConcurrencyStrategy.TRANSACTIONAL,否则hibernate entitymanager將无法启动,报如下错误

javax.persistence.PersistenceException: [PersistenceUnit: persistence] Unable to build EntityManagerFactory

...

Caused by: org.hibernate.cache.CacheException: unsupported access type [nonstrict-read-write]


当然有人会质疑为什么在带来编码限制的情况下,还引入jbosscache。理由很简单——因为它是一个分布式复制的cache,可以做到多应用服务器节点同步cache对象。当然,如果仅仅是使用单机的hibernate JPA,单节点的ehcache就够了。
分享到:
评论

相关推荐

    hibernate 3中的缓存小结

    2.3.1. Hibernate的二级缓存策略的一般过程如下: 1) 条件查询的时候,总是发出一条select * from table_name where …. (选择所有字段)这样的SQL语句查询数据库,一次获得所有的数据对象。 2) 把获得的所有数据...

    Hibernate_二级缓存总结

    它可以使用不同的缓存实现,如 EhCache 、 JBossCache 、 OsCache 等 (二级缓存是缓存实体对象的) 还有一个类型的 CACHE 就是 QueryCache . 它的作用就是缓存一个 Query 以及 Query 返回对象的 Identifier 以及...

    hibernate基础教程

    Hibernate中使用了一级缓存和二级缓存的机制来提高程序的性能. 一 为什么要使用缓存? 缓存是一块存储区域,可能是一块内存,也可能是一块硬盘.缓存能起到缓冲的作用,把程序经常使用...

    JbossCache中文文档.CHM

    JbossCache中文文档由邱奎宁翻译,本人制作。

    jbosscache 1.2.4 src

    jbosscache 1.2.4 源代码和sample

    jbosscache

    JbossCache中文文档,很好的学习文档!!

    jbosscache-core-3.2.7.GA.jar

    jbosscache-core-3.2.7.GA.jar

    搭建hibernate的相关Jar包

    搭建hibernate的相关Jar包,可以帮助初学者。 slf4j-log4j12-1.6.1.jar swarmcache-1.0RC2.jar slf4j-api-1.5.8.jar proxool-0.8.3.jar oscache-2.1.jar ojdbc14.jar log4j-1.2.16.jar jta-1.1.jar jbosscache-core-...

    jbosscache-core-3.2.5.GA-all.zip

    jbosscache3.2.5 jar 包 jbosscache-core-sources.jar jboss-logging-spi.jar jboss-transaction-api.jar

    jbosscache manual

    jbosscache manual jbosscache manual jbosscache manual jbosscache manual jbosscache manual

    JBossCache_讲解说明

    JBoss Cache 缓存 讲解说明

    JBossCache用户向导笔记

    JBoss Cache用户向导笔记,支持集群、事务的缓存技术

    jbosscache-1.4.1.jar

    jbosscache-1.4.1.jar

    jbosscache-userguide_zh_CN

    jbosscache-userguide_zh_CN jbosscache-userguide_zh_CN jbosscache-userguide_zh_CN

    jbosscache-core-3.1.0.jar

    jbosscache-core-3.1.0.jar

    GroupCo基础服务提供者.java版本.可以与GroupCo服务层无缝切换.rar

    在JavaGroups中,组并不需要明确地创建,当第一个成员加入一个组时,自动创建了该组,第一个成员同时作为系统的协调者统一发送系统信息(譬如成员的加入退出等)给其它成员,而其他组成员通过与系统协调者的通信来...

    缓存技术浅谈

    操作系统磁盘缓存 减少磁盘机械操作 数据库缓存 减少文件系统I/O 应用程序缓存 减少对数据库的查询 Web服务器缓存 减少应用服务器请求 客户端浏览器缓存 减少对网站的访问

    JBoss cache3.2.1.GA源代码及class文件

    其中jbosscache-core-sources.jar为源代码jar包;jbosscache-core.jar含jbosscache的核心代码; lib中含有jbosscache-core.jar中所用到得class文件; etc中含有一些配置文件的样例

    JBossCache核心指南中文版

    红帽公司jboss的内部资料,版本 2.2.0 Poblano版,需要的可以下载!

Global site tag (gtag.js) - Google Analytics