package org.apache.activemq.book.ch8.jms.service; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.Session; import javax.jms.TextMessage; import org.apache.activemq.book.ch8.jms.domain.JmsMessage; import org.apache.activemq.command.ActiveMQQueue; import org.springframework.jms.core.JmsTemplate; import org.springframework.jms.core.MessageCreator; /** * @author bsnyder * */ public class JmsMessageSenderService { private JmsTemplate jmsTemplate; public void sendMessage(final JmsMessage bean) throws JMSException { if (bean.isPersistent()) { jmsTemplate.setDeliveryPersistent(bean.isPersistent()); } if (0 != bean.getTimeToLive()) { jmsTemplate.setTimeToLive(bean.getTimeToLive()); } jmsTemplate.send(new MessageCreator() { public Message createMessage(Session session) throws JMSException { TextMessage message = session.createTextMessage(bean .getMessagePayload()); if (bean.getReplyTo() != null && !bean.getReplyTo().equals("")) { ActiveMQQueue replyToQueue = new ActiveMQQueue(bean.getReplyTo()); message.setJMSReplyTo(replyToQueue); } return message; } }); } public void setJmsTemplate(JmsTemplate jmsTemplate) { this.jmsTemplate = jmsTemplate; } }