首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Coherence企业级缓存(5)与Hibernate集成(2)

2012-10-28 
Coherence企业级缓存(五)与Hibernate集成(2)接上篇Coherence 与 Hibernate集成(一)3. Cache客户端配置:Hib

Coherence企业级缓存(五)与Hibernate集成(2)
接上篇  Coherence 与 Hibernate集成(一)


3. Cache客户端配置:Hibernate配置
3.1) hibernate.cfg.xml



     3.4) 客户端缓存配置
客户端要使用与服务端同样的缓存配置 hibernate-cache-config.xml, 否则可能无法进行存储。 本例将其复制过来,放到classpath 下的 config目录中,因此,客户端启动命令(如果是tomcat,weblogic,websphere,修改相应cmd或bat文件)中也要加java参数:

观察日志输出
引用
Execute No. 1 ********************
2008-10-14 18:00:44,687 [DEBUG](AbstractBatcher.java,346) - select  this.PERMCODE as  PERM1_15_0_, ....
(No.1)result size:1

Execute No. 2 ********************
(No.2)result size:1

Execute No. 3 ********************
(No.3)result size:1

Execute No. 4 ********************
(No.4)result size:1

Execute No. 5 ********************
(No.5)result size:1

第一次执行了sql,
后面sql都未执行,并且查询结果数为1,和第一次执行sql的结果相同。表明之后从Coherence中获取了数据, 缓存生效。

4.3) 查看M2 上的cache数据:

在M2上的节点控制台切换到 HIBERNATE_QUERY_CACHE cache下面,执行:
引用
cache HIBERNATE_QUERY_CACHE



并执行Coherence命令
引用list

命令查看所有已在Cache中存储的数据。 下面的日志每个 sql:开头的就是一个对Query的缓存项。
引用
Map (HIBERNATE_QUERY_CACHE): list
sql: select managelogv0_.LOGID as LOGID5_, managelogv0_.OPRTIME as
TE5_, managelogv0_.OPRACTION as OPRACTION5_, managelogv0_.OPRTYPE a
OG managelogv0_; parameters: ; named parameters: {}; first row: 0;
, 285, 286, 287, 288, 321]
key1 = value1
sql: select  this.PERMCODE as  PERM1_15_0_,  this.MODULECODE as  MO
RM5_15_0_,  this.PORTNO as  PORT6_15_0_ from (select  t.perm_code a
       t.module_code as moduleCode,
       t.perm_name as permName,
       t.perm_desc as permDesc,
       t.port_no as portNo,
       t.perm_type_code as permTypeCode
                from sys_perm t join sys_role_perm o
    on t.perm_code = o.perm_code
    where o.role_code = ? ) this  ; parameters: ; named parameters:
sql: select count(*) as col_0_0_ from SYS_MANAGELOG managelogv0_; p….


OK, 大功告成,成功将Coherence与Hibernate集成,Hibernate通过Coherence进行实体数据,查询数据的缓存。



Coherence企业级缓存(一) 特点
Coherence企业级缓存(二) QuickStart和编程
Coherence企业级缓存(三) 四种缓存类型
Coherence企业级缓存(四) 数据管理模式
Coherence企业级缓存(五)与Hibernate集成(1)
Coherence企业级缓存(五)与Hibernate集成(2)
Coherence企业级缓存(六) JMX 管理和监控
Coherence企业级缓存(七) 性能调优 1 楼 raymond2006k 2008-10-18   引用不是有JBossCache么?为什么还要和Oracle的Coherence来集成?

虽都是分布式缓存方案,但Coherence是企业级Cache框架比JBOSSCache等强大很多。

Coherence的重要特点使用很简单,但功能强大:集群的自管理(自动发现Node),线性扩展性,以及支持分区缓存(Partitioned Cache);后两者更是充分体现它比一般Cache框架的强大之处。
此外它还支持 ExternalizableLite 接口替换 Serializable 接口,提升序列化性能;.... 还有很多优质特性我还没时间充分研究使用。

以前开源的Cache框架不止一个,但Coherence一个几M的SDK, Oracle舍得花巨资收购,并纳入Oracle SOA 体系, 也可能想见它的不一般之处。

Coherence 现在很贵,估计只有大企业用的多,所以 google上的资料的确很少。当然,选Jboss还是Coherence,或者是 Gigaspaces,memchache 等, 要依据项目规模,预算,架构特点等来抉择。

楼上感兴趣,可以到oracle网站上看看资料。

热点排行