windows 延迟Mirth消息传递

ffscu2ro  于 2022-12-19  发布在  Windows
关注(0)|答案(1)|浏览(159)

我正在与一个安排约会的系统连接。目的地系统不允许提前30天安排约会,但源系统可以随时发送约会(经常超过30天)。我如何延迟信息的发送,直到它在30天的窗口内?

s4n0splo

s4n0splo1#

创建两个通道。让第一个通道将文件写入磁盘,并将"lastWriteTime"设置为您希望传递消息的日期。第二个通道应从该目录读取,并使用"Check File Time"选项仅过滤具有历史日期的消息。

通道1目标1:

转换器Javascript:
channelMap.put('deliverAfter', msg['SCH']['SCH.11']['SCH.11.1'].toString());
目的地设置:

连接器类型:Javascript编写器

var deliverAfter = DateUtil.getDate('yyyyMMddHHmm', $('deliverAfter'));
    var path = 'c:/data/queue/' + connectorMessage.getMessageId();
    org.apache.commons.io.FileUtils.writeStringToFile(new java.io.File(path), connectorMessage.getEncodedData(), 'UTF-8');
    java.nio.file.Files.setLastModifiedTime(java.nio.file.Paths.get(path), java.nio.file.attribute.FileTime.fromMillis(deliverAfter.getTime()));

通道2:

源阅读器设置:

路径:c:/data/queue/
处理后操作:删除
检查文件期限:是的
文件期限(毫秒):1000
编码:UTF-8

相关问题