Вам нужно что-то для запуска потока.file:read
не делает этого автоматически, поэтому HTTP-запросы для запуска работают для вас.
Всем потокам нужен «Источник» для их запуска, если вы не вызываете их из других потоков, используя flow-ref
(или изпереплетение данных с использованием lookup ()).
Если вы знаете точный файл, который вам нужен, то можете поставить планировщик перед file:read
, чтобы запустить поток:
<scheduler>
<scheduling-strategy>
<fixed-frequency startDelay="5" frequency="10" timeUnit="SECONDS"/>
</scheduling-strategy>
</scheduler>
Или вы можетеиспользуйте файл: listener для прослушивания новых файлов в каталоге и т. д. в качестве источника напрямую:
<flow name="onNewFile">
<file:listener config-ref="file" directory="test-data/in" autoDelete="true">
<scheduling-strategy>
<fixed-frequency frequency="1000"/>
</scheduling-strategy>
</file:listener>
...
</flow>
Вы можете использовать фиксированную частоту или cron.Подробнее здесь: https://docs.mulesoft.com/mule-runtime/4.1/scheduler-xml-reference