Spring集成–第1节– Hello World

Spring Integration的“ Hello World ” –考虑一个简单的程序,以使用Spring Integration将“ Hello World”打印到控制台,并在此过程中访问一些企业集成模式概念

在进入程序本身之前,快速回顾一下消息传递概念将很有用–消息传递是一种集成样式,其中两个独立的应用程序通过中介相互通信–中介被称为“消息传递系统”。

企业集成模式描述了基于消息的应用程序集成中常见的与集成相关的问题及其推荐的解决方案。

例如。 考虑企业集成模式之一– 消息通道 ,引用《 企业集成模式》一书 :

“消息传递频道”正在尝试解决的问题是:

企业具有两个需要进行通信的独立应用程序,最好使用消息传递进行通信。
一个应用程序如何通过消息传递与另一应用程序通信?

解决方案是:

使用消息通道连接应用程序,其中一个应用程序将信息写入该通道,而另一个应用程序从该通道读取该信息。
所有其他企业集成模式均以相同的方式描述。

快速访问Enterprise Integration Patterns的原因是要设置上下文– Spring Integration与Enterprise Integration Patterns非常紧密地结合在一起,并且是前面提到的“消息系统”。

现在来看使用Spring Integration的Hello World:

首先是一个小的junit:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("helloworld.xml")
public class HelloWorldTest {@Autowired@Qualifier("messageChannel")MessageChannel messageChannel;@Testpublic void testHelloWorld() {Message<String> helloWorld = new GenericMessage<String>("Hello World");messageChannel.send(helloWorld);}
}

在这里,一个MessageChannel被连接到测试中,第一个应用程序(这里是Junit),向Message Channel发送一条Message(在这种情况下为字符串“ Hello World”),然后从“ Message Channel”中读取消息并写入将消息发送给系统。

现在,让我们看一下“某物”如何从消息通道中提取消息并将其写到系统的其余部分:

<?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:int-stream="http://www.springframework.org/schema/integration/stream"xsi:schemaLocation="http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration-2.1.xsdhttp://www.springframework.org/schema/integration/stream http://www.springframework.org/schema/integration/stream/spring-integration-stream-2.1.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><int:channel id="messageChannel"></int:channel><int-stream:stdout-channel-adapter channel="messageChannel" append-newline="true"/></beans>

上面是使用Spring Custom名称空间(这里是Integration命名空间)描述的Spring Integration流。 创建了一个“消息通道”,即想象中的“消息通道”,将“ Hello World”“消息”放入“消息通道”,“通道适配器”从中获取消息并将其打印到标准输出中。

这是一个小程序,但是它使用了三种企业集成模式- 消息 (“ Hello World”,它是发送到消息传递系统的信息包,是先前介绍的“ 消息通道 ”,而新的是消息传递)。 Channel Adapter ,这里是一个出站通道适配器,用于将消息传递系统连接到应用程序(在本例中为系统输出),进一步显示了Spring Integration如何与带有其Spring自定义名称空间的Enterprise Integration Patterns术语保持紧密的一致。

这个简单的程序介绍了Spring Integration,在接下来的几节课中,我将使用更多示例来更详细地介绍Spring Integration。

参考文献:
1. Spring Integration参考: http : //static.springsource.org/spring-integration/reference/htmlsingle/
2.企业集成模式: http : //www.eaipatterns.com/index.html 3. EIP的Visio模板: http : //www.eaipatterns.com/downloads.html

参考: all和其他博客中的JCG合作伙伴 Biju Kunjummen提供的Spring,Spring Integration,Enterprise Development 。


翻译自: https://www.javacodegeeks.com/2012/07/spring-integration-session-1-hello.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371915.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正则表达式贪婪模式与懒惰模式

正则表达式贪婪匹配模式&#xff0c;对于初学者&#xff0c;往往也很容易出错。有时候需要匹配一个段代码内容&#xff0c;发现匹配与想要不一致。发现原来&#xff0c;跟贪婪模式有关系。如下&#xff0c;我们看下例子&#xff1a; 什么是贪婪模式 字符串有: “<h3>abd&…

stm32 薄膜键盘原理_市面上的笔记本键盘优缺点解析,看完秒懂

大家在选购电脑时&#xff0c;很多人的关注重点都是笔记本的配置好不好、外观设计酷不酷和电池续航能力强不强&#xff0c;对电脑键盘往往不会太在意&#xff0c;其实一个好的电脑键盘也可以帮助你提高工作效率&#xff0c;特别对于小编这样的文字工作者&#xff0c;如果键盘手…

计算机等级考试心得体会,计算机等级考试心得体会(2)

估计以后的考试也可能略有变化&#xff0c;即逐渐增加使用命令的条数。由于该内容变化小&#xff0c;考生应当练习到纯熟的境地&#xff0c;在考试时用尽可能少的时间来做这部分内容&#xff0c;以使其他内容有更多的时间。六题能做出五题即可&#xff0c;有一题一时想不起&…

Web开发框架–第1部分:选项和标准

在我的公司&#xff0c;我们正在评估未来几年将使用哪种Web开发框架。 自上次评估以来&#xff0c;我们一直在使用由Struts 2驱动的Java应用服务器作为MVC&#xff0c;将Tiles作为模板引擎&#xff0c;将jQuery用于Javascript awesomennes&#xff0c;将DWR用于AJAX调用&#x…

增加一个类的功能可以采用继承或者代理模式或者装饰者模式

增加一个类的功能有3种办法&#xff1a; 1.继承 2.代理模式 3.装饰者模式转载于:https://www.cnblogs.com/panxuejun/p/6127837.html

dell增强保护套装还原失效_汕头长安欧尚汽车音响改装升级,还原真实音色

今天给大家分享的是汕头车韵汽车音响改装店开业以来&#xff0c;升级改装的第113辆长安汽车。长安欧尚x7外观设计十分出彩&#xff0c;整体造型动感十足&#xff0c;前脸采用六边形大尺寸的前格栅&#xff0c;并加入了“云鹰之翼”的设计元素&#xff0c;造型十分具有攻击性&am…

POJ 2386 Lake Counting

链接&#xff1a;http://poj.org/problem?id2386 Lake Counting Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 24263 Accepted: 12246Description Due to recent rains, water has pooled in various places in Farmer Johns field, which is represented by a…

计算机窗口颜色不能自定义,用RBG颜色设置自定义颜色

这个是Mac自带的测色计快捷键shift command c即可复制RBG格式的颜色#DD0000 这个是csdn 的logo里的红色我们得到的是十六位颜色代码但是UIColor()只有这几种初始化方式init(white: CGFloat, alpha: CGFloat)init(hue: CGFloat, saturation: CGFloat, brightness: CGFloat, al…

http协议和浏览器缓存问题

HTTP是超文本传输协议。 HTTP是一个应用层协议&#xff0c;由请求和响应构成&#xff0c;是一个标准的客户端服务器模型。HTTP是一个无状态的协议。 转载于:https://www.cnblogs.com/hodgson/p/6128003.html

Spring3国际化和本地化

我最近想将Spring 3提供的国际化和本地化功能添加到我当前的项目之一中。 我浏览了Spring文档&#xff0c;然后在Internet上搜索以找到一些资源。 但是我找不到能够满足客户要求的资源。 大多数教程都像hello world应用程序&#xff0c;它提供了基本的理解。 即使是spring文档&…

h3c交换机 查看二层交换机端口ip_【分享】项目中如何选到称心如意的交换机?...

项目中如何选择交换机&#xff1f;这七个步骤不能少如何选择交换机&#xff1f;如何根据项目确定网络结构&#xff1f;我们在做大部分项目都有这样的疑问&#xff0c;交换机做为弱电中最常用的设备之一&#xff0c;关于他的使用与选择&#xff0c;不得不知&#xff0c;本期我们…

SSH中一些典型的问题

struts2 1-1&#xff1a;为什么每次请求都要创建一个Action对象&#xff1f; 是出于对线程安全的考虑&#xff0c;每个request都不会相互影响 1-2&#xff1a;ModelDriven拦截器的配置中refreshModelBeforeResult解决了什么问题&#xff1f; 先把旧的model对象从ValueStack…

为什么计算机连接不上打印机,为什么电脑连接打印机后却没反应

2013-12-12我的笔记本怎么连接不了打印机 显示是这样的好&#xff1a;以下方法供您参考&#xff1a;看一下您的系统服务中这两个(最上面 和最下面的是不是没启用)总之是您的局域网连接没有连接上&#xff0c;要不在网上邻居里您会看到其他的机器的&#xff0c;这是搜到的解决的…

JavaFX 2.0布局窗格– BorderPane

BorderPane非常适合开发更复杂的布局。 通常&#xff0c; BorderPane提供五个不同的区域&#xff1a;顶部&#xff0c;右侧&#xff0c;底部&#xff0c;左侧和中央。 您可以通过调用setTop/setBottom/set…方法将Node设置到每个区域。 这种方法使开发“类似于网站”的应用程序…

页面排版简单样式

页面排版简单样式demo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml" xml:lang"zh-cn"> &l…

JavaWeb基础(jsp初识)

jsp, java server page jsp页面是在服务器上运行的一个页面 动态网页 与后台有数据交互的页面 与其他语言的区别: jsp 使用java语言进行开发, 安全性高, 适合大型项目, 企业级的文本应用分布式项目, 服务器集群, hadoop asp.net 使用c#, .Net平台, 简单易用, 因为不开源, 所以安…

nao机器人拆解_一些机器人硬件网站

以前收集过一些网站&#xff0c;偏机器人机械结构、硬件、参数(也有模拟或算法)。在 https://www.zhihu.com/question/19826366 也夹杂着一些网址&#xff0c;但是有些网址没有深入的内容&#xff0c;排版也不好&#xff0c;所以 在这里编辑成一个列表&#xff0c;方便归档。欢…

心电图是模拟计算机吗,心电图仪

心电图仪是由威廉爱因托芬(W. Einthoven,1860-1927)发明的。 什么是心电图仪(机)M311986 心电图仪能将心脏活动时心肌激动产生的生物电信号(心电信号)自动记录下来&#xff0c;为临床诊断和科研常用的医疗电子仪器。国内一般按照记录器输出道数划分为&#xff1a;单道、三道、六…

从Java 8启动项目拼图?

在马克雷因霍尔德 &#xff08; Mark Reinhold &#xff09;在他的《 项目拼图&#xff1a;火车晚点 》一文中提出“将项目拼图推迟到Java 9的下一个发行版中”。 他解释了这样做的原因&#xff1a;“仍然存在一些重大的技术挑战”&#xff0c;并且“没有足够的时间来进行广泛的…

ChannelOption用到的socket的标准参数

ChannelOption.SO_BACKLOG, 1024 BACKLOG用于构造服务端套接字ServerSocket对象&#xff0c;标识当服务器请求处理线程全满时&#xff0c;用于临时存放已完成三次握手的请求的队列的最大长度。如果未设置或所设置的值小于1&#xff0c;Java将使用默认值50。 ChannelOption.SO_K…