У меня есть следующий код:NullPointerException во время удаления элемента из очереди hazelcast
hazelcastInstance.<Void>getQueue(UserStorageService.LOGOUT_ALL_USERS_QUEUE_NAME).addItemListener(new ItemListener<Void>() {
@Override
public void itemAdded(ItemEvent<Void> item) {
//process event logic
hazelcastInstance.<Void>getQueue(UserStorageService.LOGOUT_ALL_USERS_QUEUE_NAME).remove(item.getItem());
}
@Override
public void itemRemoved(ItemEvent<Void> item) {
}
}, false);
Я просто послать сигнал, и здесь я обрабатывать этот сигнал.
Я немного уверен, должен ли я удалить событие после его обработки? Я делаю это, чтобы избежать переполнения очереди, но я не уверен, имеет ли это смысл или нет.
Я задаю этот вопрос, потому что в журналах я вижу следующее StackTrace:
java.lang.NullPointerException: Object is null
at com.hazelcast.util.Preconditions.checkNotNull(Preconditions.java:59)
at com.hazelcast.collection.impl.queue.QueueProxySupport.checkObjectNotNull(QueueProxySupport.java:166)
at com.hazelcast.collection.impl.queue.QueueProxySupport.removeInternal(QueueProxySupport.java:128)
at com.hazelcast.collection.impl.queue.QueueProxyImpl.remove(QueueProxyImpl.java:96)