Обработка нескольких файлов с помощью apache верблюда - PullRequest
1 голос
/ 21 июня 2020

Я хочу обработать несколько файлов, используя apache camel, попытался использовать метод .thread, но не работал должным образом.

.thread (3) выберет несколько файлов и обработает, но если сначала процесс thread1, то немедленно он не будет go для file4, вместо этого он ожидает, что все потоки (оставшиеся 2 потока) завершат процесс

Обновление:

 from("file:filepath?maxMessagesPerPoll=1&delete=true&readLockMinLength=0")
.routeId("gateway.msg2file.cnqm1")
.threads(3,3) 
.process(myProcessor)
.choice()
  .when(header("Result").isEqualTo(true))
     .to("path") .otherwise()
     .to("file://xxx")
     .setBody( simple("test"))
     .setHeader("sss"))
     .to("velocity:testmail.vm")
     .to("smtp://test@mail.com"+ "&contentType=" + "text/html");

1 Ответ

0 голосов
/ 21 июня 2020
from("file:filepath?maxMessagesPerPoll=1&delete=true&readLockMinLength=0")
.to("seda:input");

from("seda:input?concurrentConsumers=3")
.process(myProcessor)
.choice()
 .when(header("Result").isEqualTo(true))
    .to("path") .otherwise()
    .to("file://xxx")
    .setBody( simple("test"))
    .setHeader("sss"))
    .to("velocity:testmail.vm")
    .to("smtp://test@mail.com"+ "&contentType=" + "text/html");

...