繁体   English   中英

Mule Esb CE sftp出站终结点调用表单代码(自定义Java转换器)

[英]Mule Esb CE sftp outbound endpoint invoke form code (custom java transformer)

是否可以通过代码调用sftp出站端点并发送文件? 我有一个用Java代码(在自定义转换器中)对File对象的引用,并且我想调用sftp出站终结点并传递该File引用。 这可行吗? 谢谢。

传递一个FileInputStream ,它应该可以工作。

muleContext.getClient().dispatch("sftp://...", new FileInputStream(file), null);

如果不是,则必须将其传递给byte[]

请注意, dispatch是异步的:在发生SFTP通信时,调用将立即返回。 如果要等到完成,请使用带有超时的send作为最后一个参数。

由于已配置了多个SFTP连接器,因此必须在URL中指定连接器名称。 假设您要使用SFTP_Upload_Connector进行分派,则必须使用:

muleContext.getClient().dispatch("sftp://...?connector=SFTP_Upload_Connector", new FileInputStream(file), null);

如果要设置特定的目标文件名,请在属性映射中将其作为名为filename的属性传递,例如使用:

muleContext.getClient().dispatch("sftp://...?connector=SFTP_Upload_Connector", new FileInputStream(file), Collections.singletonMap("filename", "somen_ame"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM