如何使用 Spring JMS 在 SQS 上设置 AUTO_ACKNOWLEDGE?
How to set AUTO_ACKNOWLEDGE on SQS with Spring JMS?
我正在尝试使用 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
我使用的是 amazon-sqs-java-messaging-lib 的 1.0.0 版。将版本更改为 1.0.6 后,我可以将参数 SessionAcknowledgeMode 设置为 AUTO_ACKNOWLEDGE.
我正在尝试使用 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
我使用的是 amazon-sqs-java-messaging-lib 的 1.0.0 版。将版本更改为 1.0.6 后,我可以将参数 SessionAcknowledgeMode 设置为 AUTO_ACKNOWLEDGE.