【问题标题】:Caching objects in EJB 3.0在 EJB 3.0 中缓存对象
【发布时间】:2012-11-04 00:50:33
【问题描述】:

我应该使用哪种编程模式(和产品)在 EJB 3.0 无状态会话 bean 中创建通用内存对象缓存?

如果不要求缓存保持一致,在集群环境中使用静态成员变量或单例模式是否会导致任何副作用?

要缓存的数据是从 JDBC 数据源(JPA 不是一个选项)和 Web 服务中获取的。要缓存的数据量为几兆字节。缓存必须提供非常快速的读取,因此我希望解决方案应该在应用程序正在使用的 JVM 中运行。

【问题讨论】:

    标签: caching ejb-3.0 stateless-session-bean


    【解决方案1】:

    我想唯一的解决方案是创建一个作为成员变量存储的单例。

    @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;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-14
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      相关资源
      最近更新 更多