Class ContinuousQueryOptions.Builder
- Enclosing class:
- ContinuousQueryOptions
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild()
Builds the options.columnNames
(@Nullable Set<String> columnNames) Sets the column names to include in the result.enableEmptyBatches
(boolean enableEmptyBatches) Sets the flag that indicates whether empty batches are enabled.eventTypes
(EnumSet<TableRowEventType> eventTypes) Sets the included event types.pageSize
(int pageSize) Sets the per-partition page size.pollIntervalMs
(int pollIntervalMs) Sets the poll interval in milliseconds.watermark
(@Nullable ContinuousQueryWatermark watermark) Sets the starting watermark.
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
pageSize
Sets the per-partition page size.Continuous Query polls every partition in a loop. This parameter controls the number of entries that will be requested from a single partition in one network call. Therefore, the maximum number of entries that the query may hold in memory at any given time is
pageSize * partitions
.- Parameters:
pageSize
- Page size.- Returns:
- This builder instance.
-
pollIntervalMs
Sets the poll interval in milliseconds.- Parameters:
pollIntervalMs
- Poll interval in milliseconds.- Returns:
- This builder instance.
-
eventTypes
Sets the included event types.By default, all event types are included.
- Parameters:
eventTypes
- Included event types.- Returns:
- This builder instance.
-
columnNames
Sets the column names to include in the result.By default, all columns are included. Excluding columns will reduce the amount of data transferred over the network.
Excluded columns are still present in the resulting entries, but are set to null.
- Parameters:
columnNames
- Included column names. When null, all columns are included.- Returns:
- This builder instance.
-
watermark
public ContinuousQueryOptions.Builder watermark(@Nullable @Nullable ContinuousQueryWatermark watermark) Sets the starting watermark. When null, the query will start from the current time.Watermark can be obtained with
ContinuousQueryWatermark.ofInstant(Instant)
, or from an event withTableRowEvent.watermark()
. The latter allows resuming a query from a specific event (excluding said event, providing exactly-once semantics).- Parameters:
watermark
- Watermark.- Returns:
- This builder instance.
-
enableEmptyBatches
Sets the flag that indicates whether empty batches are enabled.When enabled, empty batches will be sent to the subscriber when there are no new events. This is useful for watermark updates (see
TableRowEventBatch.watermark()
).- Parameters:
enableEmptyBatches
- True if empty batches are enabled, false otherwise.- Returns:
- This builder instance.
-
build
Builds the options.- Returns:
- Continuous query options.
-