как я могу установить слушателя на карту, которая имеет сложный объект для ключа, и я хочу слушать только изменения, которые происходят с записями со специфицированным c значением параметра ключа.
например, у меня есть код, подобный этому:
private class MyListener implements EntryAddedListener<>,
EntryUpdatedListener<KeyObject, Value> {
@Override
public void entryAdded(EntryEvent<KeyObject, Value> event) {
processCallbaclk(event);
}
@Override
public void entryUpdated(EntryEvent<KeyObject, Value> event) {
processCallback(event);
}
}
KeyObject{
Integer id,
String language
}
MyListener listener = new MyListener();
Predicate<KeyObject, Value> filter = equal(language, "EN");
imap.addEntryListener(listener, filter, true)
, но когда запись с ключом, содержащим язык "EN", обновлена, мои функции обратного вызова не вызываются. Поэтому я предполагаю, что мой предикат неверен.