You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mule FTP Connector 1.8.2列出文件时timestamp属性值异常求助

FTP连接器时间戳显示异常的原因及解决办法

问题原因

mule-ftp-connector 1.8.2版本存在时间戳解析逻辑bug:

  • 当FTP服务器返回MM/DD/YYYY(月/日/年)格式的时间时,连接器错误地按DD/MM/YY(日/月/两位年份)规则解析,直接导致日期、月份、年份全部错位。
  • 比如你遇到的情况:服务器时间06/02/2023 08:26:52被错误拆解为日=23、月=06、年份=2002,最终输出2002-06-23T08:26:52。
  • 这个问题源于连接器依赖的Apache Commons Net库在处理非标准FTP时间格式时的兼容性问题,而FileZilla等客户端会自动适配不同时间格式,所以显示正常。

解决办法

  • 升级连接器版本:1.8.2之后的mule-ftp-connector版本(如1.9.0及以上)已经修复了该解析bug,直接升级到与你的Mule runtime兼容的最新版本即可解决。
  • 自定义解析逻辑:如果暂时无法升级,可在List组件后通过DataWeave或Groovy脚本重新解析原始时间字符串(从attributes.raw中提取FTP返回的原始时间文本),替换错误的timestamp值。示例DataWeave脚本:
    %dw 2.0
    output application/java
    fun parseCorrectTime(rawTime: String) = 
        rawTime as DateTime {format: "MM/dd/yyyy HH:mm:ss"} // 匹配服务器实际时间格式
    ---
    payload map ((file) -> 
        file update {
            case attr at .attributes -> attr ++ {timestamp: parseCorrectTime(attr.raw.modifyTime)}
        }
    )
    
  • 调整FTP服务器配置:若有权限,可将FTP服务器的时间返回格式改为YYYY-MM-DD HH:mm:ss这类无歧义的标准格式,从根源避免解析错误。

内容的提问来源于stack exchange,提问作者Vish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 05:27:38