2
我應該使用哪種編程模式(和產品)在EJB 3.0無狀態會話Bean中創建通用內存中對象緩存?在EJB 3.0中緩存對象
使用靜態成員變量或單例模式是否會在集羣環境中導致任何副作用(如果緩存不是一致的)?
要緩存的數據是從JDBC數據源(JPA不是選項)和Web服務獲取的。要緩存的數據量只有幾兆字節。緩存必須提供非常快的讀取速度,因此我更希望解決方案應該在應用程序使用的JVM內部運行。
我應該使用哪種編程模式(和產品)在EJB 3.0無狀態會話Bean中創建通用內存中對象緩存?在EJB 3.0中緩存對象
使用靜態成員變量或單例模式是否會在集羣環境中導致任何副作用(如果緩存不是一致的)?
要緩存的數據是從JDBC數據源(JPA不是選項)和Web服務獲取的。要緩存的數據量只有幾兆字節。緩存必須提供非常快的讀取速度,因此我更希望解決方案應該在應用程序使用的JVM內部運行。
我想唯一的解決辦法是創建一個你存儲爲成員變量的單例。
@Stateless
public class MyBean {
private CacheManager cacheManager;
@PostConstruct
public void initialize() {
cacheManager = CacheManager.getInstance();
}
}
public class CacheManager {
private static CacheManager instance;
public synchronized getInstance() {
if (instance == null) {
instance = new CacheManager()
}
return instance;
}
}