gpt4 book ai didi

java - PollableChannel 和 DirectChannel 有什么区别?

转载 作者:行者123 更新时间:2023-12-01 23:24:01 25 4
gpt4 key购买 nike

Spring Integration 支持多个 channel 。

这些 channel 有什么区别?

如果能用现实世界的例子来回答,我们将不胜感激。

最佳答案

我们可以治疗 DirectChannel为“根本没有 channel ”。这只是满足管道和过滤器体系结构的一种便捷方法,但支持端点之间的内存中通信,更多的是在同一线程中。另一方面,这是一个 SubscribableChannel它期望一些订阅者进行发送的消息调度。当然,这只是一个实现细节,但了解仍然很重要。还需要记住,使用此 channel ,生产者在发送期间会阻塞,直到消费者完成其工作并将管理返回给生产者调用者。

一个PolableChannel是一个抽象。您需要查看QueueChannel执行。此 channel 的目的是区分不同线程中消息的发送者和接收者。该模型非常接近我们在消息代理实现中的模型:生产者发送消息并忘记 - 在消息存储在队列中的同时,它准备好执行其他操作。消费者定期轮询队列以获取新消息,只要消费者方便,它就会这样做,而不会对生产者产生任何影响。

在现实世界中我从未使用过内存 QueueChannel ,但它的变体基于某些持久存储,在我们无法访问消息代理的情况下。内存中的问题是,当应用程序意外崩溃时,您可能会丢失数据。

关于java - PollableChannel 和 DirectChannel 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51727450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com