`

spring JMS

    博客分类:
  • JMS
阅读更多
下文是Spring-JMS的一些基础代码,分为三个部分:
1.配置文件:定义MQ连接池、JmsTemplate、生产者和消费者
2.消息生产者:IQueueSender接口和QueueSender实现类
3.消息消费者:QueueConsumer

主要说明:
1.发送消息由QueueSender完成,它依赖JmsTemplate
2.QueueConsumer作为消费者,它采用异步的方式消费消息。消费者可批量定义,由<jms:listener-container/>定义。另外由于是异步消费消息,所以要注意并发问题
3.配置文件: 本文中的配置文件包含生产者和消费者两部分,在生产环境中,应单独定义生产者和消费者。否则,生产端也好消费消息。

生成者接口:
public interface IQueueSender {
    public void sendMsg(final String message);
}
生产者实现类:
public class QueueSender implements IQueueSender{
    private JmsTemplate jmsTemplate;
    private String queueName;
   
    public void setJmsTemplate(JmsTemplate jmsTemplate) {
       this.jmsTemplate = jmsTemplate;
    }
   
    /* (non-Javadoc)
     * @see com.qsboss.webdemo.jms.IQueueSender#sendMsg(java.lang.String)
     */
    @Override
    public void sendMsg(String message) {
       jmsTemplate.convertAndSend(queueName, message);  // qsboss.test 消息队列名称
    }

    /**
     * @param queueName the queueName to set
     */
    public void setQueueName(String queueName) {
       this.queueName = queueName;
    }
}

消费者:
public class QueueConsumer implements MessageListener {


    /* (non-Javadoc)
     * @see javax.jms.MessageListener#onMessage(javax.jms.Message)
     */
    @Override
    public void onMessage(javax.jms.Message message) {

       // TODO Auto-generated method stub
       if (message instanceof TextMessage) {
           final TextMessage textMsg = (TextMessage) message;
           try {
              System.out.println(this.getClass() + ":" + textMsg.getText());
           } catch (JMSException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
           }
        }
      
    }

}



配置文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jms="http://www.springframework.org/schema/jms"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans    
        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.1.xsd
       http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.1.xsd">

   

    <!-- JMS 连接池配置 -->
    <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
        <property name="brokerURL">
            <value>${jms.url}</value>
        </property>
    </bean>

    <!-- JMS 模版 -->
    <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
       <constructor-arg ref="connectionFactory" />
    </bean>

    <!-- JMS 生产者 仅需要在生产端配置 -->
    <bean id="jmsProducer" class="com.qsboss.webdemo.jms.QueueSender">
       <property name="jmsTemplate" ref="jmsTemplate"/>
       <!-- 定义队列名称  -->
       <property name="queueName" value="${jms.destination}"/>
    </bean>
   
     <!-- JMS 消费者 仅需要在消费端配置-->
    <bean id="jmsConsumer" class="com.gnet.qsboss.billing.mq.QueueConsumer" />

    <jms:listener-container concurrency="1" >
    <jms:listener id="QueueListener" destination="${jms.destination}"
           ref="jmsConsumer" />
    </jms:listener-container>
</beans>
分享到:
评论

相关推荐

    SpringJMS示例代码

    SpringJMS是Spring框架的一部分,它提供了一种与Java消息服务(JMS)进行交互的简单方式。在本文中,我们将深入探讨SpringJMS的基本概念、如何与ActiveMQ集成,以及如何通过示例代码理解其工作原理。 1. **Spring...

    SpringJMS整合ActiveMQ

    详细内容: SpringJMS整合ActiveMQ.doc 详细说明文档 apache-activemq-5.8.0-bin.zip ActiveMQ安装包 JMSTest.rar MyEclipse8.5下web工程

    Spring JMS

    Spring JMS Spring JMS 是一个基于 Java 消息服务(JMS)的框架,它提供了一个简洁的方式来使用 JMS API。Spring JMS 框架提供了一个抽象层,简化了 JMS 的使用,使得开发者可以更容易地使用 JMS。 Spring JMS 的...

    Spring JMS使异步消息变得简单.doc

    【Spring JMS】是Spring框架中的一个模块,用于简化Java消息服务(JMS)的使用,使得异步消息处理变得更加简单和灵活。Spring JMS通过提供一个模板类,抽象了JMS API的底层细节,让开发者能够更加专注于消息的处理...

    springjms的demo

    Spring对JMS提供了很好的支持,可以通过JmsTemplate来方便地实现消息服务。本例通过activeMQ服务器模拟了消息的发送与接收。需要注意的是,activeMQ的运行依赖jdk的环境,而且对jdk的版本也有要求,我用的是jdk1.6+...

    spring_jms

    Spring JMS(Java Message Service)是Spring框架的一部分,专门用于集成JMS消息传递系统,以实现异步通信和解耦应用程序组件。在这个入门级实例中,我们将探讨如何使用Maven、Spring和ActiveMQ来构建一个简单的...

    Spring JMS 消息处理-基于JNDI

    这篇博客“Spring JMS 消息处理-基于JNDI”将深入探讨如何在Spring应用中使用JMS进行消息处理,并利用JNDI(Java Naming and Directory Interface)来查找和配置消息资源。 JMS是Java平台上的一个标准接口,它定义...

    Java网络编程--基于Spring的JMS编程

    在Java中,Spring框架提供了强大而灵活的支持,使得开发人员能够轻松地实现基于Java消息服务(JMS)的网络编程。JMS是一个标准接口,它允许应用程序创建、发送、接收和读取消息,这些消息可以在不同的应用之间传递,...

    spring jms 整合 weblogic jms

    本人开发的spring jms项目,已经上线近一年了,这里是我项目jms配置文件,使用的是spring jms 整合weblogic jms。如果真的需要,请咨询我,并且附上我上传的这个配置文件,附近中没有带有这个文件,一律不作任何回答...

    Spring JMS消息处理-不基于JNDI

    在本文中,我们将深入探讨Spring框架中的Java消息服务(JMS)支持,特别是不依赖于JNDI(Java Naming and Directory Interface)的方式。Spring JMS为应用程序提供了与消息中间件交互的能力,允许我们构建可扩展且...

    使用Spring JMS轻松实现异步消息传递.pdf

    【Spring JMS 知识点详解】 Spring JMS 是 Spring 框架的一部分,它提供了一种简单且灵活的方式来处理 Java 消息服务 (JMS)。在面向服务架构 (SOA) 中,异步消息传递是关键组件,特别是在企业级系统间通信,特别是...

    spring jms tomcat 异步消息传递入门实例

    在IT行业中,Spring框架是Java应用开发的基石,它提供了丰富的功能来简化应用程序的构建,而JMS(Java Message Service)则是处理异步通信的一种标准API。Tomcat作为轻量级的应用服务器,常用于部署Spring应用。在这...

    JMS整合Spring实例

    **JMS整合Spring实例** Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的一种标准接口。它允许应用程序创建、发送、接收和读取消息,以此来解耦生产者和消费者。而Spring框架...

    jms整合spring工程

    本项目"jms整合spring工程"是一个已经准备就绪的Java工程,它展示了如何在Spring框架中集成JMS,以便利用消息队列进行通信。主要依赖的是Apache ActiveMQ,这是一款流行的开源JMS提供者,能够实现高效、可靠的实时...

    SpringJMS源码

    **Spring JMS源码分析** 在Java世界里,消息队列(JMS,Java Message Service)是一种标准,它定义了一种规范,使得不同的消息中间件提供商可以为开发者提供一致性的API,以实现在应用程序间传递消息。Spring JMS是...

    Spring集成JMS

    在实际应用中,`SpringJMS`可能包含以下示例代码片段: ```xml &lt;bean id="jmsConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"&gt; &lt;!-- 这里配置具体的JMS提供商实现 --&gt;...

Global site tag (gtag.js) - Google Analytics