Я не совсем понимаю ваш код. Прежде всего, следующий фрагмент кода определяет, содержит ли кэш txInfoCache
запись для данного ключа txType
, и если он не содержит записи, связанной с ключом, он связывает указанный ключ с заданным значением.
if(txInfoCache.get(txType) == null) {
txInfoCache.put(txType, new TreeMap<Long, InfoRecord>());
}
Его можно изменить на txInfoCache.putIfAbsent(txType, new TreeMap<Long, InfoRecord>())
.
Что касается второй части вашего вопроса, я только что проверил Apache Ignite 2.4, и он работает хорошо. Метод Ignite.queue(String name, int cap, @Nullable CollectionConfiguration cfg)
возвращает null
, если именованная очередь не существует и CollectionConfiguration
равно null
. Убедитесь, что эта очередь не была создана ранее.