org.apache.ignite.internal.processors.cache.query.continuous

## Interface CacheContinuousQueryListener<K,V>

    public interface CacheContinuousQueryListener<K,V>

Continuous query listener.

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `acknowledgeBackupOnTimeout(GridKernalContext ctx)`
`void` `cleanupBackupQueue(Map<Integer,Long> updateCntrs)` Cleans backup queue.
`void` `flushBackupQueue(GridKernalContext ctx, AffinityTopologyVersion topVer)` Flushes backup queue.
`boolean` `isPrimaryOnly()`
`boolean` `keepBinary()`
`boolean` `notifyExisting()`
`boolean` `oldValueRequired()`
`void` `onEntryUpdated(org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryEvent<K,V> evt, boolean primary, boolean recordIgniteEvt, @Nullable GridDhtAtomicAbstractUpdateFuture fut)` Entry update callback.
`void` `onPartitionEvicted(int part)`
`void` `onRegister()` Listener registration callback.
`void` `onUnregister()` Listener unregistered callback.
`@Nullable CounterSkipContext` `skipUpdateCounter(GridCacheContext cctx, @Nullable CounterSkipContext skipCtx, int part, long cntr, AffinityTopologyVersion topVer, boolean primary)` For cache updates in shared cache group need notify others caches CQ listeners that generated counter should be skipped.
`void` `skipUpdateEvent(org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryEvent<K,V> evt, AffinityTopologyVersion topVer, boolean primary)`

### Method Detail

#### onEntryUpdated

    void onEntryUpdated(org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryEvent<K,V> evt,
                        boolean primary,
                        boolean recordIgniteEvt,
                        @Nullable
                        @Nullable GridDhtAtomicAbstractUpdateFuture fut)

Entry update callback.

Parameters:
  `evt` - Event
  `primary` - Primary flag.
  `recordIgniteEvt` - Whether to record event.
  `fut` - Dht atomic future.

#### onRegister

    void onRegister()

Listener registration callback. NOTE: This method should be called under the `CacheGroupContext.listenerLock` write lock held.

#### onUnregister

    void onUnregister()

Listener unregistered callback.

#### cleanupBackupQueue

    void cleanupBackupQueue(Map<Integer,Long> updateCntrs)

Cleans backup queue.

Parameters:
  `updateCntrs` - Update indexes map.

#### flushBackupQueue

    void flushBackupQueue(GridKernalContext ctx,
                          AffinityTopologyVersion topVer)

Flushes backup queue.

Parameters:
  `ctx` - Context.
  `topVer` - Topology version.

#### acknowledgeBackupOnTimeout

    void acknowledgeBackupOnTimeout(GridKernalContext ctx)

Parameters:
  `ctx` - Context.

#### skipUpdateEvent

    void skipUpdateEvent(org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryEvent<K,V> evt,
                         AffinityTopologyVersion topVer,
                         boolean primary)

Parameters:
  `evt` - Event
  `topVer` - Topology version.
  `primary` - Primary

#### skipUpdateCounter

    @Nullable
    @Nullable CounterSkipContext skipUpdateCounter(GridCacheContext cctx,
                                                             @Nullable
                                                             @Nullable CounterSkipContext skipCtx,
                                                             int part,
                                                             long cntr,
                                                             AffinityTopologyVersion topVer,
                                                             boolean primary)

For cache updates in shared cache group need notify others caches CQ listeners that generated counter should be skipped.

Parameters:
  `cctx` - Cache context.
  `skipCtx` - Context.
  `part` - Partition.
  `cntr` - Counter to skip.
  `topVer` - Topology version.
Returns:
  Context.

#### onPartitionEvicted

    void onPartitionEvicted(int part)

Parameters:
  `part` - Partition.

#### oldValueRequired

    boolean oldValueRequired()

Returns:
  Whether old value is required.

#### keepBinary

    boolean keepBinary()

Returns:
  Keep binary flag.

#### notifyExisting

    boolean notifyExisting()

Returns:
  Whether to notify on existing entries.

#### isPrimaryOnly

    boolean isPrimaryOnly()

Returns:
  `True` if this listener should be called on events on primary partitions only.

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.8.1
Release Date | : May 21 2020