`

用JBoss的TreeCache作为Hibernate的二级缓存

阅读更多
Apache的集群配置略

假设两台电脑的IP分别为10.5.23.100和10.5.23.25。我们这里使用JBoss的default目录。

一:
将如下文件从%JBoss_Home%\server\all\lib里面拷到%JBoss_Home%\server\default\lib目录下:
jbossha.jar(加载org.jboss.ha.framework.server.ClusterPartition)
jgroups.jar(JBoss集群底层通信协议)

二:
编辑10.5.23.100的%JBoss_Home%\server\default\deploy\jboss-web.deployer\server.xml如下
<Engine name="jboss.web" defaultHost="localhost">

<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">
其中node1要跟apache的workers.properties对应

三:
使用JBoss的TreeCacheAop
见10.5.23.100的%JBoss_Home%\server\default\deploy\jboss-web-cluster.sar\META-INF\的jboss-service.xml

四:使用JBoss的TreeCache作为Hibernate的二级缓存
在Hibernate.xml中配置二级缓存为jboss cache

<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.OptimisticTreeCacheProvider</prop>       
<prop key="hibernate.cache.provider_configuration_file_resource_path">config/jboss-cache.xml</prop>
<prop key="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</prop>

POJO 中
Object Cache:@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL)
如果有关联集合,也要放到Cache中
Query Cache:setCacheable(true);

五:
工程项目的web.xml中加入如下代码
<distributable/>

六:按Session进行同步
Jboss-web.xml
<jboss-web>

  <replication-config>
<replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>
<replication-granularity>SESSION</replication-granularity>
</replication-config>

</jboss-web>

七:获得JBoss Mbean来操作caceh
Application Cluster Cache:
TreeCahceAop:AISCache. getApplicationCacheInstance();
Hibernate  Cluster Cache:
TreeCache:AISCache. getHibernateCacheInstance();


分享到:
评论

相关推荐

    二级缓存详解

    在使用二级缓存时,需要注意缓存同步和失效的问题,因为缓存中的数据可能与数据库中的数据不同步。因此,需要正确配置缓存的生命周期和清理策略,以确保数据一致性。 总之,Hibernate的二级缓存是一个强大的工具,...

    Hibernate 2nd-level cache: JBoss Caching 配置与注意事项

    本篇文章将深入探讨Hibernate中的第二级缓存,并以JBoss Caching为例,讲解配置和使用过程中的注意事项。 一、Hibernate第二级缓存概念 第二级缓存是SessionFactory级别的共享缓存,它存储了多个Session之间的持久...

    hibernate caching

    - **JBoss TreeCache (org.hibernate.cache.TreeCacheProvider)**:一个基于 JBoss 的分布式缓存框架。 #### 五、查询级缓存 (Query-level Cache) 查询级缓存是另一种缓存技术,它专门用于缓存查询结果,而不是...

    java中的缓存.pdf

    Session和SessionFactory之间紧密合作,共同实现Hibernate缓存的基本机制。 文档提及了“SQL”和“select * from table_name where SQL”,这是对数据库进行查询的语法,表名和查询条件用SQL语言指定。在Hibernate...

    Java缓存讨论.pdf

    首先,JBossCache/TreeCache是JBoss组织提供的一个复制型事务处理缓存。它支持数据复制,方便在Jboss服务器集群间工作,可以作为MBean服务运行,也可以独立运行。TreeCache模块提供树形结构的缓存,而TreeCacheAOP则...

    Java中各类Cache机制实现解决方案

    最初是为了配合Hibernate 2.1版本而设计的,但现在已经被许多项目采用作为通用的缓存解决方案。EHCache支持多种缓存模式,包括本地缓存、分布式缓存等,并且提供了丰富的配置选项来满足不同场景的需求。它的特点还...

    ssm整合中jar包作用介绍.pdf

    - **ehcache.jar**:EHCache缓存库,提供二级缓存功能,若无其他缓存机制,它是必需的。 - **antlr.jar**:ANTLR是一个语言识别工具,用于解析Hibernate的配置文件和其他语法。 - **jta.jar**:Java Transaction ...

    SSH所用JAR包详解.docx

    - `ehcache.jar`:EHCache是Hibernate默认的二级缓存提供者,用于提高数据访问效率。 - `antlr.jar`:ANTLR是一个语言识别工具,用于处理Hibernate的配置文件和HQL语句。 - `jta.jar`:Java Transaction API,当...

    Java认证:各类Cache机制的实现方法

    ShiftOne Java Object Cache 是一个实施严格缓存策略的库,作为轻量级的配置缓存框架,它专注于特定的缓存需求。 6. SwarmCache: SwarmCache 是一种分布式缓存,通过IP多播与同一网络的其他主机通信,适合集群和...

Global site tag (gtag.js) - Google Analytics