首页 > 代码库 > Spring整合JMS(一)-基础篇

Spring整合JMS(一)-基础篇

  

  RMI使用的是同步通信,JMS使用的是异步通信。

  JMS中有两个主要的概念:消息代理(message broker)和目的地(destination)。

  

  

  同步通信的缺点,这也是使用JMS所能够解决的:

      

  运行apache-activemq-5.10.0-bin[1]\apache-activemq-5.10.0\bin\win32下面的activemq.bat启动JMS服务。

  为了消除重复冗余的JMS代码,如建立连接,异常处理等,我们应该使用JmsTemplate来进行消息的发送与接收。

  和JDBCTemplate类似,JmsTemplate将捕获检查时异常,进行封装并以非检查时异常的形式进行抛出。

  

   发送消息的代码:

    

@Component("producerServiceImpl")public class ProducerServiceImpl implements ProducerService {            private JmsTemplate jmsTemplate;public void sendMessage(Destination destination, final String message) {              jmsTemplate.send(destination, new MessageCreator() {public Message createMessage(Session session) throws JMSException {                    return session.createTextMessage(message);                }            });        }             public JmsTemplate getJmsTemplate() {                return jmsTemplate;            }             @Resource            public void setJmsTemplate(JmsTemplate jmsTemplate) {                this.jmsTemplate = jmsTemplate;            }}

 

Spring整合JMS(一)-基础篇