Spring Integration DSL:处理 FileSplitter START/END 标记有效负载

2023-12-22

我想设置这样的集成流程:

    return IntegrationFlows
            .from("inputChannel")
            .split(fileSplitter)
            .handle(this::doStuff1)
            .handle(this::doStuff2)
            .handle(this::doStuff3)
            .aggregate()
            .handle(this::deleteFile)

文件分割器:

@Bean
public FileSplitter fileSplitter() {
    FileSplitter fileSplitter = new FileSplitter(true, true);
    fileSplitter.setCharset(StandardCharsets.UTF_8);
    fileSplitter.setApplySequence(true);
    return fileSplitter;
}

输入的类型为File。文件大小很大,所以我想逐行流式传输内容,处理它们并在最后删除文件。问题是现在我必须检查并忽略链上所有处理程序方法中的文件 SOF、EOF 标记有效负载。有没有不同的方法而不检查每个 doStuff 方法中的类型? (我认为建议可能有用,但还没有尝试过)


You can .filter()标记,.route()他们到不同的渠道或.transform()例如,它们是一个空字符串。

.filter()在您的情况下可能是最简单的,带有一个“智能”过滤器,它还会删除结束标记上的文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Integration DSL:处理 FileSplitter START/END 标记有效负载 的相关文章

随机推荐

  • 以一定角度在 Canvas 中绘制图像,无需旋转 Canvas

    我正在使用 JavaScript 中的画布在 HTML 5 中绘制图像 我需要以旋转角度绘制它 我知道这可以通过使用画布上下文应用旋转 角度 函数来完成 但我需要这样做不旋转画布本身 如果可能的话 请建议可能的方法 实际上 您可以将想要旋转
  • Android - 围绕中心点旋转图像?

    当用户触摸并拖动位图 不是视图或画布 时 如何围绕其中心点旋转位图 我已经尝试了很多有关堆栈溢出的示例 但似乎都不起作用 到目前为止我有 double r Math atan2 posX dial getWidth 2 dial getHe
  • SQLAlchemy:如何根据其后端有条件地选择列的类型

    我想用HSTORE http docs sqlalchemy org en rel 0 8 dialects postgresql html sqlalchemy dialects postgresql HSTORE如果列使用 Postgr
  • Android 更新 ui 线程元素 - 最佳实践?

    我有一个应用程序可以显示一些测量值 例如温度 速度等 我想或多或少地坚持 MVC 模式 所以我得到了一些东西 可以在值出现时接收它们 从蓝牙组件 并将它们排序到特殊的值处理程序 这些应该计算东西等等 来自地理坐标的速度等等 并将值传递给视图
  • 使用 C# 获取以毫秒为单位的时间

    我正在编写一个程序 需要以毫秒为单位获取时间 我所说的时间 是指一个永远不等于自身的数字 并且总是比前一秒大 1000 个数字 我尝试过转换DateTime Now to a TimeSpan并得到TotalMilliseconds据此 但
  • Chart.js 中多个图表上的工具提示显示错误的值

    我正在使用最新的 Chart bundle js 在同一页面上创建多个堆叠条形图 例如 我有 3 个图表和 2 个数据集 图表是正确的 但每个图表上的工具提示始终相同并且显示错误的值 截图链接 https i stack imgur com
  • PHP 中的提醒系统

    我将在周末用 PHP 创建一个小型提醒系统 计划是 用户注册 用户使用简单的表单创建提醒和待办事项 输入提醒名称 描述和时间等详细信息 该信息存储在 MySQL 数据库中 脚本检查数据库中是否有应发送的提醒 并将它们发送到用户的电子邮件以及
  • 使用Oracle序列将日志id从jdbc插入到2个表中?

    我正在使用 oracle 序列将日志 id 插入到 tableA 中 如下所示 String SQL PREP INSERT INSERT INTO tableA LOG ID USER ID EXEC TIME VALUES logid
  • Powershell计划任务在启动时重复

    我正在尝试使用以下触发器创建计划任务 启动 每 5 分钟运行一次 无限期运行 在 GUI 中 我可以通过选择以下内容轻松完成此操作 开始任务 启动时在 高级 选项卡中 重复任务间隔 5 分钟 持续时间 无限期 但我在使用 Powershel
  • 不支持 IE9 border-radius 简写?

    我过去做过一些具有 border radius 属性的东西 如下所示 border radius 7px 这在 IE9 中不起作用 我以为IE9应该支持border radius 如果您需要示例 请参阅这个网站 http www accou
  • ArrayList迭代相同的数据

    我尝试以 MVC 模式创建一个 Web 应用程序来显示数据库中的数据 JSP
  • 如何用C语言实现十进制到十六进制的转换器

    所以我是 C 的绝对初学者 我必须制作一个十进制到十六进制的转换器 所以我想我需要创建一个循环 直到结果为 0 但我怎样才能让它记住所有剩余的内容呢 该数字将使用 scanf 输入 因此我无法为其定制代码 现在我想做这样的事情 while
  • 在 Cassandra 中更改集群名称

    我有一个集群 有 2 台机器 centos7 和 cassandra 3 4 192 168 0 175 和 192 168 0 174 种子是 192 168 0 175 我只是想更改集群名称 蛋糕应该是和平的 我在每个集群上做了 upd
  • 按类别和标签列出 WordPress 帖子

    我想在 WordPress 中生成所有类别名称为 X 且标签名称为 Y 的帖子 query posts cat X List tag Y 我上面的工作在一定程度上但并不完全 因为我需要重复这个列表并只是回显 the title 问题非常相似
  • 为什么 Worklight 应用程序需要 Worklight Server?

    我在 IBM Worklight for Android 上开发了一个应用程序 我必须使用 Web 服务 但我需要 worklight 服务器 我想知道为什么在工作灯上开发的应用程序需要工作灯服务器 难道我不能在没有worklight服务器
  • 我可以将react.js应用程序捆绑到多个模块中吗?

    假设我有一个带有多个选项卡的网站 使用react js构建 每个选项卡都包含大量数据 通常 webpack 将反应应用程序捆绑到一个捆绑包中 但如果您从不访问其中一个选项卡 这将浪费资源 是否可以将其分成单独的捆绑包 而无需重新捆绑 Rea
  • UnregisterListener 不适用于 PROXIMITY_SCREEN_OFF_WAKE_LOCK

    我有这个代码 public class MainActivity extends AppCompatActivity implements SensorEventListener private SensorManager mSensorM
  • 由于“无效的二进制文件”,应用程序上传到 itunesConnect 失败,但来自苹果的邮件没有提及任何问题

    我正在尝试将我的应用程序发布到 itunesConnect 一切顺利 我成功上传了应用程序 一段时间后 我收到来自 itunesConnect 的通知 显示 无效的二进制文件 并且我收到来自 Apple 的邮件 应用商店连接 亲爱的开发者
  • Python:查找表的列表与字典

    我有大约 1000 万个值需要放入某种类型的查找表中 所以我想知道 list 或 dict 哪个更有效 我知道你可以为两者做这样的事情 if something in dict of stuff pass and if something
  • Spring Integration DSL:处理 FileSplitter START/END 标记有效负载

    我想设置这样的集成流程 return IntegrationFlows from inputChannel split fileSplitter handle this doStuff1 handle this doStuff2 handl