FileWritingMessageHandler 中的 APPEND_NO_FLUSH 是如何工作的?
How does APPEND_NO_FLUSH in FileWritingMessageHandler work?
The default flush interval is 30000. Why does the start method of the FileWritingMessageHandler divide this interval by 3之前排期吗?
我尝试通过创建以下流来测试 spring-cloud-dataflow 项目的刷新:'time | file --mode=APPEND_NO_FLUSH --directory=test'
预期结果:30 秒后看到 30 条消息写入文件。
实际结果:0 条消息写入文件。
我们必须比间隔更频繁地安排刷新器 运行,否则如果我们在 00:00:30, 直到 00:01:00).
才会刷新文件
通过 运行 以间隔 / 3 设置冲洗器,实际间隔将在 3 到 4 运行 秒之间。
对于 30 秒的间隔,实际间隔将在 30 到 40 秒之间,平均为 35 秒。
为了使它更准确,我们必须更频繁地 运行 冲洗器。
我们应该在 java 文档中阐明算法。
编辑
08:44:01.578 [main] DEBUG o.s.i.channel.DirectChannel - postSend (sent=true) on channel 'input', message: GenericMessage [payload=this is another test, headers={timestamp=1484919841573, id=ac106489-73ad-da18-791d-3d0ec515c567, dir=expression}]
08:44:41.509 [task-scheduler-3] DEBUG o.s.i.file.FileWritingMessageHandler - Flushed: /var/folders/rl/6ys7s69j2tqcjyvy8thdsd7m0000gp/T/dataflow-tests/expression/this.out
The default flush interval is 30000. Why does the start method of the FileWritingMessageHandler divide this interval by 3之前排期吗?
我尝试通过创建以下流来测试 spring-cloud-dataflow 项目的刷新:'time | file --mode=APPEND_NO_FLUSH --directory=test'
预期结果:30 秒后看到 30 条消息写入文件。
实际结果:0 条消息写入文件。
我们必须比间隔更频繁地安排刷新器 运行,否则如果我们在 00:00:30, 直到 00:01:00).
才会刷新文件通过 运行 以间隔 / 3 设置冲洗器,实际间隔将在 3 到 4 运行 秒之间。
对于 30 秒的间隔,实际间隔将在 30 到 40 秒之间,平均为 35 秒。
为了使它更准确,我们必须更频繁地 运行 冲洗器。
我们应该在 java 文档中阐明算法。
编辑
08:44:01.578 [main] DEBUG o.s.i.channel.DirectChannel - postSend (sent=true) on channel 'input', message: GenericMessage [payload=this is another test, headers={timestamp=1484919841573, id=ac106489-73ad-da18-791d-3d0ec515c567, dir=expression}]
08:44:41.509 [task-scheduler-3] DEBUG o.s.i.file.FileWritingMessageHandler - Flushed: /var/folders/rl/6ys7s69j2tqcjyvy8thdsd7m0000gp/T/dataflow-tests/expression/this.out