【问题标题】:How to set AUTO_ACKNOWLEDGE on SQS with Spring JMS?如何使用 Spring JMS 在 SQS 上设置 AUTO_ACKNOWLEDGE?
【发布时间】:2019-07-17 21:06:25
【问题描述】:

我正在尝试使用 JMS 和 Spring 设置 SQS,但是当我尝试使用 AUTO_ACKNOWLEDGE 设置会话确认模式时出现错误。我该怎么办?

当应用程序收到消息时,我需要删除我的消息。

 @Bean
    public DefaultJmsListenerContainerFactory jmsListenerContainerFactory() {
        buildConnectionFactory();
        DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
        factory.setConnectionFactory(this.connectionFactory);
        factory.setDestinationResolver(new DynamicDestinationResolver());
        factory.setConcurrency("3-10");
        factory.setSessionAcknowledgeMode(Session.AUTO_ACKNOWLEDGE);
        return factory;
    }

我希望在侦听器收到消息时从我的队列中确认消息。但是当我尝试使用 AUTO_ACKNOWLEDGE 进行配置时,我收到了实际错误: 目标的 JMS 消息侦听器调用程序设置失败...试图恢复。 Cause: com.amazonaws.services.sqs.AmazonSQS.deleteMessage(Lcom/amazonaws/services/sqs/model/DeleteMessageRequest;)V

【问题讨论】:

    标签: java spring spring-jms


    【解决方案1】:

    我使用的是 1.0.0 版的 amazon-sqs-java-messaging-lib。将版本更改为 1.0.6 后,我可以将参数 SessionAcknowledgeMode 设置为 AUTO_ACKNOWLEDGE。

    【讨论】:

      猜你喜欢
      • 2012-07-25
      • 2014-11-12
      • 1970-01-01
      • 1970-01-01
      • 2013-11-04
      • 1970-01-01
      • 2021-05-02
      • 2022-01-15
      • 2012-08-26
      相关资源
      最近更新 更多