Обработка нулевых значений проекций Hazelcast

#java #hazelcast

#java #hazelcast

Вопрос:

Как обрабатывать нулевые значения в проекциях hazelcast

 HazelcastInstance hz = Hazelcast.newHazelcastInstance();
IMap<Integer, HazelcastJsonValue> map = hz.getMap("myMap");

map.set(0, new HazelcastJsonValue("{"id":"01","name":"abc","age":null}"));
map.set(1, new HazelcastJsonValue("{"id":"02","name":" data","age":37} "));
map.set(2, new HazelcastJsonValue("{"id":"03","name":"abc","age":39}"));

Collection<Object[]> projection = map.project(Projections.multiAttribute("id", "name","age"));
  

В приведенном выше коде вы можете заметить, что поле age имеет значение null для первой записи, поэтому проекции вызывают исключение.
Как просто вернуть нулевое значение внутри генерирующего исключения…

Ответ №1:

Какую версию Hazelcast вы используете?

Я пробовал с 4.0.2. Я добавил следующий фрагмент для печати элементов:

 projection.stream()
          .flatMap(Stream::of)
          .forEach(System.out::println);
  

Он выводит следующее:

 03
abc
39
01
abc
null
02
 data
37