【问题标题】:AWS kinesis consumer with Java and Spring使用 Java 和 Spring 的 AWS kinesis 消费者
【发布时间】:2018-06-20 22:00:47
【问题描述】:

我想在 Spring Boot 应用程序中编写 AWS kinesis 流使用者。而且我不确定 Spring 是否具有对 kinesis 的本机支持,或者我必须使用 kinesis client library

根据this blog post org.springframework.integration:spring-integration-aws 有它(RELEASE 在 maven repo 中可用)。但是,此示例 on GitHub 使用 org.springframework.cloud:spring-cloud-starter-stream-kinesis,它仅在 1.0.0.BUILD-SNAPSHOT 下的 Spring 快照存储库中可用。

编辑:问题是,我在哪里可以找到KinesisMessageDrivenChannelAdapter 的示例?

【问题讨论】:

    标签: spring amazon-web-services spring-cloud amazon-kinesis spring-cloud-stream


    【解决方案1】:

    虽然不清楚是什么问题。

    如果您正在寻找样品,确实没有样品。没错,我们在 Spring 中的解决方案绝对是 Spring Integration 的 Channel Adapter。 KinesisMessageDrivenChannelAdapter 正是 AWS Kinesis 的消费者实现:

    @SpringBootApplication
    public static class MyConfiguration {
    
        @Bean
        public KinesisMessageDrivenChannelAdapter kinesisInboundChannelChannel(AmazonKinesis amazonKinesis) {
            KinesisMessageDrivenChannelAdapter adapter =
                new KinesisMessageDrivenChannelAdapter(amazonKinesis, "MY_STREAM");
            adapter.setOutputChannel(kinesisReceiveChannel());
            return adapter;
        }
    }
    

    您在 GitHub 上找到的示例适用于 Spring Cloud Stream,并且基于确实仍在开发中的 Kinesis Binder。

    【讨论】:

    • 感谢您的回复!那么其他项目(Kinesis binder)是否打算在未来取代 Channel Adapter?
    • 不,它完全基于那个 Channel Adapter,只是为 Spring Cloud Stream 提供 Binder 基础设施:cloud.spring.io/spring-cloud-stream
    • 好的,我把问题改成了 KinesisMessageDrivenChannelAdapter 的例子
    • 好的。但仍然不确定您还想从我们这边听到什么。您可以查看项目中的测试:github.com/spring-projects/spring-integration-aws/blob/master/…
    • 我将查看测试并尝试基于它们构建一个示例。如果我有更具体的问题,我会发布它们。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2015-10-23
    • 2018-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多