我想在无状态 EJB 中使用 ehcache。据我所知,如果我得到一个 CacheManager 的单例实例,那么当我不需要它时,我必须关闭这个实例。但是,它会给我带来很大的开销,因为如果我在每次调用时都将其关闭,则需要大量时间来创建 CacheManager 实例。或者我不应该费心关闭 EJB 中的 CacheManager 吗?不会引起任何问题吗?
谢谢!
我想在无状态 EJB 中使用 ehcache。据我所知,如果我得到一个 CacheManager 的单例实例,那么当我不需要它时,我必须关闭这个实例。但是,它会给我带来很大的开销,因为如果我在每次调用时都将其关闭,则需要大量时间来创建 CacheManager 实例。或者我不应该费心关闭 EJB 中的 CacheManager 吗?不会引起任何问题吗?
谢谢!
根据 EhCache 文档 ( http://ehcache.org/documentation/operations/shutdown ),正确关闭 EhCache 是一个很好的做法(在某些情况下是必需的做法)。
无论哪种方式,应该很容易实现:我认为您应该为您的 EJB 注册一个关闭挂钩(检查EJB 应用程序关闭挂钩后),并在该挂钩中,只需调用 CacheManager.shutdown() 方法。
希望有帮助。