在我的 Web 应用程序中,我向 ScheduledExecutorService 提交了一个可运行的实例。在可运行实例中,我通过使用receiveNoWait 方法从IBM MQ接收消息,并且会话处于CLIENT_ACKNOWLEDGE模式。当我调用 ScheduledExecutorService 的 shutdownNow 方法时,接收方法有时会丢失一条消息而没有调用确认方法。对我有什么建议吗?
这是接收消息的代码。
尝试{
当ScheduledExecutorService关闭时,我只能看到第一个loginfo,没有任何异常。logger.info("获取消息");
消息 msg = consumer.receiveNoWait();
logger.info("获取消息成功");
返回味精;
} 捕捉(可投掷的 e){
logger.error("处理数据的时间出现异常", e);
返回空值;
}