2017-12-29 40 views
0

私はまた、インタフェースcom.hazelcast.core.MapLoaderから他のメソッドを実装していますHazelcastクエリキャッシュにHazelcastマップロードは、キャッシュ

MyEntityMapLoader implements ApplicationContextAware, MapLoader<MyEntityMapLoader.CompositeKey, List<BigInteger>> { 
    @Inject 
    HazelcastInstance hazelcastInstance; 
    @Inject 
    MyEntityRepository myRepo; 
    @PostConstruct 
    public void initialize() { 
    //initialize map 
    } 
@Override 
    @Transactional 
    public Map<CompositeKey, List<BigInteger>> loadAll(Collection<CompositeKey> keys) { 
     return buildMap(getAll()); 
    } 

を実装しようとしていますが更新されません>私はCrudRepositoryを使用しています

MyEntityでCRUD操作を実行します。アプリケーションの起動時に、キャッシュがロードされ、最新のデータが表示されます。 CrudRepoを使用して追加/削除すると問題が発生しますが、Hazelcastはわからないようです。私はまだ古いデータが表示されます。

答えて

0

あなたはMapLoaderを使用していますが、アイテムをメモリに持ち込みますが、変更の際にアイテムを再度送信しません。

MapStoreに交換する必要があります。これは、オンデマンドでアイテムをメモリに持ち込み、変更に応じて再度送信します。

MapLoaderは、load(K)を提供します。 MapStoredelete(K)

を提供するMapLoader
関連する問題