我喜欢SI允许使用@Gateway和@ServiceActivator对信道进行透明代理的方式。
我在看http://docs.spring.io/spring-integration/reference/html/messaging-channels-section.html#channel-interfaces-subscribablechannel。有两种渠道:
看看这些,在我看来,所有这些都是为了让下面的一个是真的:
是否有一种方式可以配置/使用SI:
与来自Java本身的put / take非常类似。
我是不是忽略了一些约束?此外,如果Spring中还有其他替代方法来实现我试图使用类似接口(基本上是异步事件总线)所做的事情(即不必手动发送消息,而是以透明的方式使用接口),我将很高兴听到这些消息。
发布于 2015-03-19 19:36:04
如果您使用QueueChannel并将poller的receiveTimeout设置为-1,框架将执行您想做的事情--poller线程将阻塞等待消息的receive() (带有负值超时,它在封面下使用take() )。
默认情况下(对于轮询使用者),max-messages-per-poll也是-1 (无穷大),这意味着根本不存在“轮询”(在第一个触发器之后),只是阻塞。
如果队列有限制,则发送方将阻塞,直到有空间(当发送超时为-1 (默认值)时,它使用put() )。
https://stackoverflow.com/questions/29133618
复制相似问题