Channel
Configuration Properties
Properties for the Channel are provided inside the configuration of a Topic.
Key | Required | Type | Default | Description |
---|---|---|---|---|
target-name | Y | String | Name of the target (a Sink or Store name). | |
custom-fields | Set<String> | Set of names of the Column Calculators. | ||
accumulate | boolean | false | If enabled, the messages will accumulate all of their tuples (from all the message chunks) and only publish them to the transaction manager when the message is sent. |
Example
dlc:
csv-topics:
topic1:
channels:
- target-name: sink1
custom-fields:
- calculator1
- calculator2
- calculator3
- calculator4
- calculator5
Java Configuration
ChannelDescription
java object can be used for configuration in Java. The Object is used in the configuration of a Topic.
You can use NamedEntityResolverService
to get Sink or Column Calculator by name.
Parameter | Required | Type | Default | Description |
---|---|---|---|---|
sinkDescription | Y | ISinkDescription | The Sink associated with this channel. | |
customFields | Set<IColumnCalculatorDescription> | Set of Column Calculators which belong to the channel. | ||
accumulate | boolean | false | If enabled, the messages will accumulate all of their tuples (from all the message chunks) and only publish them to the transaction manager when the message is sent. |
Example
@Bean
public CsvTopicDescription topic1(NamedEntityResolverService namedEntityResolver) {
return CsvTopicDescription.builder("topic1")
.channel(ChannelDescription.builder(namedEntityResolver.getDlcSinkDescription("sink1"))
.customFields(
Set.of(
new ColumnCalculatorDescription(
"Calculator1",
scope -> new ConstantCalculator<>("field1", 1)
),
new AnonymousColumnCalculatorDescription(
scope -> new ConstantCalculator<>("field1", scope.get("constant"))
)
)
)
.build())
.build();
}