MapStoreFactory для нескольких карт в Hazelcast - PullRequest
0 голосов
/ 25 июня 2018

У меня есть несколько карт, которые нужно инициализировать в Hazelcast. Насколько я понял, реализация MapStoreFactory может помочь мне сделать это. Поэтому я реализую интерфейс MapStoreFactory, который принимает mapName в качестве параметра и создает экземпляр GenericMapStore. Мой вопрос-

1) Будут ли в GenericMapStore блоки if-else для инициализации различных карт.

2) При использовании подстановочных знаков для конфигурационных файлов я делаю что-то вроде

Config config = new Config();  
MapConfig mcf1 = config.getMapConfig("*");
mscf1.setClassName("com.t.g.x.server.hazelcast.MapStoreImpl.*";
HazelcastInstance hz = Hazelcast.newHazelcastInstance(config);
IMap<String, User> userDetailsMap = hz.getMap("userDetailsMap");

как конфиг узнает имя MapStoreImplementation и какие изменения мне нужно внести в это для MapStoreFactory.

1 Ответ

0 голосов
/ 25 июня 2018

Не уверен, что подразумевается под GenericMapStore, но MapStoreFactory довольно прост:

mapStoreConfig.setFactoryImplementation( new MapStoreFactory<Object, Object>() {
  @Override
  public MapLoader<Object, Object> newMapStore( String mapName, Properties properties ) {
    return YOUR_MAPLOADER_IMPL;
  }
});

Так что все, что вы здесь предоставите, будет для mapName, то есть для карты, которую вы создаете в своем приложении.

...