mulesoft - 在 Mulesoft 中如何在 ActiveMQ 尝试重新连接时停止 SFTP 连接器以读取文件
问题描述
我有一个可靠的采集流程,其中一个入站 SFTP 连接器正在轮询和读取文件并发布到 JMS ActiveMq。当 ActiveMQ 关闭时,我遇到了问题。JMS 连接器进入重新连接模式可以说每分钟但 SFTP 正在积极读取文件并尝试在 ActiveMq 中发布文件。这会导致消息丢失,并且死信队列的概念也不起作用,因为 JMS 已关闭。
有没有办法在 JMS 成功重新连接之前停止读取文件?另外,如果消息在飞行中并且 JMS 在消息进入队列之前停止了怎么办?消息会回滚吗?
我正在使用骡子 3.9
解决方案
如果您将流处理策略设置为同步并在连接器配置中仅使用 1 个接收器线程。如果前一个文件没有被处理,那么它不应该尝试读取一个新文件。如果没有这些更改,它就不是可靠模式的正确实现。
更多信息:
- 可靠模式的文档:https ://docs.mulesoft.com/mule-runtime/3.9/reliability-patterns 。
- 知识库文章:https ://help.mulesoft.com/s/article/How-to-fetch-files-in-order-using-the-FTP-connector
例子:
<sftp:connector name="sftpConn">
<receiver-threading-profile maxThreadsActive="1" />
</sftp:connector>
<flow name="mainFlow" processingStrategy="synchronous">
...
推荐阅读
- numpy - 关于 Numpy 符号的困惑
- python - 如何在 Google 的 Colab 中安装 Python 包?
- c - 如何在 C 中创建一个 unicode 变量?
- r - 使用 R 将数据框从日历年重新排序为水年
- php - 如何使用sql server检查用户名是否已在PHP中使用
- python - Pycharm在制作新项目时不显示框架选择
- javascript - Ethereum web3 sendSignedTransaction:资金不足。帐户...没有足够的资金。需要 750000000000000 并得到:0
- node.js - AWS Cognito 与无服务器框架
- python - 如何使用 Python 3.7 提取视频文件的元数据?
- javascript - 这件事的背景搞砸了——我做错了什么?