spring集成activemq

1、概述

  1. 消息服务:一个中间件,用于解决两个或多个程序之间的耦合,底层由Java 实现。
  2. 优势:异步、可靠
  3. 消息模型:点对点,发布/订阅
  4. JMS中的对象
  1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
  2. 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)
  3. 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性
  4. 通过了常见J2EE服务器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上
  5. 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
  6. 支持通过JDBC和journal提供高速的消息持久化
  7. 从设计上保证了高性能的集群,客户端-服务器,点对点
  8. 支持Ajax
  9. 支持与Axis的整合
  10. 可以很容易得调用内嵌JMS provider,进行测试

在接下来的这篇博客中,我会和大家一起来整合Spring 和ActiveMq,这篇博文,我们基于Spring+JMS+ActiveMQ+Tomcat,实现了Point-To-Point的异步队列消息和PUB/SUB(发布/订阅)模型,简单实例,不包含任何业务。

2、项目结构

image.png

Spring 核心依赖 ActiveMq core和pool java servlet 相关依赖 fastjson依赖

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
com.quwei.activeMQ
activeMQ-test
war
1.0-SNAPSHOT
activeMQ-test Maven Webapp
http://maven.apache.org



4.0.0.RELEASE



junit
junit
3.8.1
test




  jstl
  jstl
  1.2


  javax.servlet
  servlet-api
  provided
  2.5




  org.springframework
  spring-core
  ${springframework}


  org.springframework
  spring-context
  ${springframework}


  org.springframework
  spring-tx
  ${springframework}


  org.springframework
  spring-webmvc
  ${springframework}




  org.springframework
  spring-jms
  ${springframework}





  org.apache.xbean
  xbean-spring
  3.16




  org.apache.activemq
  activemq-core
  5.7.0


  org.apache.activemq
  activemq-pool
  5.12.1




  com.alibaba
  fastjson
  1.2.38



activeMQ-test

spring配置,这里只是测试,所以spring只有一个扫包,springmvc也只有常用配置

spring配置

image.png

springmvc配置

image.png

activemq配置


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:amq="http://activemq.apache.org/schema/core"
xmlns:jms="http://www.springframework.org/schema/jms"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
http://www.springframework.org/schema/jms
http://www.springframework.org/schema/jms/spring-jms-4.1.xsd
http://activemq.apache.org/schema/core
http://activemq.apache.org/schema/core/activemq-core-5.12.1.xsd">








    
    




    
    
        Jaycekon
    




    
    
    
    
    

tomcat配置


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

     version="3.0">

Archetype Created Web Application



contextConfigLocation

classpath:applicationContext*.xml;


org.springframework.web.context.ContextLoaderListener


springMVC
org.springframework.web.servlet.DispatcherServlet

contextConfigLocation
classpath:spring-mvc.xml

1


springMVC
*.do



characterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter

encoding
UTF-8


forceEncoding
true



characterEncodingFilter
/*

3.代码

服务者

image.png

消费者

image.png

使用一个接口来测试

image.png
image.png

4.测试

请求接口

image.png

请求接口接收消息

image.png
image.png

查看activemq管理平台

image.png

只有一个消费者 因为前面测试过4次 所以这个一共消费了5条消息

activemq和spring集成简单的测试就到这个了 方便自己复习 希望对你有用

你可能感兴趣的:(spring集成activemq)