我正在尝试通过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
答案 0 :(得分:0)
我正在使用1.0.0版的Amazon-sqs-java-messaging-lib。将版本更改为1.0.6后,我可以将参数SessionAcknowledgeMode设置为AUTO_ACKNOWLEDGE。