Expose leaseTableName for KCL

This commit is contained in:
Artem Bilan
2024-09-24 14:06:27 -04:00
parent 5f2e381046
commit 4dd3089bca
3 changed files with 19 additions and 0 deletions

View File

@@ -289,6 +289,11 @@ Works only in `listenerMode.batch`.
+
Default: `false`
leaseTableName::
The KCL table name for leases.
+
Default: consumer group
Starting with version `4.0.4` (basically since `spring-integration-aws-3.0.8`), the `KclMessageDrivenChannelAdapter` can be customized programmatically for the `ConfigsBuilder` parts.
For example, to set a custom value for the `LeaseManagementConfig.maxLeasesForWorker` property, the `ConsumerEndpointCustomizer<KclMessageDrivenChannelAdapter>` bean has to be provided:

View File

@@ -414,6 +414,7 @@ public class KinesisMessageChannelBinder extends
adapter.setFanOut(kinesisConsumerProperties.isFanOut());
adapter.setMetricsLevel(kinesisConsumerProperties.getMetricsLevel());
adapter.setEmptyRecordList(kinesisConsumerProperties.isEmptyRecordList());
adapter.setLeaseTableName(kinesisConsumerProperties.getLeaseTableName());
if (properties.getExtension().isEmbedHeaders()) {
adapter.setEmbeddedHeadersMapper(this.embeddedHeadersMapper);
}

View File

@@ -72,6 +72,11 @@ public class KinesisConsumerProperties {
*/
private boolean emptyRecordList = false;
/**
* The KCL table name for leases.
*/
private String leaseTableName;
private boolean embedHeaders;
/**
@@ -191,4 +196,12 @@ public class KinesisConsumerProperties {
this.emptyRecordList = emptyRecordList;
}
public String getLeaseTableName() {
return this.leaseTableName;
}
public void setLeaseTableName(String leaseTableName) {
this.leaseTableName = leaseTableName;
}
}