Vim*_*duk 2 java spring spring-integration
Spring Integration 支持多渠道。
这些渠道有什么区别?
如果用真实世界的例子回答,将不胜感激。
我们可以将 aDirectChannel视为“根本没有频道”。这只是满足管道和过滤器架构的一种便捷方式,但支持端点之间的内存通信,更多的是在同一线程中。另一方面,这是一个SubscribableChannel期望一些订阅者进行发送消息调度的。当然,这只是一个实现细节,但仍然很重要。还需要记住,使用此通道,生产者在发送期间是阻塞的,直到消费者完成其工作并将管理返回给生产者调用者。
APolableChannel是一个抽象。你需要研究一下QueueChannel实现。这个通道的目的是区分不同线程中消息的发送者和接收者。这个模型非常接近于我们在消息代理实现中所拥有的:生产者发送消息并忘记 - 它准备做任何其他事情,同时消息存储在队列中。消费者定期轮询队列以获取新消息,并且在消费者方便时这样做,而不会对生产者产生任何影响。
在现实世界中,我从不使用 in-memory QueueChannel,而是它基于一些持久存储的变体,在那些我们无法访问 Message Broker 的情况下。内存中的问题,当应用程序意外崩溃时,您可能会丢失数据。
| 归档时间: |
|
| 查看次数: |
545 次 |
| 最近记录: |