繁体   English   中英

Spring Integration JMS组件欠佳

[英]spring integration jms components understading

我对Spring集成和JMS适配器项目不熟悉,我试图了解各种适配器。 请有人解释,为什么以及何时使用以下内容

<bean id="jmsDestination" class="com.tibco.tibjms.TibjmsQueue">
    <constructor-arg value="queue.sample" />
</bean>

这充当队列吗?

<integration:channel id="requests"/>这是什么? 为什么以及何时应该定义和使用什么?

<int-jms:outbound-channel-adapter><int-jms:inbound-channel-adapter>什么时候以及为什么我们应该使用它? 请注意,我从文档中了解到,一个是消费者,另一个是向频道创建新消息。

最后, <int-jms:message-driven-adapter>什么时候以及为什么我们应该使用它?

我可以浏览文档,了解其中的每一个,但是无法弄清楚编写Spring集成代码的顺序,以便我可以将它们连接在一起。

例如:回答如下:“您需要定义一个通道,然后它应该有一个出站适配器,其目的地名称与通道ID相匹配。等,这样会很有帮助”

我在这里先向您的帮助表示感谢。

Spring Integration是企业集成模式的实现。

Message Channel将生产者绑定到消费者。 最常见的类型是DirectChannel ,它是您在上面定义的一种。

您的第一个<bean/>与Spring Integration无关,它是Tibco对JMS Destination的实现(在本例中为称为queue.sample的队列)。 不幸的是,JMS选择了“目的地”,因为您不仅要发送到目的地,而且还要从目的地接收。

Spring Integration适配器(及其所在的Spring JMS)将消息发送到JMS目标并从JMS目标接收消息。 目标是适配器配置的一部分。

outbound-channel-adapter用于将消息发送到JMS。 入站通道适配器有两种类型, inbound-channel-adapter是已轮询的消息源-您将轮询器配置为每隔很长时间运行一次,它将轮询适配器以对消息进行“轮询”。 轮询器通常会在客户端中阻止可配置的超时。 message-driven-channel-adapter未轮询; 它具有(一个或多个)事件驱动的内部线程-当消息到达队列时,消息会被推送到适配器的通道。

在这两种驱动程序中,最常用的是消息驱动适配器,但是如果希望仅在一天中的特定时间(使用cron触发器)检索消息,则可能希望使用轮询适配器。

典型的流程可能是

message-driven-adapter->transformer->outbound-channel-adapter

->是通道的情况下,转换器对数据进行一些处理,并且适配器将配置为可从目标读取和写入目标。

建议您阅读参考手册的介绍性章节和JMS章节。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM