它用于消息生产和同步消息接收。由于在发送或同步接收消息时处理资源的创建和释放,因此简化了JMS的使用。
阅读Spring官方文档(http://docs.spring.io/spring/docs/current/spring-framework-reference/html/jms.html),我发现:
“只使用JmsTemplate的代码仅需要实现回调接口,为它们提供一个明确定义的高级契约。MessageCreator回调接口根据JmsTemplate中调用代码提供的Session创建消息。”
对我来说,这并不清楚。这些回调到底是什么?
一开始,我以为回调是由JmsTemplate提供的一个方法,但是看到这里的解释后,它似乎更像是我需要实现的接口。它是如何工作的?
我还找到了这个例子:
通过JMS发送POJO(使用JmsTemplate):
public class JmsOrderManager implements OrderManager {
@Autowired JmsTemplate jmsTemplate;
@Autowired Destination orderQueue;
public void placeOrder(Order order) {
String stringMessage = "New order " + order.getNumber();
jmsTemplate.convertAndSend("messageQueue", stringMessage );
// use destination resolver and message converter
jmsTemplate.convertAndSend(orderQueue, order); // use message converter
jmsTemplate.convertAndSend(order); // use converter and default destination
}
}
我以为convertAndSend()
方法是JmsTemplate的回调函数,但这个断言可能不正确。
你能否解释一下什么是JmsTemplate回调函数?