Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hazelcast用map.replace写在后面_Hazelcast - Fatal编程技术网

Hazelcast用map.replace写在后面

Hazelcast用map.replace写在后面,hazelcast,Hazelcast,替换某些地图项目时,MapStore(写后模式)似乎无法正常工作。 我希望已经被替换的地图项目不再被处理 我使用的是Hazelcast 3.2.5 我错过什么了吗 请参阅服务器测试类、客户端测试类和输出,以演示问题 服务器类: public class HazelcastInstanceTest { public static void main(String[] args) { Config cfg = new Config(); MapConfig mapCon

替换某些地图项目时,MapStore(写后模式)似乎无法正常工作。 我希望已经被替换的地图项目不再被处理

我使用的是Hazelcast 3.2.5

我错过什么了吗

请参阅服务器测试类、客户端测试类和输出,以演示问题

服务器类:

public class HazelcastInstanceTest {

  public static void main(String[] args) {
      Config cfg = new Config();
      MapConfig mapConfig = new MapConfig();
      MapStoreConfig mapStoreConfig = new MapStoreConfig();
      mapStoreConfig.setEnabled(true);
      mapStoreConfig.setClassName("com.test.TestMapStore");
      mapStoreConfig.setWriteDelaySeconds(15);
      mapConfig.setMapStoreConfig(mapStoreConfig);
      mapConfig.setName("customers");
      cfg.addMapConfig(mapConfig);
      HazelcastInstance instance = Hazelcast.newHazelcastInstance(cfg);
  }

}
映射存储Impl类

public class TestMapStore implements MapStore {

    @Override
    public Object load(Object arg0) {
        System.out.println("-->  LOAD");
        return null;
    }

    @Override
    public Map loadAll(Collection arg0) {
        System.out.println("-->  LOAD ALL");
        return null;
    }

    @Override
    public Set loadAllKeys() {
        System.out.println("-->  LOAD ALL KEYS");
        return null;
    }

    @Override
    public void delete(Object arg0) {
        System.out.println("-->  DELETE");
    }

    @Override
    public void deleteAll(Collection arg0) {
        System.out.println("-->  DELETE ALL");
    }

    @Override
    public void store(Object arg0, Object arg1) {
        System.out.println("-->  STORE " + arg1.toString());        
    }

    @Override
    public void storeAll(Map arg0) {
        System.out.println("-->  STORE ALL");
    }

}
客户端类

public class HazelcastClientTest {

    public static void main(String[] args) throws Exception {
        ClientConfig clientConfig = new ClientConfig();
        HazelcastInstance client = HazelcastClient.newHazelcastClient(clientConfig);
        IMap mapCustomers = client.getMap("customers");
        System.out.println("Map Size:" + mapCustomers.size());

        mapCustomers.put(1, "Item A");

        mapCustomers.replace(1, "Item B");

        mapCustomers.replace(1, "Item C");

        System.out.println("Map Size:" + mapCustomers.size());
    }

}
客户端输出(正常):
地图大小:0
地图大小:1

服务器输出(如我所想,这是不正常的。我只需要C项)
-->加载所有键
-->加载
-->存储项目A
-->存储所有
-->存储项目B
-->存储项目C

任何帮助都将不胜感激。
非常感谢

您能在github上创建票证吗?大多数开发人员不经常检查stackoverflow;但他们正在检查github。好的,谢谢你的提示。我在github上开了一张票。