1.程序概述

使用spring-interation来实现将一个消息发送到activeMQ的消息队列中-需要安装activeMQ并在上面新建一个名称为queue.hello的队列

2.工程依赖添加

这里我们用的是maven管理,把spring相关的jar包搞到工程中来

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.crazycoder2010</groupId><artifactId>casclient</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>casclient Maven Webapp</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><spring.integration.version>2.2.6.RELEASE</spring.integration.version><activemq.version>5.7.0</activemq.version><slf4j.version>1.7.5</slf4j.version><spring.version>3.2.4.RELEASE</spring.version></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>org.apache.activemq</groupId><artifactId>activemq-core</artifactId><version>${activemq.version}</version><exclusions><exclusion><artifactId>spring-context</artifactId><groupId>org.springframework</groupId></exclusion><exclusion><artifactId>slf4j-api</artifactId><groupId>org.slf4j</groupId></exclusion></exclusions></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jms</artifactId><version>${spring.version}</version><scope>compile</scope></dependency><dependency><groupId>org.springframework.integration</groupId><artifactId>spring-integration-core</artifactId><version>${spring.integration.version}</version></dependency><dependency><groupId>org.springframework.integration</groupId><artifactId>spring-integration-jms</artifactId><version>${spring.integration.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency></dependencies><build><finalName>casclient</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.7</source><target>1.7</target><encoding>UTF-8</encoding></configuration></plugin></plugins></build>
</project>

3.编写配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:int="http://www.springframework.org/schema/integration" xmlns:jms="http://www.springframework.org/schema/integration/jms"xmlns:stream="http://www.springframework.org/schema/integration/stream"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/integrationhttp://www.springframework.org/schema/integration/spring-integration.xsdhttp://www.springframework.org/schema/integration/jmshttp://www.springframework.org/schema/integration/jms/spring-integration-jms.xsdhttp://www.springframework.org/schema/integration/streamhttp://www.springframework.org/schema/integration/stream/spring-integration-stream.xsd"><bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"><property name="brokerURL" value="tcp://localhost:61616" /></bean><bean id="helloQueue" class="org.apache.activemq.command.ActiveMQQueue" autowire="constructor"><constructor-arg value="queue.hello" /></bean><jms:channel id="jmsChannel" connection-factory="connectionFactory" queue="helloQueue" message-driven="false"> <!--一定注意将这个属性设置为false,否则报无订阅者的异常--></jms:channel>
</beans>

4.编写发送测试程序

package com.haier.mdm.message;import java.text.SimpleDateFormat;
import java.util.Date;import javax.jms.Queue;import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.integration.MessageChannel;
import org.springframework.integration.message.GenericMessage;public class JmsTest {private ClassPathXmlApplicationContext applicationContext;@Beforepublic void setUp(){applicationContext = new ClassPathXmlApplicationContext("/applicationContext-activeMQ.xml");applicationContext.start();}@Testpublic void testChannel(){MessageChannel messageChannel = applicationContext.getBean("jmsChannel", MessageChannel.class);GenericMessage<String> message = new GenericMessage<String>("使用message channel 发送"+generateTimeString());for(int i = 0; i<100; i ++)messageChannel.send(message);}private String generateTimeString(){return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());}@Afterpublic void tearDown(){applicationContext.stop();}
}

spring interation学习-01发送jms消息相关推荐

  1. camel 使用_使用Camel从WildFly 8向WebLogic 12发送JMS消息

    camel 使用 系统集成是一个很好的挑战. 特别是当您在寻找通信标准和可靠的解决方案时. 在当今的微服务世界中,每个人都在谈论REST服务和基于http的协议. 实际上,对于大多数通常具有更复杂的需 ...

  2. 使用Camel从WildFly 8向WebLogic 12发送JMS消息

    系统集成是一个很好的挑战. 特别是当您在寻找通信标准和可靠的解决方案时. 在当今的微服务世界中,每个人都在谈论REST服务和基于http的协议. 实际上,对于大多数企业项目来说,这往往是远远不够的,而 ...

  3. flux服务器推消息,在Spring WebFlux响应式处理程序中发送JMS消息:它是否阻塞?

    这是反应性处理的正确方法吗?我看到2个线程一个反应性的nio,直到并包括flatMap(fareRepo :: save).另一个线程是计算线程,它从发送消息开始,一直持续到ServerRespons ...

  4. ActiveMQ学习笔记(2)——JMS消息模型

    2019独角兽企业重金招聘Python工程师标准>>> 1.1 JMS模型简介 JMS支持两种消息通信模型: 点对点模型(Point to Point,P2P) 发布者/订阅者模型( ...

  5. Spring Cloud学习 01 微服务基础

    1.Spring Cloud 涉及内容 Spring Boot 框架 Spring Cloud 组件 服务治理(Eureka)-- 服务注册与发现 客户端负载均衡(Ribbon) 微服务容错与降级处理 ...

  6. 什么是JMS(消息服务)

    JMS的定义 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息 ...

  7. (转) RabbitMQ学习之spring整合发送异步消息

    http://blog.csdn.net/zhu_tianwei/article/details/40919031 实现使用Exchange类型为DirectExchange. routingkey的 ...

  8. Kafka是什么,JMS是什么,常见的类JMS消息服务器,为什么需要消息队列(来自学习笔记)

    1.Kafka是什么  Apache Kafka是一个开源消息系统,由Scala写成.是由Apache软件基金会开发的一个开源消息系统项目.  Kafka最初是由LinkedIn开发,并于2011 ...

  9. spring jms 消息_Spring JMS,消息自动转换,JMS模板

    spring jms 消息 在我的一个项目中,我应该创建一个消息路由器,就像所有路由器一样,它应该从一个主题获取JMS消息并将其放入另一个主题. 该消息本身是JMS文本消息,实际上包含XML消息. 收 ...

最新文章

  1. 马化腾六年后知乎再提问:未来十年哪些基础科学突破会影响互联网科技产业?...
  2. ActiveReport的小数显示方法
  3. hdu2204 Eddy's爱好 打表+容斥原理
  4. 读书笔记《单核工作法》_5:适用xing
  5. jquery 筛选元素 (3)
  6. atitit.nfc 身份证 银行卡 芯片卡 解决方案 attilax总结
  7. 关于#include “stdafx.h“添加的错误问题
  8. jQuery获取屏幕宽度和高度
  9. 蘑菇街交易平台 数据库架构演进历程
  10. 音视频基础学习之【01.基于ffmpeg的简单播放器demo实现】
  11. java的对象存储在哪里?
  12. 如何构建一个简单的图书推荐系统
  13. (3) openssl genrsa(生成rsa私钥)
  14. PTA-c语言 新胖子公式
  15. 求一个集合的所有子集问题实现
  16. C语言3位~7位水仙花数(加强版)
  17. 《论文写作》课程总结心得体会
  18. 操作系统(二):操作系统结构
  19. 安卓如何调出软键盘_Android 软键盘的显示和隐藏,这样操作就对了
  20. Gtalent如何帮助HR确定人才测评指标

热门文章

  1. 【python】numpy.percentile()函数
  2. mysql data too long for column xxx解决方案
  3. 阴暗的底层阶级版罗密欧与朱丽叶——甲贺忍法帖
  4. VB写的软件加壳都没用,超强反调试反破解分析,检测OD调试器
  5. Emlog模板 简洁大气留白风格源码资源站
  6. 拓嘉启远电商:拼多多买家不能退货的几种情况
  7. directshow视频旋转90度
  8. Photoshop---PS2017软件安装与破解
  9. github官网老是打不开
  10. 数字转换为中文大写(钱数)