Liferay框架中,默认的缓存框架是采用的Ehcache.
虽然可以在portal.properties中修改Hiberante的二级缓存实现方案,但是,其他的应用缓存基本上必须使用Ehcache.
因为项目上的原因,也考虑到如果MDD框架需要能应用到大型网站上,必须能支持client/server方式的缓存框架,比如memcached,所以搞了几天,把memcached缓存框架集成到框架里了。
memcached client端采用的是alisoft的岑文初做的memcache-client-forjava框架,具体请参见:http://code.google.com/p/memcache-client-forjava/
为什么要选择这个?而不是其他的,比如spymemcached, whalin,主要是考虑到性能的问题,还有就是这个框架更容易与MDD集成(呵呵,谁不愿意偷懒呢)
但是这个框架中,没有Hibernate二级缓存的Provider,因此需要自己写一个,参考Ehcache对应的Provider类,也不是难事。
最终搞定,测试了一下,从Ehcache转换到Memcached,只需要修改三个配置文件即可。
算是一个不大不小的改进