我是Spring集成的新手;如果我理解正确,Spring集成有3个主要参与者;
1发布商
2订阅者
3频道。
我可以理解发布者,将DB / File系统用作队列的订阅者框架。 Spring集成队列驻留在哪里?如果发布者和订阅者本身是个人流程,他们如何共享频道?是否可以访问Publisher进程和订阅者进程的通道,因为它们在同一个JVM中运行?
这是否意味着,如果发布者在一台机器上运行而订户在另一台机器上运行,我们是否不能使用Spring集成?
答案 0 :(得分:0)
Spring Integration是开发集成解决方案的框架。它很轻,不提供Broker解决方案。
如果您的生产者和消费者在不同的JVM中,您必须使用第三方Messaging Broker,如ActiveMQ,RabbitMQ,Apache Kafka,Hazelcast等。
Spring Integration只提供构建块,其余部分都可以使用。通道的主要功能,您始终可以将其切换到不同的实现,而不会影响生产者和消费者。是的,如果生产者和消费者都在同一个JVM中,那么外部网络通信就没有理由。在大多数情况下,您甚至不需要使用QueueChannel
- DirectChannel
足以在生产者的线程中执行消费。
有关详细信息,请参阅Message Channels。