`
longgangbai
  • 浏览: 7340048 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring 和ActionMQ整合JMS开发应用

阅读更多

  Spring 和ActionMQ整合JMS开发应用,实现异步的消息的应用.

 使用Apache的ActiveMQ发送消息,activemq-all-5.2.jar

spring2.5 jar;jms.jar 等

 

 

服务段代码:

package com.unutrip.activemq.jms;

import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Session;

import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;

/**
 * 消息发送者
 *
 * @author longgangbai
 *
 */
public class SpringJMSProductor {
 private JmsTemplate template;
 private Destination destination;
    /**
     * 发送消息
     * @param message
     */
 public void createMessage(final String message) {
  template.send(destination, new MessageCreator() {
   public Message createMessage(Session session) throws JMSException {
    return session.createTextMessage(message);
   }
  });
  System.out.println(message);
 }

 public JmsTemplate getTemplate() {
  return template;
 }

 public void setTemplate(JmsTemplate template) {
  this.template = template;
 }

 public Destination getDestination() {
  return destination;
 }

 public void setDestination(Destination destination) {
  this.destination = destination;
 }
}

 

客户端代码:

package com.unutrip.activemq.jms;

import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.TextMessage;

import org.springframework.jms.core.JmsTemplate;

/**
 * 消息接收者
 *
 * @
 */
public class SpringJMSReceiver {
 private JmsTemplate template;
 private Destination destination;

 public JmsTemplate getTemplate() {
  return template;
 }

 public void setTemplate(JmsTemplate template) {
  this.template = template;
 }

 public Destination getDestination() {
  return destination;
 }

 public void setDestination(Destination destination) {
  this.destination = destination;
 }

 public void receive() throws JMSException {
  while (true) {
   TextMessage txtmsg = (TextMessage) template.receive(destination);
   if (null != txtmsg)
    System.out.println("收到消息内容为: " + txtmsg.getText());
   else
    break;
  }
 }
}

 

xml配置如下:

本实例中客户端和服务端在一台电脑上,共用一個 配置JMS模版 和发送消息的目的地(一个队列)

JMS连接工厂和,jMS目标类

<?xml version="1.0" encoding="UTF-8"?>
<beans
 xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
     
        <!--
        <bean id="broker" class="org.apache.activemq.xbean.BrokerFactoryBean">
          <property name="config" value="classpath:org/apache/activemq/xbean/activemq.xml" />
          <property name="start" value="true" />
        </bean>
         -->
        <!-- 配置JMS连接工厂 -->
        <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
                <property name="brokerURL" value="vm://localhost" />
        </bean>

        <!-- 配置JMS模版 -->
        <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
                <property name="connectionFactory" ref="connectionFactory"/>
        </bean>

        <!-- 发送消息的目的地(一个队列) -->
        <bean id="destination" class="org.apache.activemq.command.ActiveMQQueue">
                <!-- 设置消息队列的名字 -->
                <constructor-arg index="0" value="HelloWorldQueue"/>
        </bean>
       
        <!--服务端用于发送JMS消息 -->
        <bean id="jmsproductor" class="com.unutrip.activemq.jms.SpringJMSProductor">
           <property name="template">
             <ref bean="jmsTemplate"/>
           </property>
           <property name="destination">
               <ref bean="destination"/>
           </property>
        </bean>
       
        <!-- 客户端用于接受JMS消息 -->
        <bean id="jmsreceiver" class="com.unutrip.activemq.jms.SpringJMSReceiver">
           <property name="template">
             <ref bean="jmsTemplate"/>
           </property>
           <property name="destination">
               <ref bean="destination"/>
           </property>
        </bean>
</beans>

 

 

分享到:
评论

相关推荐

    Spring整合JMS(四)——事务管理

    XAJMS事务则涉及到JMS和JTA(Java Transaction API)的交互,能实现跨资源的分布式事务,更适用于复杂的系统集成。 在Spring中配置JMS事务,我们需要在`ConnectionFactory`中开启事务支持,然后在`MessageListener`...

    Spring 和 activemq 搭建JMS开发系统示例

    **Spring与ActiveMQ搭建JMS开发系统示例详解** 在Java世界中,消息队列(JMS,Java Message Service)是一种标准,它定义了API来创建、发送、接收和读取消息,允许应用程序进行异步通信。Spring框架是Java开发中的...

    spring整合jms+activemq

    综上所述,Spring整合JMS和ActivemQ提供了一套完整的解决方案,帮助开发者轻松地在应用中实现消息的发送和接收。通过这种方式,可以构建出高可用、松耦合、可扩展的分布式系统,提高系统的稳定性和响应速度。在实际...

    Spring整合Jetty开发web应用的例程

    1. **Spring框架**:Spring是一个全面的Java企业级应用开发框架,提供了依赖注入(Dependency Injection, DI)、面向切面编程(Aspect-Oriented Programming, AOP)以及大量的企业服务,如数据访问、事务管理等。...

    spring jms 整合 weblogic jms

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

    轻量级J2EE企业应用实战--Struts+Spring+Hibernate整合开发笔记

    本资源为轻量级 J2EE 企业应用实战开发笔记,涵盖 Struts、Spring 和 Hibernate 三大框架的整合开发实践。笔记从 JDK 安装和配置环境变量开始,接着介绍了 JSP 的技术原理和使用方法,包括 JSP 注释、声明、表达式、...

    轻量级 J2EE 企业应用实战:Struts+Spring+Hibernate 整合开发

    Spring框架是Java企业级应用开发的基石,尤其在IoC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)方面具有显著优势。Spring通过依赖注入管理对象之间的关系,使代码更加...

    轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate整合开发电子书1

    《轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate整合开发电子书1》是一本专注于Java EE企业级应用开发的书籍,主要涵盖了Struts 2、Spring和Hibernate这三个流行开源框架的整合应用。这本书对于Java...

    Spring整合JMS.doc

    1. **添加依赖**:在Maven项目中,需要添加Spring JMS和ActiveMQ的相关依赖。这些依赖包括但不限于Spring的context、jms模块,以及ActiveMQ的核心库。 2. **ActiveMQ的准备**:下载并安装ActiveMQ,通常是在Apache...

    JMS整合Spring实例

    首先,你需要在项目的构建文件(如Maven的pom.xml或Gradle的build.gradle)中添加JMS和Spring的依赖。通常,这包括JMS API、一个JMS实现(如Apache ActiveMQ)、Spring核心库和Spring JMS库。 ```xml &lt;!-- Maven ...

    Struts2+Hibernate+Spring整合开发深入剖析与范例应用03

    Struts2、Hibernate和Spring是Java企业级应用中三大核心框架,它们的整合使用能够构建出高效、可维护性高的Web应用程序。本篇将深入剖析这三者如何协同工作,并提供实际范例应用。 首先,Struts2作为MVC(模型-视图...

    OSGI整合Spring、Mybatis、Spring MVC实现一个登录应用案例

    Spring框架是一个全面的Java应用开发框架,提供依赖注入(DI)和面向切面编程(AOP)等功能。在OSGI环境中,Spring可以通过Blueprint或Declarative Services来声明性地配置服务。在这个案例中,Spring将用于管理Bean...

    轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part5

    轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part5

    轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part2

    轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part2

    jms整合spring工程

    **正文** 在IT行业中,Java消息服务(Java Message Service,JMS)是一种标准接口,用于在应用程序之间交换异步消息。它提供了一种可靠的消息...通过深入研究该项目,可以掌握JMS和Spring集成的关键技术和最佳实践。

    轻量级Java EE企业应用实战(第4版) Struts 2+Spring 4+Hibernate整合开发 光盘 源码

    总之,《轻量级Java EE企业应用实战(第4版)》是一本针对Java EE开发者的实用指南,通过深入浅出地讲解Struts 2、Spring 4和Hibernate的整合,有助于提升开发者在企业级应用开发中的技能和效率。配合光盘中的源码,...

    Spring整合JMS

    整合Spring和JMS提供了开发者利用Java消息服务的强大功能的同时,降低了开发难度,使应用程序之间能够以松耦合的方式进行高效的消息传递和异步通信。通过上述知识点的详细解析,可以清晰地了解Spring框架如何集成JMS...

    轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate整合开发 全套电子书.part3

    轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate整合开发电子书123全套.part3.rar

    spring_jms

    在IT行业中,Spring框架是Java应用开发的基石,它提供了丰富的功能来简化企业级应用的构建。Spring JMS(Java Message...通过深入学习和实践这个实例,开发者将能够更好地理解和应用Spring JMS在实际项目中的各种场景。

    轻量级JavaEE企业应用实战-Struts2+Spring3+Hibernate整合开发(第3版).part3

    共分四个压缩包,JavaEE企业应用实战-Struts2+Spring3+Hibernate整合开发(第3版).part3

Global site tag (gtag.js) - Google Analytics