我有两个应用程序,一个是发送请求,另一个是应答,我试图用 @JmsListener
.
此代码适用于:
public JmsTemplate jmsTemplate (ConnectionFactory connectionFactory){
JmsTemplate jmsTemplate = new JmsTemplate();
jmsTemplate.setConnectionFactory(connectionFactory);
Destination destination = new ActiveMQQueue("replydestination");
jmsTemplate.setDefaultDestination(destination);
return jmsTemplate;
}
@JmsListener(destination = "somedestination",
containerFactory = "defaultJmsListenerContainerFactory")
public void receiveMessage (Message message) throws JMSException {
jmsTemplate.send(new ActiveMQTextMessage());
}
但是当你改变到 @SendTo("replydestination")
它停止工作:
@JmsListener(destination = "somedestination",
containerFactory = "defaultJmsListenerContainerFactory")
@SendTo("replydestination")
public Message receiveMessage (Message message) throws JMSException {
return new ActiveMQTextMessage();
}
帮助我理解为什么,我可以不使用 JmsTemplate
.
2条答案
按热度按时间vyu0f0g11#
jms消息应该使用
javax.jms.Session
或者像这样的建筑工人:jaql4c8m2#
这也行。。。