任何人都可以为Java EE 6应用程序推荐一个好的二级对象缓存解决方案,并为您的推荐提供背景知识吗?我正在使用JPA 2.0作为持久性提供程序。
我特别担心必须将缓存客户端作为单线程/单例bean运行。是这样的吗?如果是的话,这是一个问题吗?
我在使用PHP webapp中的memcached方面有很好的经验,但PHP当然是单线程的,所以这绝不是问题......
答案 0 :(得分:3)
任何人都可以为Java EE 6应用程序推荐一个好的第二级对象缓存解决方案
虽然L2缓存合约在JPA 2.0中已标准化,但L2缓存实施是特定于供应商的,您可能会也可能不会插入不同的L2缓存。
为了以防万一,请参阅Hibernate的19.2. The Second Level Cache一章(正如您所看到的,对问题没有单一的答案,选择一个或另一个实现取决于您的需求和您的方式)使用缓存)。
我特别担心必须将缓存客户端作为单线程/单例bean运行。是这样的吗?如果是的话,这是一个问题吗?
我不明白这个问题。您不必担心任何事情,JPA提供程序与缓存交互,而不是您。
答案 1 :(得分:1)
EclipseLink包含一个集成的L2缓存实现,它不需要第三方缓存,但可以通过Oracle TopLink Grid与Oracle Coherence集成。
EclipseLink默认启用缓存,因此您可能已经在缓存,并且不需要执行任何操作。
请参阅, http://en.wikibooks.org/wiki/Java_Persistence/Caching
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Caching