- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这样的 java spring boot 配置:
@Bean
public SubscribableChannel channel(MessageHandler handler) {
PublishSubscribeChannel channel = new PublishSubscribeChannel(Executors.newFixedThreadPool(2));
channel.subscribe(handler);
return channel;
}
我的处理程序代码:
@Service
public class SomeDataHandler implements MessageHandler {
@Override
public void handleMessage(Message<?> message) throws MessagingException {
System.out.print(message.getPayload());
}
}
还有一些客户端代码:
@Autowired
private SubscribableChannel channel
...
channel.send(...)
而且它不起作用。只是什么也没发生。但这个配置对我来说效果很好:
@Bean
public SubscribableChannel channel(MessageHandler handler) {
PublishSubscribeChannel channel = new PublishSubscribeChannel();
channel.subscribe(handler);
return channel;
}
看来我需要做更多的事情来将任务执行器应用到我的 channel 。有任何想法吗?谢谢。
Spring 集成版本 - 4.2.5
最佳答案
“不起作用”没什么可说的 - 显示您的执行器和处理程序 bean 配置。
打开调试日志记录 - 它应该可以帮助您弄清楚发生了什么。
您不应该在 bean 声明中订阅 channel ;处理程序将由框架自动订阅(如果配置正确)。
编辑
您并没有真正使用该框架的设计;当使用执行器时,调度程序会在 bean 创建期间被替换 - 覆盖您的订阅。您在 Bean 生命周期中订阅得太早了。
虽然没有必要,但通常最好将 AbstractMessageHandler
子类化并实现 handleMessageInternal
- 然后像这样配置它......
@ServiceActivator(inputChannel="channel")
@Bean
public MyAMHSubclass handler() {
return new MyAMHSubclass();
}
并从 channel bean 声明中删除 subscribe
。
@ServiceActivator
将处理程序包装在消费者中,该消费者在初始化上下文时订阅 channel 。
关于java - 将 TaskExecutor 与 PublishSubscribeChannel 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38057763/
我想了解 PublishSubscribeChannel 的工作原理,因此我实现了一个小示例: @Bean public MessageSource integerMessageSource() {
我有一个用 @ServiceActivator("CH1") 注释的方法,其中“CH1”定义是: @Bean(name = "CH1") MessageChannel ch1() {
我有这样的 java spring boot 配置: @Bean public SubscribableChannel channel(MessageHandler handler) { Pub
我发现“ 默认 “errorChannel”是一个 PublishSubscribeChannel”,但我无法理解 为什么 .我们可以使用直接 channel 吗?什么是缺点使用直接 channel
我希望定义一个过程,例如“执行操作 A,然后在 A 的输出负载上执行 B 和 C”: +- [B] [A] -> | +- [C] 我真的不需要在 [B] 和 [C] 执行
我是一名优秀的程序员,十分优秀!