MapStore
hazelcast (v 2.2)を実装および構成して、呼び出し時に実装からmap.put()
バックグラウンドで呼び出す必要があることを認識できるよう.store
にしました。少なくともそれは私が読んだものです。
実装を直接使用すると、必要なものが保存されますが、呼び出すmap.put()
と保存されません。なぜそうならないのか、または私が何か間違ったことをしているのであれば、誰かが教えてもらえますか?
ここに私のMapStore
実装があります:
public class MyMapStore implements MapStore<String, Object> {
private Session session = HibernateUtil.openSession();
@Override
public Object load(String key) {
// TODO Auto-generated method stub
return null;
}
@Override
public Map<String, Object> loadAll(Collection<String> keys) {
// TODO Auto-generated method stub
return null;
}
@Override
public Set<String> loadAllKeys() {
// TODO Auto-generated method stub
return null;
}
@Override
public void store(String key, Object value) {
Transaction tx = session.beginTransaction();
session.save((MyObject)value);
tx.commit();
}
@Override
public void storeAll(Map<String, Object> map) {
// TODO Auto-generated method stub
}
@Override
public void delete(String key) {
// TODO Auto-generated method stub
}
@Override
public void deleteAll(Collection<String> keys) {
// TODO Auto-generated method stub
}
}
ヘーゼルキャスト構成:
h.getConfig().getMapConfig("default").setMapStoreConfig(
new MapStoreConfig().setEnabled(true).setClassName(
MyMapStore.class.getName()).setWriteDelaySeconds(0));
hazelcast 構成を印刷すると、設定したすべてがそこにあることがわかるので、何が問題なのかわかりません。