hi All,
We use the exactly same configuration with same CacheEntryListener and
CacheEntryEventFilter in both ContinuousQuery and
MutableCacheEntryListenerConfiguration
But the ContinuousQuery seem never continues trigger any events while the the
MutableCacheEntryListenerConfiguration can continues trigger things.
Also If in the ContinuousQuery no interface to set include old value disable.
This can not work even after the cache update
final ContinuousQuery<String, AccountEntry> query = new ContinuousQuery<>();
query.setLocal(true);
query.setPageSize(1);
query.setTimeInterval(2_000);
final ScanQuery<String, AccountEntry> scanQuery = new ScanQuery<>(new
ScanDataFilter());
scanQuery.setLocal(true);
query.setInitialQuery(scanQuery);
query.setLocalListener(new DataCreateUpdateListener());
query.setRemoteFilterFactory(new CacheEntryEventFilterFactory());
try (QueryCursor<Cache.Entry<String, AccountEntry>> cur =
accountCache.query(query)) {
for (Cache.Entry<String, AccountEntry> row : cur) {
processUpdate(row.getValue());
}
}
This can not work after cache updates trigger
MutableCacheEntryListenerConfiguration<String, AccountEntry>
mutableCacheEntryListenerConfiguration = new
MutableCacheEntryListenerConfiguration(
new Factory<CacheEntryListener<String, AccountEntry>>() {
private static final long serialVersionUID = 5358838258503369206L;
@Override
public CacheEntryListener<String, AccountEntry> create() {
return new DataCreateUpdateListener();
}
},
new CacheEntryEventFilterFactory(),
false,
true
);
ignite.<String,
AccountEntry>cache(AccountEntry.IG_CACHE_NAME).registerCacheEntryListener(mutableCacheEntryListenerConfiguration);
did I configuration something wrong? thanks for your advice!
Regards
Aaron
[email protected]