ID | IEP-50 |
Author | |
Sponsor | |
Created |
|
Status | COMPLETED |
Thin clients should be able to perform Continuous Queries.
Continuous query involves the following:
Remote Filter is a BinaryObject
:
PlatformContext.createContinuousQueryFilter
(see ClientCacheScanQueryRequest
)ContinuousQueryWithTransformer
is out of scope: it is a separate class, and should have a separate client operation.
Initial Query functionality is excluded intentionally, it does not bring value due to lack of guarantees - see dev list threads linked below.
Name | Code |
---|---|
OP_QUERY_CONTINUOUS | 2006 |
OP_QUERY_CONTINUOUS_EVENT_NOTIFICATION | 2007 |
OP_QUERY_CONTINUOUS starts the query.
Existing OP_RESOURCE_CLOSE stops the query using the id provided in the OP_QUERY_CONTINUOUS response message.
Request | |
---|---|
int | cacheId |
byte | flags: standard cache flags, see ClientCacheRequest. Only KEEP_BINARY is applicable to Continuous Query. When KEEP_BINARY is set, the filter should receive key/val in binary form. |
int | bufferSize (see AbstractContinuousQuery, default 1) |
long | timeInterval (see AbstractContinuousQuery, default 0) |
bool | includeExpired (see AbstractContinuousQuery, default false) |
BinaryObject | filter |
byte | filterPlatform (see ClientCacheScanQueryRequest, 1= Java, 2 = .NET) (when filter is not null) |
Response | |
---|---|
long | continuousQueryId - used to stop the query with OP_RESOURCE_CLOSE |
Note: AbstractContinuousQuery.autoUnsubscribe should be always true for thin client continuous queries.
As a result of OP_QUERY_CONTINUOUS, client should expect OP_QUERY_CONTINUOUS_EVENT_NOTIFICATION messages from the server:
int | event count | ||||||||
n * CacheEntryEvent |
|