如何覆盖SqsConfiguration以返回SimpleMessageListenerContainer的自定义实现

时间:2016-10-17 14:52:38

标签: amazon-web-services spring-boot spring-cloud amazon-sqs spring-cloud-aws

在我们的Spring启动应用程序中,我们使用Spring Cloud AWS:

  • 弹簧云起动-AWS
  • 弹簧云AWS-自动配置
  • 弹簧云AWS-消息

从SQS队列接收消息。但是,即使队列不可访问,我们也需要能够启动应用程序(即" (服务:AmazonSQS;状态代码:403;错误代码:AccessDenied ")。为此,我们需要能够覆盖org.springframework.cloud.aws.messaging.config.annotation.SqsConfiguration类,并提供我们自己的org.springframework.cloud.aws.messaging.listener.SimpleMessageListenerContainer实现。

执行此操作的正确方法是什么,而不是在现有代码中破坏自动装配?

1 个答案:

答案 0 :(得分:0)

您必须为自定义@Bean声明SimpleMessageListenerContainerFactory,但仍然保留@EnableSqlSqsConfiguration@Autowired与您的自定义相关联。