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中的第二级缓存,并以JBoss Caching为例,讲解配置和使用过程中的注意事项。 一、Hibernate第二级缓存概念 第二级缓存是SessionFactory级别的共享缓存,它存储了多个Session之间的持久...
- **JBoss TreeCache (org.hibernate.cache.TreeCacheProvider)**:一个基于 JBoss 的分布式缓存框架。 #### 五、查询级缓存 (Query-level Cache) 查询级缓存是另一种缓存技术,它专门用于缓存查询结果,而不是...
Session和SessionFactory之间紧密合作,共同实现Hibernate缓存的基本机制。 文档提及了“SQL”和“select * from table_name where SQL”,这是对数据库进行查询的语法,表名和查询条件用SQL语言指定。在Hibernate...
首先,JBossCache/TreeCache是JBoss组织提供的一个复制型事务处理缓存。它支持数据复制,方便在Jboss服务器集群间工作,可以作为MBean服务运行,也可以独立运行。TreeCache模块提供树形结构的缓存,而TreeCacheAOP则...
最初是为了配合Hibernate 2.1版本而设计的,但现在已经被许多项目采用作为通用的缓存解决方案。EHCache支持多种缓存模式,包括本地缓存、分布式缓存等,并且提供了丰富的配置选项来满足不同场景的需求。它的特点还...
- **ehcache.jar**:EHCache缓存库,提供二级缓存功能,若无其他缓存机制,它是必需的。 - **antlr.jar**:ANTLR是一个语言识别工具,用于解析Hibernate的配置文件和其他语法。 - **jta.jar**:Java Transaction ...
- `ehcache.jar`:EHCache是Hibernate默认的二级缓存提供者,用于提高数据访问效率。 - `antlr.jar`:ANTLR是一个语言识别工具,用于处理Hibernate的配置文件和HQL语句。 - `jta.jar`:Java Transaction API,当...
ShiftOne Java Object Cache 是一个实施严格缓存策略的库,作为轻量级的配置缓存框架,它专注于特定的缓存需求。 6. SwarmCache: SwarmCache 是一种分布式缓存,通过IP多播与同一网络的其他主机通信,适合集群和...