Spring_Integration入门

发布时间:2023-01-12 21:50:19

SpringIntegration作为一个Spring的孵化项目,我也是今年年初的时候才听到的。(下个关注点应该就是Spring的工作流了)。Integration可以通过xmlannotation来进行相应的配置。它的功能有点像EJB中的消息驱动bean不过这里换成了消息驱动Springbean了。开始我们的旅程之前先废话两句,说说目标和原则。Integration目标是(比较官方的说法):1.提供一个简单的模型,实现企业系统的集成的解决方案2.使用方便的,基于Spring应用的消息驱动行为3.使得更多的Spring用户来使用它原则是:1.组件之间应该是松散的,模块性的和易测的2.应用框架应该强迫分离业务逻辑和集成逻辑3.扩展节点应该有更好的抽象和可以再使用的能力废话不多说了,直接切入正题:SpringIntegration的主要组件包括以下部分,这里务必了解这些概念,以便后续更好的理解整个集成的体系
1.Message就是消息包括header(头)和payload(负载)messageheader一般是id,时间戳或者目的地址什么的,比如如果你发的消息是个文件,那么header应该存放文件的名称,如果是邮件那么,header应该放目的邮件地址,fromcc等内容。至于payload负载,放什么都行,随你2.Messagechannel消息通道至于channel就好像一个管子,生产者生产一个消息到channel,消费者从channel消费一个消息,所以channel可以对消息组件解耦,并且提供一个方便的拦截功能和监控功能。这里channel分两种,种是point-to-point点对点的,一种是publish-subscribe发布订形式的,这个和JMS是一样的。(所有消息都是这样的)。如果是点对点的channel,至少会有一个消费者consumer能收到发送的message,另一种订阅发布的channelspringintegration试图去用广播的形式发布message给那些订阅者subscriber,这些都被spring支持。其实采用哪种方式,最终是由用户数量决定的。你也可以实现自己的messagechannel,这个后面再说。再多说两句,这块还需要考虑channelbuffer以及consumer是否过载(consumer的数量)。

Spring_Integration入门

相关推荐