mule将每个循环中的多个文件从一个文件夹移动到另一个文件夹内

时间:2015-03-31 17:46:54

标签: mule

Below is my mule flow. I want to move my corresponding from the jdbc query rseult set

----------------------------------------------------


<foreach doc:name="Foreach"  counterVariableName="#[message.payload.size()]">
      <logger message="#[payload.filepath]  -  #[payload.name] - #[payload.filename]" level="INFO" doc:name="Logger" />
    </foreach>

---------------------------------------------------------------------

 <jdbc-ee:postgresql-data-source name="PostgreSQL_Data_Source"
                  user="postgres" password="postgres" url="jdbc:postgresql://localhost:5432/postgres"
                  transactionIsolation="UNSPECIFIED" doc:name="PostgreSQL Data Source">
    </jdbc-ee:postgresql-data-source>
      <jdbc-ee:connector name="JDBCConnector"
                  dataSource-ref="PostgreSQL_Data_Source" validateConnections="true"
                  doc:name="JDBCConnector">
        <jdbc-ee:query key="emprec" value="select  * from emp where salary>50000";">
      </jdbc-ee:query>
    </jdbc-ee:connector>
      <flow name="empflow" >
        <quartz:inbound-endpoint responseTimeout="10000"
                         doc:name="Quartz" jobName="CronJobSchedule" repeatInterval="0"
                         cronExpression="0 0/1 * ? * MON-FRI" repeatCount="1">
          <quartz:event-generator-job>
            <quartz:payload>quartzSchedular started</quartz:payload>
          </quartz:event-generator-job>
        </quartz:inbound-endpoint>
        <jdbc-ee:outbound-endpoint queryKey="emprec"
                         queryTimeout="-1" connector-ref="JDBCConnector" exchange-pattern="request-response"
                         doc:name="Database" />
        <logger message="Size of payload is ::: #[message.payload.size()]" level="INFO" doc:name="Logger"/>

        <foreach doc:name="Foreach"  counterVariableName="#[message.payload.size()]">
          <logger message="#[payload.filepath]  -  #[payload.name] - #[payload.filename]" level="INFO" doc:name="Logger" />
        </foreach>
      </flow>

请建议使用查询结果移动任何文件名的方法,该文件需要移动其他位置 在每个循环的内部,我尝试了入站和出站的文件。但它没有解决

1 个答案:

答案 0 :(得分:0)

1 - 你需要加载文件,因为我建议使用Mule Requester Module。您可以在此blogpost中找到更多信息。

2 - 之后,您可以使用文件出站端点移动它。

以下是一个例子:

<mulerequester:request config-ref="Mule_Requester" resource="file:///Users/anafelisatti/test.txt" returnClass="java.lang.String" doc:name="Mule Requester"/>
<file:outbound-endpoint responseTimeout="10000" doc:name="File" outputPattern="test.txt" path="/Users/anafelisatti/Documents"/>

希望有所帮助。