2016-06-08 37 views
0

这可能让Mule执行SFTP Invoke流的中间部分。我有要求在白天的特定时间阅读文件。我注意到有Quartz Polling Job的例子,但注意到只读1个文件是有限制的。我正在寻找一种SFTP活动来按照特定模式读取文件。任何方向这将有助于。在Mule Quartz中调用SFTP流入调用Mule流

注意Mule只允许入站或出站端点。

谢谢

+0

在中途添加SFTP端点正在抛出错误。指示SFTP正在进行输入。虽然我希望SFTP创建一个连接并基于消息输入生成流行为。 mep = REQUEST_RESPONSE,properties = {},transactionConfig = Transaction {factory = null,action = INDIFFERENT,timeout = 0},deleteUnacceptedMessages = false,initialState = started,responseTimeout = 10000,endpointEncoding = UTF-8,disableTransportTransformer = false}。消息有效负载的类型为:NullPayload – SanSharma

+0

这是一个限制。添加SFTP,中途期望SFTP有效负载。我向事件生成器作业添加了一个字符串。现在,有效负载将作为目标文件生成。 \t dummy ) – SanSharma

+0

添加中间的任何文件端点将用作出站端点,因此它期望文件写入的有效载荷。 – AnupamBhusari

回答

3

您可以使用Mule Requester模块获取流之间的资源。 详情可Mule Requester Module

中找到参考下面的代码调度流从SFTP位置检索文件

<flow name="testmappingFlow2"> 
     <poll doc:name="Poll"> 
      <schedulers:cron-scheduler expression="0 0 0 * * ?"/> 
      <logger message="Sheduled job invoked" level="INFO" doc:name="Logger"/> 
     </poll> 
     <!-- Your flow logic goes her --> 
     <mulerequester:request-collection config-ref="Mule_Requester" resource="{sftp.resource}" count="10" doc:name="Mule Requester"/> 
     <!-- Your flow logic for processing files. above code will return 10 files at time. --> 
    </flow> 

希望这有助于。

+0

谢谢。试图执行相同的操作。请求者未找到文件时如何处理情况。我注意到类型为null的对象正在加载到目标上。 – SanSharma

+0

添加选择表达式。 #[!(有效负载instanceof org.mule.transport.NullPayload)] – SanSharma

+1

我希望你的最初问题得到解决。 – AnupamBhusari

0

使用Mule Requestor已经工作。感谢Anupam。