public static interface UpdateStream.Builder
update stream
to use for updating a
specific topic. A builder is created using
TopicUpdate.newUpdateStreamBuilder()
.
The type of the topic being updated must match the type derived from the
valueClass
parameter.
Modifier and Type | Method and Description |
---|---|
<T> UpdateStream<T> |
build(String path,
Class<T> valueClass)
Creates an
UpdateStream to use for updating a
specific topic. |
<T> RecoverableUpdateStream<T> |
build(String path,
Class<T> valueClass,
RetryStrategy strategy)
Creates a
RecoverableUpdateStream to use for updating a
specific topic. |
UpdateStream.Builder |
constraint(UpdateConstraint updateConstraint)
Specifies an update constraint for this update stream.
|
UpdateStream.Builder |
reset()
Resets the builder to its default parameters.
|
UpdateStream.Builder |
specification(TopicSpecification topicSpecification)
Specifies a TopicSpecification for this update stream.
|
UpdateStream.Builder |
suppressDeltas(boolean suppressDeltas)
Specifies if delta compression should be disabled for this update stream.
|
UpdateStream.Builder specification(TopicSpecification topicSpecification)
If a topic does not exist at the path
one will be created using
the topicSpecification
when the update stream is validated. If a
topic does exist, its specification must match topicSpecification
,
otherwise the operation will fail with
IncompatibleTopicException
.
Specification is null by default. Calling this method with a null parameter removes the specification for this builder.
topicSpecification
- the required specification of the topicUpdateStream.Builder constraint(UpdateConstraint updateConstraint)
Constraints can be created using Diffusion.updateConstraints()
}.
Constraints can be applied to the setting of a value and creation of an update stream. Constraints describe a condition that must be satisfied for the operation to succeed. The constraints are evaluated on the server. The available constraints are: an active session lock, the absence of a topic, the current value of the topic being updated, and a part of the current value of the topic being updated.
Constraint is Unconstrained by default. Calling this method with a null parameter resets the constraint for this builder.
updateConstraint
- the constraint that must be satisfied for the update
stream to be validatedUpdateStream.Builder suppressDeltas(boolean suppressDeltas)
This is false
by default, i.e. delta compression is enabled.
Disabling delta compression can reduce the CPU workload at the client at the cost of increased bandwidth and possible additional CPU load on the server (if the topic publishes deltas). This may be particularly useful for topics that have PUBLISH_VALUES_ONLY set.
suppressDeltas
- the boolean value to set the suppression of delta compression.UpdateStream.Builder reset()
<T> UpdateStream<T> build(String path, Class<T> valueClass)
UpdateStream
to use for updating a
specific topic.
The type of the topic being updated must match the type derived from the
valueClass
parameter.
Update streams send a sequence of updates for a specific topic. The
updates may be delivered to the server as binary deltas. They do not
provide exclusive access to the topic. If exclusive access is required
update streams should be used with
session locks
as constraints.
Streams are validated lazily when the first UpdateStream.set(T)
or
UpdateStream.validate()
operation is completed. Once validated a
stream can be invalidated, after which it rejects future
updates.
T
- type of the values expected by the update streampath
- the path of the topicvalueClass
- the type of the values expected by the update stream<T> RecoverableUpdateStream<T> build(String path, Class<T> valueClass, RetryStrategy strategy)
RecoverableUpdateStream
to use for updating a
specific topic.
Takes a retry strategy that governs recovery attempts following a
recoverable exception.
In other respects this method works in the same way as
build(String, Class)
.
T
- type of the values expected by the update streampath
- the path of the topicvalueClass
- the type of the values expected by the update streamstrategy
- the retry strategy to applyCopyright © 2024 DiffusionData Ltd. All Rights Reserved.