TopicSender.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package top.ibase4j.core.support.mq;
  2. import java.io.Serializable;
  3. import javax.jms.JMSException;
  4. import javax.jms.Message;
  5. import javax.jms.Session;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.beans.factory.annotation.Qualifier;
  8. import org.springframework.jms.core.JmsTemplate;
  9. import org.springframework.jms.core.MessageCreator;
  10. /**
  11. * @author ShenHuaJie
  12. * @version 2016年5月20日 下午3:19:19
  13. */
  14. public class TopicSender {
  15. @Autowired
  16. @Qualifier("jmsTopicTemplate")
  17. private JmsTemplate jmsTemplate;
  18. /**
  19. * 发送一条消息到指定的订阅者(目标)
  20. *
  21. * @param topicName 订阅者名称
  22. * @param message 消息内容(字符串)
  23. */
  24. public void send(String topicName, final String message) {
  25. jmsTemplate.send(topicName, new MessageCreator() {
  26. public Message createMessage(Session session) throws JMSException {
  27. return session.createTextMessage(message);
  28. }
  29. });
  30. }
  31. /**
  32. * 发送一条消息到指定的订阅者(目标)
  33. *
  34. * @param topicName 订阅者名称
  35. * @param message 消息内容(对象)
  36. */
  37. public void send(String topicName, final Serializable message) {
  38. jmsTemplate.send(topicName, new MessageCreator() {
  39. public Message createMessage(Session session) throws JMSException {
  40. return session.createObjectMessage(message);
  41. }
  42. });
  43. }
  44. }