package org.xmx0632.deliciousfruit.demo.jms.simple; import java.util.HashMap; import java.util.Map; import javax.jms.Destination; import org.springframework.jms.core.JmsTemplate; import org.xmx0632.deliciousfruit.entity.Admin; /** * JMS用户变更消息生产者. * * 使用jmsTemplate将用户变更消息分别发送到queue与topic. * * @author calvin */ public class NotifyMessageProducer { private JmsTemplate jmsTemplate; private Destination notifyQueue; private Destination notifyTopic; public void sendQueue(final Admin user) { sendMessage(user, notifyQueue); } public void sendTopic(final Admin user) { sendMessage(user, notifyTopic); } /** * 使用jmsTemplate最简便的封装convertAndSend()发送Map类型的消息. */ private void sendMessage(Admin user, Destination destination) { Map map = new HashMap(); map.put("userName", user.getName()); map.put("email", user.getEmail()); jmsTemplate.convertAndSend(destination, map); } public void setJmsTemplate(JmsTemplate jmsTemplate) { this.jmsTemplate = jmsTemplate; } public void setNotifyQueue(Destination notifyQueue) { this.notifyQueue = notifyQueue; } public void setNotifyTopic(Destination nodifyTopic) { this.notifyTopic = nodifyTopic; } }