J2Cache 是 OSChina 目前正在使用的两级缓存框架。第一级缓存使用Ehcache,第二级缓存使用Redis 。由于大量的缓存读取会导致 L2 的网络成为整个系统的瓶颈,因此 L1 的目标是降低对 L2 的读取次数。该缓存框架主要用于集群环境中。单机也可使用,用于避免应用重启导致的 Ehcache 缓存数据丢失。J2Cache 介绍 PPT: http://www.oschina.net/doc/652 。更多介绍和 PPT 讲解请看这里。同时这里有个最简单的测试程序源码CacheTester.java。
目前 J2Cache 缺乏对Hibernate 框架的支持,我们希望通过社区悬赏的方式实现该功能。大家知道 Ehcache 本身也是一个独立的缓存框架,可用于任何的 Java 应用中。但 Ehcache 本身也提供对 Hibernate 的支持。利用可通过在 hibernate.cfg.xml 中的如下配置来启用 Hibernate 和 Ehcache 的集成:
Hibernate 3.x:
<property name="hibernate.cache.provider_class"> net.sf.ehcache.hibernate.SingletonEhCacheProvider </property>
Hibernate 4.x:
<property name="hibernate.cache.region.factory_class"> org.hibernate.cache.ehcache.EhCacheRegionFactory </property>
由于 Hibernate 3.x 和 4.x 在 API 上变化比较大,因此我们将需求分成两部分:
1. Hibernate 3.x:
a. 实现 J2Cache for Hibernate 3.x 的 Provider 类 : net.oschina.j2cache.hibernate.J2CacheProviderb. 对应测试类 J2CacheProviderTester
2. Hibernate 4.x
a. 实现 J2Cache for Hibernate 4.x 的 Factory 类:net.oschina.j2cache.hibernate.J2CacheRegionFactoryb. 对应测试类 J2CacheRegionFactoryTester
以上两个需求中的测试类必须能验证对应的缓存接口实现可以正常工作,请提供一个最简单的例子来证明你的程序满足要求。
如果你能完成这两个需求的任何一个,开源中国将予以现金报酬,其中 Hibernate 3.x 1500 元,Hibernate 4.x 2500 元!
参与此悬赏的步骤:
我们经过 7 天的测试满足功能需求后给您转账,如果你有什么不明白的请在回帖中提问。
为了保证公平性,我们将会按照提交 Pull Requests 的先后顺序进行挨个测试。
提交 Pull Requests 的截止日期:2015年4月1日 (只要有 Pull Requests 经过验证满足需求,活动即告结束)
以往悬赏活动列表请看 http://www.oschina.net/reward