社区首页 >问答首页 >Spring-Integration-DSL:嵌套的散射集挂起

Spring-Integration-DSL:嵌套的散射集挂起
EN

Stack Overflow用户
提问于 2021-07-13 14:56:09
回答 1查看 71关注 0票数 2

下面是一个坏了但可执行的示例代码:

代码语言:javascript
代码运行次数:0
复制
@Bean
IntegrationFlow testFlow() {
    return IntegrationFlows
            .from(Http.inboundChannelAdapter("test")
                    .requestMapping(mapping -> mapping.methods(HttpMethod.GET))
                    .get())
            .scatterGather(
                    scatterer -> scatterer
                            .applySequence(true)
                            .recipientFlow(flow -> flow
                                    .scatterGather(
                                            scatterer1 -> scatterer1
                                                    .applySequence(true)
                                                    .recipientFlow(IntegrationFlowDefinition::bridge),
                                            gatherer -> gatherer.outputProcessor(MessageGroup::getOne))
                                    .log(INFO, m -> "THIS HAPPENS")),
                    gatherer -> gatherer.outputProcessor(MessageGroup::getOne))
            .log(INFO, m -> "THIS NEVER HAPPENS")
            .get();
}

预期产出如下:

代码语言:javascript
代码运行次数:0
复制
THIS HAPPENS
THIS NEVER HAPPENS

实际产出如下:

代码语言:javascript
代码运行次数:0
复制
THIS HAPPENS

我在Github上找到了这个看上去一样的问题,但它声称已经用5.1.105.2.4版本修复了它。我运行的弹簧启动-启动-集成5.5.0,其中包括弹簧集成-核心的相同版本.

我能做些什么才能让这个嵌套的散射集合工作呢?它是DSL的错误还是我的代码的错误?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-15 02:11:38

在遇到类似的问题后,只使用一个级别的分散收集,我意识到是日志消息阻止了输出返回到父流。将.log()替换为.logAndReply().log().bridge(),一切都会再次正常工作。

如下所示:

代码语言:javascript
代码运行次数:0
复制
@Bean
IntegrationFlow testFlow() {
    return IntegrationFlows
            .from(Http.inboundChannelAdapter("test")
                    .requestMapping(mapping -> mapping.methods(HttpMethod.GET))
                    .get())
            .scatterGather(
                    scatterer -> scatterer
                            .applySequence(true)
                            .recipientFlow(flow -> flow
                                    .scatterGather(
                                            scatterer1 -> scatterer1
                                                    .applySequence(true)
                                                    .recipientFlow(IntegrationFlowDefinition::bridge),
                                            gatherer -> gatherer.outputProcessor(MessageGroup::getOne))
                                    .logAndReply(INFO, m -> "THIS HAPPENS")), // this fixes the problem
                    gatherer -> gatherer.outputProcessor(MessageGroup::getOne))
            .log(INFO, m -> "THIS NEVER HAPPENS")
            .get();
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68370133

复制
相关文章
SQL嵌套查询_sql差集嵌套
派生表就是一个由查询结果生成的临时表。他是在外部查询的 FROM 中定义的。派生表的存在范围只是在外部查询中,只要外部查询结束了,派生表也就不存在了。派生表一定要写在 FROM 后面范围内,用()括起来。后面跟着派生表的名称。
全栈程序员站长
2022/09/22
2.2K0
SQL嵌套查询_sql差集嵌套
进程的挂起状态详细分析方法_线程挂起
交换的需要 前面图中三个基本状态(就绪态、运行态和阻塞态)提供了一种为进程行为建立模型的系统方法,并指导操作系统的实现。
全栈程序员站长
2022/11/17
1.9K0
进程的挂起状态详细分析方法_线程挂起
cssjshtml 字符串散射
<canvas id='c'></canvas> <script type="text/javascript"> // shim layer with setTimeout fallback window.requestAnimFrame = (function(){ return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozReque
葫芦
2019/04/17
4570
进程的执行和挂起
进程是对逻辑的抽象,我们从操作系统的书籍中对进程有了很多的认识,但是对进程的实现可能不太了解,这篇文章尝试解释一下关于进程实现的大致原理。 进程的实现,其实和我们平时写代码的时候一样,比如我们要表示一个东西,我们会定义一个数据结构。进程也不例外。所以进程的本质就是一个数据结构,他保存了一系列的数据。操作系统以数组或者链表的形式和全部的进程管理起来。进程可以说分为两种 1 系统初始化时第一个进程, 2 除了第一个进程外的其他进程,他们都是由fork或者fork+execute系统调用创建出来的。 我们首先看一下进程的结构体都有什么信息。
theanarkh
2020/04/01
1.7K0
进程的执行和挂起
【Kotlin 协程】协程的挂起和恢复 ① ( 协程的挂起和恢复概念 | 协程的 suspend 挂起函数 )
协程 在 调用 call 和 返回 return 基础上 , 又新增了两种 状态 :
韩曙亮
2023/03/30
1.7K0
进程处于挂起状态表示_挂起进程转换图
而在这些状态之外还存在着一个状态,我们称之为挂起状态,它既可以是我们客户主动使得进程挂起,也可以是操作系统因为某些原因使得进程挂起。总而言之引入挂起状态的原因有以下几种:
全栈程序员站长
2022/11/17
1.4K0
进程处于挂起状态表示_挂起进程转换图
nohub后台挂起任务
基本命令 nohup command & 例子 nohup python data.py > myout.file 2>&1 & > 重定向 myout.file 日志存放位置 2>&1 将标准出错重定向到标准输出,这里是指标准输出已经重定向到myout.file文件 & 让该命令在后台执行 运行后查看进程 jobs -l 终止进程 kill -9 进程ID kill -9 -l 终止所有的进程
努力在北京混出人样
2019/01/28
2K0
【Kotlin 协程】协程的挂起和恢复 ② ( 协程挂起 和 线程阻塞 对比 )
协程 挂起 操作 : 在协程中使用 delay 函数 , 挂起 20 秒时间 , 然后 20 秒后更新 UI ; delay 函数是 挂起 suspend 函数 ;
韩曙亮
2023/03/30
1.8K0
11.4.6 集合嵌套查询与嵌套结果(结果集) -《SSM深入解析与项目实战》
项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm
谙忆
2021/10/26
4800
git分支挂起方法 转
软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。
双面人
2019/04/10
1.1K0
sql的嵌套查询_嵌套查询和嵌套结果的区别
SQL连接查询和嵌套查询详解 连接查询 若一个查询同时涉及两个或两个以上的表,则称之为连接查询。连接查询是数据库中最最要的查询,
全栈程序员站长
2022/09/22
3.9K0
sql的嵌套查询_嵌套查询和嵌套结果的区别
MySQL 嵌套查询_嵌套查询和嵌套结果的区别
where course.cno=sc.cno and course.cname=’数据库’ and grade>=80)[/code](3)查询计算机系最高成绩。
全栈程序员站长
2022/09/22
4.3K0
Flowable 流程实例的挂起(暂停)与激活
松哥最近正在录制 TienChin 项目视频~采用 Spring Boot+Vue3 技术栈,里边会涉及到各种好玩的技术,小伙伴们来和松哥一起做一个完成率超 90% 的项目,戳戳戳这里-->TienChin 项目配套视频来啦。 ---- 今天来和小伙伴们聊一聊流程的挂起和激活。 这块实际上涉及到两部分内容: 流程定义的挂起和激活。 流程实例的挂起和激活。 一个定义好的流程,如果挂起了,那么就无法据此创建新的流程。 一个流程实例如果挂起了,那么就无法执行流程中的任务。 小伙伴们注意区分这两个概念(看了前面几篇
江南一点雨
2022/10/08
1.6K0
Flowable 流程实例的挂起(暂停)与激活
process node 无限期挂起
最近在vpp-dev邮件中在讨论这个问题,恰巧也在生产环境上遇到了类型的问题。比如在vppctl进入命令行视图下发起ping 网关ip,却发现只能收到一个回应报文打印,然后就无限期的挂起等待中。这明显是感觉到process定时任务被挂起了。
dpdk-vpp源码解读
2023/06/23
2690
process node 无限期挂起
7.6 实现进程挂起与恢复
挂起与恢复进程是指暂停或恢复进程的工作状态,以达到一定的控制和管理效果。在 Windows 操作系统中,可以使用系统提供的函数实现进程的挂起和恢复,以达到对进程的控制和调度。需要注意,过度使用进程挂起/恢复操作可能会造成系统性能的降低,导致死锁等问题,因此在使用时应该谨慎而慎重。同时,通过和其他进程之间协同工作,也可以通过更加灵活的方式,实现进程的协调、交互等相应的功能,从而实现更加高效和可靠的进程管理。
微软技术分享
2023/09/24
3980
7.6 实现进程挂起与恢复
在 View 上使用挂起函数
Kotlin 协程 让我们可以用同步代码来建立异步问题的模型。这是非常好的特性,但是目前大部分用例都专注于 I/O 任务或是并发操作。其实协程不仅在处理跨线程的问题有优势,还可以用来处理同一线程中的异步问题。
Android 开发者
2022/09/23
2.4K0
函数的嵌套
# 输出:输出我在中国(大函数) 北京(小函数) def func_big(country): def func_small(city): print('我在%s,城市是%s' % (country, city)) func_small('北京') func_small('广州') func_big('中国') def func_big(country, bcity='北京'): def func_small(city): print
汪凡
2018/05/29
1.2K0
Repeater的嵌套
经常会遇到需要嵌套的地方,比如说回复帖子等,这时候可以使用Repeater来进行嵌套,据说同样适用于DataList,代码如下:
徐大嘴
2019/03/21
7210
7.6 实现进程挂起与恢复
挂起与恢复进程是指暂停或恢复进程的工作状态,以达到一定的控制和管理效果。在 Windows 操作系统中,可以使用系统提供的函数实现进程的挂起和恢复,以达到对进程的控制和调度。需要注意,过度使用进程挂起/恢复操作可能会造成系统性能的降低,导致死锁等问题,因此在使用时应该谨慎而慎重。同时,通过和其他进程之间协同工作,也可以通过更加灵活的方式,实现进程的协调、交互等相应的功能,从而实现更加高效和可靠的进程管理。
微软技术分享
2023/10/11
3890
7.6 实现进程挂起与恢复
for循环的嵌套
for循环: 嵌套循环:
大当家
2018/06/28
3.3K0

相似问题

HTCondor散射道集

11

skb和散射集特征

15

虹膜数据集的散射子图

14

基于散射道集的MPI矩阵乘法

11

具有跨越数据集轨迹的散射图

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文