1

我将 ehcache 与 hibernate 一起使用,我想使用阻塞或 SelfPopulating 缓存来避免出现的问题http://ehcache.org/documentation/constructs-0_5.html#mozTocId722946

需要一个昂贵的操作,比如渲染一个大的网页,这需要 30 秒。该页面在 5 分钟之前不会被认为是陈旧的。该页面受到的打击非常大,平均每 5 分钟会被打击 20 次。

我是否必须以编程方式执行此操作http://ehcache.org/documentation/cache_decorators.html建议或者是否有一种声明性(在 xml 中)的方式来做到这一点?

多谢

4

1 回答 1

1

没有办法做到这一点,因为您必须在读取缓存配置之前使用ehcache.xml注册该类。CacheManager

因此,您必须使用文档中提到的代码,并且必须在使用 Hibernate 执行任何操作之前运行此代码。一个简单的方法是使用hibernate.cache.provider_class告诉 Hibernate 缓存工厂的属性。查看实现的源代码,它应该让您了解您需要做什么。

于 2009-10-05T08:32:08.327 回答