1&2) If you have Mule EE (like in your example), this is not difficult. To do this in less than five minutes, you can use object-to-json-transformer
, and then use DataMapper to create a transformation from JSON to CSV. You can choose a delimiter and add column headers to the output from the settings.
3) Assuming you can google for how to set a cron expression for Mule Quartz endpoint, you would first need an endpoint outside the flow:
<jdbc-ee:endpoint name="ep" queryKey="selectTOP10" connector-ref="Database" />
and the flow would be something like this:
<quartz:inbound-endpoint jobName="cronJobPoolTime" cronExpression="* * * * * ?">
<quartz:endpoint-polling-job>
<quartz:job-endpoint ref="ep"/>
</quartz:endpoint-polling-job>
</quartz:inbound-endpoint>
<json:object-to-json-transformer/>
<data-mapper:transform config-ref="json_to_csv"/>
<file:outbound-endpoint responseTimeout="10000" doc:name="File" ref="File1"/>
P.S.: My personal opinion is that using Mule professionally requires basic knowledge of Java and related technologies, such as Spring, Maven, etc. This is the stuff that the whole thing builds on.