任何人都可以解释 JMSTemplate.execute 方法的真正目的。它可以接受会话回调。 Spring文档没有说任何细节。
您可以使用它来获取原始 JMS Session 并使用此会话对象执行某些操作。例如,您可以使用它来获取 QueueBrowser 来查看队列的内容,而不实际消耗消息。
execute(new SessionCallback<QueueBrowser>() {
public QueueBrowser doInJms(Session session) throws JMSException {
return session.createBrowser(queue);
}
}, true);
Spring 文档非常具体地介绍了其 JMS 功能,并以 JmsTemplate.execute() 的简短描述结束。与 JmsTemplate.execute() 和 SessionCallback 的 javadoc 相结合,应该可以让您清楚地了解它的作用。