![](/img/trans.png)
[英]Synchronous Message send and receive using JMS template and Spring Boot
[英]JMS Template,How can i receive a message from one queue and send to another using JMS Template
public void sendSimpleMessage(String receiver, String sender) {
try {
Message message = jmsTemplate.receive(receiver);
System.out.println(message.getIntProperty("OlQuestionId"));
jmsTemplate.send(sender, new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
throw new JMSException("Exception"+message.getIntProperty("OlQuestionId"));
}
});
} catch (JmsException jmsException) {
System.out.println(jmsException);
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
如果在发送接收到的消息时发生异常,则消息将丢失,因为它已被接收。
对于Jms模板配置,我有:
@Bean
public JmsTemplate jmsTemplate() throws JMSException {
JmsTemplate template = new JmsTemplate();
template.setConnectionFactory(connectionFactory());
//template.setSessionAcknowledgeMode(Session.CLIENT_ACKNOWLEDGE);
template.setSessionTransacted(true);
template.setDeliveryMode(2);
return template;
能否请您告诉我这样的方式,以便我可以在单个会话中进行接收和发送。 注意:在删除sessionTransacted的同时,我也尝试过Session.ClientAcknowledge,如果有异常,我不确认消息,但仍然有消息丢失。
谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.