Skip to content

Commit c9d4114

Browse files
committed
feat: KinesisMessageDrivenChannelAdapterParser
1 parent 21c5549 commit c9d4114

File tree

2 files changed

+42
-1
lines changed

2 files changed

+42
-1
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package org.springframework.integration.aws.config.xml;
2+
3+
import org.springframework.beans.factory.support.AbstractBeanDefinition;
4+
import org.springframework.beans.factory.xml.ParserContext;
5+
import org.springframework.integration.aws.inbound.kinesis.KinesisMessageDrivenChannelAdapter;
6+
import org.springframework.integration.config.xml.AbstractChannelAdapterParser;
7+
import org.w3c.dom.Element;
8+
9+
public class KinesisMessageDrivenChannelAdapterParser extends AbstractChannelAdapterParser {
10+
11+
@Override
12+
protected AbstractBeanDefinition doParse(Element element, ParserContext parserContext, String channelName) {
13+
return XmlBeanDefinitionBuilder.newInstance(element, parserContext, KinesisMessageDrivenChannelAdapter.class)
14+
.addConstructorArgReference("kinesis-client")
15+
.addConstructorArgValue("streams")
16+
.setPropertyIfAttributeDefined("error-channel", "errorChannelName")
17+
.setPropertyIfAttributeDefined("consumer-group")
18+
.setPropertyIfAttributeDefined("bind-source-record")
19+
.setPropertyIfAttributeDefined("checkpoint-mode")
20+
.setPropertyIfAttributeDefined("checkpoints-interval")
21+
.setPropertyIfAttributeDefined("lock-renewal-timeout")
22+
.setPropertyIfAttributeDefined("concurrency")
23+
.setPropertyIfAttributeDefined("consumer-backoff")
24+
.setPropertyIfAttributeDefined("idle-between-polls")
25+
.setPropertyIfAttributeDefined("listener-mode")
26+
.setPropertyIfAttributeDefined("records-limit")
27+
.setPropertyIfAttributeDefined("start-timeout")
28+
.setPropertyReferenceIfAttributeDefined("consumer-executor")
29+
.setPropertyReferenceIfAttributeDefined("dispatcher-executor")
30+
.setPropertyReferenceIfAttributeDefined("checkpoint-store")
31+
.setPropertyReferenceIfAttributeDefined("lock-registry")
32+
.setPropertyReferenceIfAttributeDefined("converter")
33+
.setPropertyReferenceIfAttributeDefined("embedded-headers-mapper")
34+
.setPropertyReferenceIfAttributeDefined("shard-list-filter")
35+
.setPropertyReferenceIfAttributeDefined("stream-initial-sequence")
36+
.getBeanDefinitionBuilder()
37+
.addPropertyValue("outputChannelName", channelName)
38+
.getBeanDefinition();
39+
}
40+
}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
kcl-message-driven-channel-adapter: org.springframework.integration.aws.config.xml.KclMessageDrivenChannelAdapterParser
1+
kcl-message-driven-channel-adapter: org.springframework.integration.aws.config.xml.KclMessageDrivenChannelAdapterParser
2+
kinesis-message-driven-channel-adapter: org.springframework.integration.aws.config.xml.KinesisMessageDrivenChannelAdapterParser

0 commit comments

Comments
 (0)