spring interation学习-01发送jms消息

spring cloud config server /bus/refresh 404 not found 环境 1.centos7 2.spring boot 2.0 报错 spring cloud config server /bus/refresh 404 not found 解决方案 Spring boot 2.0的改动较大,/bus/refresh全部整合到actuator里面了,所以之前1.x的management.security.enabled全部失效,不适用于2.0... 阅读详情

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/beans
                        http://www.springframework.org/schema/beans/spring-beans.xsd
                        http://www.springframework.org/schema/integration
                        http://www.springframework.org/schema/integration/spring-integration.xsd
                        http://www.springframework.org/schema/integration/jms
                        http://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd
                        http://www.springframework.org/schema/integration/stream
                        http://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;
	@Before
	public void setUp(){
		applicationContext = new ClassPathXmlApplicationContext("/applicationContext-activeMQ.xml");
		applicationContext.start();
	}
	
	@Test
	public 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());
	}
	
	@After
	public void tearDown(){
		applicationContext.stop();
	}
}


spring Integration 介绍 立即下载

相关推荐

shiro视频2018 shiro+springboot+mybatis

shiro视频2018 shiro+springboot+mybatis 1 Authentication 认证 用户登录 2 Authorization 授权 用户具有那些权限 3 cryptography 安全加密 4 session management 会话加密 5 web integration web 系统集成 6 interations 集成其它应用,spring 缓存框架

Spring Integration超详细解读

它是一个功能强大的EIP (Enterprise Integration Patterns),即企业集成模式。它是Spring Messaging的扩展,提供了Spring编程模型的扩展,用来支持企业集成模式。它集成了众多功能,是一种便捷的用来在系统之间做消息传递的。Spring Integration的主要特征和功能如下:消息驱动架构:使用消息作为信息的载体,通过订阅和发布消息实现系统之间的通信和集成。使用通道与过滤器:通道负责传输消息,过滤器对消息进行操作与路由。

MengMengDeXiaoJi的博客 6532

OpenWrt路由开启DDNS+端口转发进行外网访问

OpenWrt路由开启DDNS+端口转发进行外网访问(LuCI界面实现)--开篇一、准备工作二、开机!三、连接--结尾 –开篇 本篇适用于一切装有OpenWrt系统的路由器/软路由,只要你保证有WAN接口和一个光猫,甚至你不需要有LAN接口(当然前提是你能连接路由器的WIFI进后台,不然你只能通过LAN进后台咯)。所有的配置过程都是基于LuCI界面来的,当然大神们一般都通过SSH登陆路由使用命令配置,但我也不会啊,只能给个有GUI界面的教程了。 一、准备工作 一个装有OpenWrt系统的路由器/软路由并

秋之颂的博客 9万+

穿越消息之路:深入探讨Spring Integration的魅力

本篇博客将引导你进入Spring Integration的神奇世界,解析其独特的消息驱动模型和无缝集成的能力。从基础概念到实际应用,一起揭开Spring Integration的神秘面纱。

todoitbo的博客 6467

Python自动化生成HyperMesh Tcl命令流:从几何建模到有限元分析

本文详细介绍了如何利用Python自动化生成HyperMesh的Tcl命令流,实现从几何建模到有限元分析的全流程二次开发。通过封装常用操作函数,工程师可以高效完成参数化建模、自动网格划分及求解器文件输出,显著提升CAE前处理效率与标准化水平。

weixin_29041767的博客 423

如何用SoulChat2.0快速克隆你的心理咨询师?手把手教你搭建AI数字孪生体

本文详细介绍了如何利用SoulChat2.0框架快速构建心理咨询师的AI数字孪生体。通过其核心PsyDT技术,仅需少量真实案例即可合成风格数据并微调大模型,从而低成本地创建能高度模仿特定咨询师语言风格和专业技术的AI分身,适用于预约访谈、心理教育等辅助场景,实现高效的人机协作。

julia4scientist的博客 978

Spring Integration概述

Spring Integration概述 1.1  背景               Spring Integration是Spring项目中秉承其相同目标和原则的新成员。它扩展了Spring的编程模型到消息领域,在Spring已经存在的企业集成支持的基础上,提供了更高级别的抽象。它将控制反转添加到关注点,支持消息驱动架构,例如当特定业务逻辑应该执行时,响应也应该被发送。它支持路由和消息转换

liubowin的专栏 7656

树莓派5安装ROS1避坑指南:从系统配置到cmake报错全解决

本文详细介绍了在树莓派5上安装ROS1的完整流程,包括系统配置、环境变量设置、cmake报错解决等关键步骤。针对树莓派5的ARM架构特性,提供了从基础安装到高级调试的系统级解决方案,帮助开发者高效部署ROS1并避免常见编译陷阱。特别针对cmake报错问题,给出了深度解析和实用修复方法。

spark7igniter的博客 233

spring-integration初探

最近有幸,公司让我研究了spring-integration,对于这个spring出品的功能强大的工具,功能繁多且复杂。写此博客分享一下心得,也为记录一下最近研究这么久的知识点。理解的不够深,如果有错误的地方,希望各位朋友能批评指出。 一、what 首先,什么是spring-integration?研究之初,对这根管道有些迷惑,这是队列?这个activeMQ有啥区别?待研...

Doubletree.lin的博客 6万+

Halcon阈值算子 -- 局部阈值之dyn_threshold

Halcon阈值算子 – dyn_threshold HALCON有很多阈值算子,接下来将一一介绍。本文先介绍dyn_threshold。 以下介绍主要参考HALCON帮助文档,并加上自己的体会。如有纰漏,欢迎留言指出 理论介绍 dyn_threshold算子的函数签名如下: dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : ) 输入参数有: OrigImage:待处理图像 ThresholdIm

m0_47015717的博客 5384

无需SLAM建图,直接生成Gazebo仿真环境的二维代价地图的功能包pgm_map_creator适配ROS Noetic编译报错及解决方法

在ROS Noetic中,使用`pgm_map_creator`功能包直接生成Gazebo仿真环境的二维代价地图时,可能会遇到各种编译和运行错误。本篇博客详细解析了在适配ROS Noetic过程中常见的报错及其解决方法,包括Boost文件结构更新、C++版本兼容性、Gazebo函数名变更、链接库缺失以及protobuf文件加载错误。通过逐步排查和修改,如更换头文件路径、调整C++标准、更新CMakeLists.txt文件等,成功解决了这些问题,使得`pgm_map_creator`功能包能够顺利编译和运行。

慕羽★的博客 2261

spring integration-概述

消息 包含消息体和消息头。消息体可以是任意的类型;消息头是键值对,包含ID,时间戳,关联ID和返回地址。 消息通道 从语义学上理解,消息通道有两种,一种是点对点,另外一种是发布订阅。【点对点】模式下,只有一个消费者能接受发送到通道的所有消息。而【发布订阅】模式下,可以把消息广播给多个订阅了这个通道的订阅者上。 消息端点 处理消息的接收器,一般分为下面几种: 转换器 过滤器 路由器 分割器 ...

ssehs的博客 2434

YOLOv12环境配置,手把手教你使用YOLOv12训练自己的数据集和推理(附YOLOv12网络结构图),全文最详细教程

YOLO 系统尊嘟太卷了吧,YOLOv11 还没完明白,YOLOv12 就重磅来袭,YOLOv12 是由纽约州立大学联合中科院在 2025年2月19 日发布,从 YOLOv12 论文题目我们大概就知道做了那些更新 ,下图是YOLOv12 在 COCO 数据集上的性能表现引入区域注意力机制(area-attention):通过引入十字形窗口自我注意机制,沿水平和垂直条纹计算注意力机制,纵横交错的注意机制。如下图所示,区域注意力采用最多简单的等分方法,将特征地图垂直或水平划分为 L 个区域。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 6万+

Spring系列学习之Spring Integration

英文原文:https://spring.io/projects/spring-integration 目录 概述 介绍 特性 例子 Spring Boot配置 快速开始 学习 文档 指南 示例 概述 扩展Spring编程模型以支持众所周知的企业集成模式。 Spring Integration在基于Spring的应用程序中实现轻量级消息传递,并支持通过声明适配器与外部系统集...

纸上得来终觉浅,绝知此事要躬行 1万+

ardupilot开发 --- mavlink签名加密 篇

ardupilot开发 --- mavlink签名加密

记录老板的每次pua,分享领导每天的毒鸡汤... 1236

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

什么是Spring Integration?

随着Spring Integration项目逐渐获得越来越多的采用和兴趣,企业集成或企业开发领域的开发人员很可能会遇到它。 他们可能会发现它很有趣,但并没有完全理解它的含义,所要解决的问题,可以从中获取更多信息以及它在ESB和其他SOA基础结构的开源生​​态系统中的适合位置。 这是我对普通人的描述的尝试。 首先,这是什么? 这是一个由SpringSource委托的开源项目,旨在利用Spr...

最佳 Java 编程 5377

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Spring Integration 系统集成

Spring Ingegration 提供了基于Spring的EIP(Enterprise Integration Patterns,企业集成模式)的实现。Spring Integration 主要解决的问题是不同系统之间交互的问题,通过异步消息驱动来达到系统交互时系统之间的松耦合。Spring Integration 主要有Message、Channel、Message EndPoint组成。Me

架构之路 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Spring Integration完整示例

本文是我们名为“ Spring Integration for EAI ”的学院课程的一部分。 在本课程中,向您介绍了企业应用程序集成模式以及Spring Integration如何解决它们。 接下来,您将深入研究Spring Integration的基础知识,例如通道,转换器和适配器。 在这里查看 ! 目录 1.简介 2.系统概述 3.埃及剧院服务 4. Pa...

最佳 Java 编程 5440

Spring Integration入门

为什么使用Spring IntegrationSpring Integration是Spring框架创建的又一个API,面向企业应用集成(EAI)。说到集成,并不缺“解决办法”:硬编码的Java客户端、其它ESB产 品,还有消息队列等更加传统的应用集成技术。Spring Integration对以上各种解决方法都有所改进,改进的方式有时还颇具戏剧效果。Spring Integration非常轻量

Mr__XiaoBai的专栏 5216

Spring Integration 实例讲解

Spring Integration简介组件介绍实例演示买饮料jms做一个简单的示例。实例三集成JDBC 简介 最近学习到的工具,资料很少,但还是要记录下自己目前的理解,官方的说发就不说了网上都一样,这里我说点自己的理解,其实spring integeration就类似一个水电系统,总闸,各层楼的控制,分流,聚合,过滤,沉淀,消毒,排污这里的每一个环节都类似一个系统服务,可能是jms,可能是red...

FOREVER_DO 1万+

【翻译】Spring Integration参考手册-第一章

原文: http://static.springsource.org/spring-integration/reference/htmlsingle/spring-integration-reference.html Spring Integration参考手册 KimmKing 翻译 Kimmking@163.com 1.   Spring Integration概述 ...

KimmKing的技术博客 1222

Spring Integration学习1

系统集成Spring Integration提供了基于Spring的EIP(Enterprise Integration Patterns,企业集成模式)的实现,主要解决不同系统之间的交互问题,通过异步消息驱动来达到系统交互时系统之间的松耦合,由Message、Channel、Message EndPoint组成。 一、Message:用来在不同部分之间传递的数据 1、消息体(payload...

xinyuan的专栏 597

spring integration 入门

参考地址:https://blog.youkuaiyun.com/w_x_z_/article/details/53316618               https://blog.youkuaiyun.com/qq_27808011/article/details/80108622   spring integration 分为三部分: 通道,通道拦截器,端点; 通道有:PublishSubscribeCha...

Pecodo的博客 1791

通过Spring Integration和RabbitMQ获得高可用性的AMQP支持的消息通道

Spring Integration消息通道默认情况下将消息存储在内存中。 这是因为内存速度快,易于实现,并且不会增加网络成本。 但是,在某些情况下,这可能会引起问题,因为如果应用程序崩溃或服务器意外关闭,所有消息都将丢失。 对于这种情况,Spring Integration引入了JMS&AMQP支持的消息通道,因此消息存储在JMS&AMQP代理内而不是内存中。 高级消息队列协议(AMQ...

最佳 Java 编程 1290

disabled spring cloud bus interation with spring cloud sleuth zipkin

当spring cloud项目jar依赖里面同时包含类似下面这种: "org.springframework.cloud:spring-cloud-starter-bus-kafka" "org.springframework.cloud:spring-cloud-sleuth-zipkin" 发送给zipkin的消息就会都自动通过kafka,而不会通过web的 官方文档是这样描述的 ...

Embe的博客 388
上一篇: Redhat下安装apache服务器
下一篇: MySQL主从复制配置-windows单机环境
CrazyCoder2010
博客等级 码龄16年 298粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值