JmsListener注解解析
JMS 消息分发送消息和接收消息两种功能,发送消息很简单,注入 Jms Template 到对应的Bean 中即可使用。接收消息则需要使用@JmsListener 注解。
先看一下发送消息的官方示例。
@Component
public class MyBean {
private final JmsTemplate jmsTemplate;
@Autowired
public MyBean(JmsTemplate jmsTemplate) {
this. jmsTemplate = jmsTemplate;
}
将 JmsTemplate 注入 MyBean 中,便可在该类的其他方法中使用 JmsTemplate 来发送消息了。
接收消息的官方代码示例如下。
@Component
public class MyBean
@JmsListener(destination = " someQueue")
public void processMessage(String content) {
// ...
}
}
当 JMS 的基础构件都完成初始化之后,可以使用@JmsListener 注释任何 Bean 来创建侦听器端点,就像上面的示例一样。
@JmsListener 注解是由 Spring 提供的,它位于 spring-jms 包下。 Spring 会对注解了@JmsListener 的 方 法 进 行 处 理 。 在 这 一 过 程 中 主 要 使 用 到 同 一 包 下 的
JmsListenerAnnotation-BeanPostProcessor 类。该类中相关解析代码如下。
@Override
public object postProcessAfterInitialization(0bje