2

EJB 3.0 ステートレス セッション Bean で汎用インメモリ オブジェクト キャッシュを作成するには、どのプログラミング パターン (および製品) を使用する必要がありますか?

静的メンバー変数またはシングルトン パターンを使用すると、キャッシュが一貫している必要がない場合、クラスター化された環境で副作用が発生しますか?

キャッシュされるデータは、JDBC データソース (JPA はオプションではありません) および Web サービスから取得されます。キャッシュされるデータの量は数メガバイトです。キャッシュは非常に高速な読み取りを提供する必要があるため、アプリケーションが使用している JVM 内でソリューションを実行することをお勧めします。

4

1 に答える 1

-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;
    }
}
于 2013-01-26T16:52:16.030 に答える