Java Spring集成的工作示例&x2B;amazonsqs队列

Java Spring集成的工作示例&x2B;amazonsqs队列,java,amazon-web-services,spring-integration,amazon-sqs,spring-integration-aws,Java,Amazon Web Services,Spring Integration,Amazon Sqs,Spring Integration Aws,我正在寻找使用Spring Integration+Amazon SQS服务接收消息并将消息发送到队列的Spring应用程序的工作示例。这是一个如何使用XML配置出站通道适配器的示例: <int-aws:sqs-outbound-channel-adapter sqs="sqs" auto-startup="false" channel=

我正在寻找使用Spring Integration+Amazon SQS服务接收消息并将消息发送到队列的Spring应用程序的工作示例。

这是一个如何使用XML配置出站通道适配器的示例:

 <int-aws:sqs-outbound-channel-adapter sqs="sqs"
                                      auto-startup="false"
                                      channel="errorChannel"
                                      phase="100"
                                      id="sqsOutboundChannelAdapter"
                                      queue="foo"
                                      delay-expression="'200'"
                                      message-deduplication-id="foo"
                                      message-group-id-expression="'bar'"
                                      send-timeout="202"
                                      sync="false"
                                      error-message-strategy="errorMessageStrategy"
                                      failure-channel="failureChannel"
                                      success-channel="successChannel"
                                      message-converter="messageConverter"
                                      async-handler="asyncHandler"
                                      resource-id-resolver="resourceIdResolver"/>
下面是他们的Java变体:

    @Bean
    @ServiceActivator(inputChannel = "sqsSendChannelWithAutoCreate")
    public MessageHandler sqsMessageHandlerWithAutoQueueCreate() {
        DynamicQueueUrlDestinationResolver destinationResolver = new DynamicQueueUrlDestinationResolver(amazonSqs(), null);
        destinationResolver.setAutoCreate(true);
        return new SqsMessageHandler(amazonSqs(), destinationResolver);
    }


    @Bean
    public MessageProducer sqsMessageDrivenChannelAdapter() {
        SqsMessageDrivenChannelAdapter adapter = new SqsMessageDrivenChannelAdapter(amazonSqs(), "testQueue");
        adapter.setOutputChannel(inputChannel());
        return adapter;
    }

您可以在项目的测试中找到更多示例:

他们的github页面上的自述文件是一个非常好的起点()。你需要帮助的地方有什么特别缺少的吗?你说的“双向信息交换”是什么意思?请求/答复?入站和出站网关?然后它就不存在了。没有这样的实现。我想看看如何配置Spring集成以使用sqs队列发送和接收消息。我在使用spring集成aws github wiki中的代码片段时遇到问题。我不需要定义默认轮询器吗?如果我不添加这个bean,我可能会出现一个错误“没有为基于注释的端点定义轮询器,…”PollerMetadata和新PeriodicTrigger(200)对此队列的配置是否良好?
    @Bean
    @ServiceActivator(inputChannel = "sqsSendChannelWithAutoCreate")
    public MessageHandler sqsMessageHandlerWithAutoQueueCreate() {
        DynamicQueueUrlDestinationResolver destinationResolver = new DynamicQueueUrlDestinationResolver(amazonSqs(), null);
        destinationResolver.setAutoCreate(true);
        return new SqsMessageHandler(amazonSqs(), destinationResolver);
    }


    @Bean
    public MessageProducer sqsMessageDrivenChannelAdapter() {
        SqsMessageDrivenChannelAdapter adapter = new SqsMessageDrivenChannelAdapter(amazonSqs(), "testQueue");
        adapter.setOutputChannel(inputChannel());
        return adapter;
    }