是否可以通过代码调用 sftp 出站端点并发送文件?我在 java 代码中(在自定义转换器中)有一个 File 对象的引用,我想调用 sftp 出站端点并传递该 File 引用。这是可行的吗?谢谢。
问问题
856 次
1 回答
1
通过它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"));
于 2012-11-02T15:21:54.077 回答