Mule4 использует коннектор чтения для чтения файла

Я новичок в Mule4 и использую его впервые. Я пытаюсь переместить файл из одного каталога в другой. У меня есть коннектор «Чтение файла» и коннектор «Запись файла». В коннекторе чтения я указал путь к файлу и рабочий каталог. на коннекторе записи я также указал рабочий каталог и путь. Однако файл не перемещается из исходного каталога в целевой. Но если я добавлю HTTP-прослушиватель в начале потока, он будет работать, если я получу к нему доступ через http://localhost:8081. Но я хочу знать, как я могу это сделать, когда в источнике есть новый файл, чтобы поток автоматически перемещал файл из источника в целевой каталог? Смотрите скриншот

Эта процедура не работает

Этот процесс работает


person borna    schedule 03.02.2019    source источник


Ответы (1)


Вам нужно что-то, чтобы запустить поток. file:read не делает это автоматически, поэтому http-запросы для запуска вам подходят.

Всем потокам нужен «Источник», чтобы запускать их, если вы не вызываете их из других потоков с помощью flow-ref (или из dataweave с помощью lookup ()).

Если вы знаете, какой именно файл вам нужен, вы можете поставить планировщик перед своим file:read, чтобы запустить поток:

<scheduler>
  <scheduling-strategy>
    <fixed-frequency startDelay="5" frequency="10" timeUnit="SECONDS"/>
  </scheduling-strategy>
</scheduler>

Или вы можете использовать прослушиватель file: для прослушивания новых файлов в каталоге и т. Д. В качестве источника напрямую:

<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

person Ryan Carter    schedule 03.02.2019