Мы находимся в процессе создания Java-приложения с помощью Camel для передачи файлов между двумя FTP-серверами. Есть ли способ получить уведомление об успешной передаче файла? Нам не разрешено использовать решение JMS для создания приложения.
Компонент Apache camel ftp - уведомление об успешной передаче
Ответы (1)
Я надеюсь, что вы могли бы создать другой маршрут и использовать seda/vm в качестве конечной точки. Эту конечную точку нужно вызывать после конечной точки ftp.
<route id="MainRoute">
<from uri="ftp:RemoteLocation"/>
<from uri="seda:Retry"/>
<to uri="seda:MyLog"/>
<!--Your Main Processing logic -->
</route>
<route id="Notification-processor">
<from uri="seda:MyLog"/>
<!--Your Logging/Notification Processing logic -->
</route>
В приведенном выше сценарии обработчика уведомлений вы можете иметь свою пользовательскую активность уведомлений/журналов. Это ваша настраиваемая логика уведомлений. Если вам нужно уведомлять об аномалиях, вы можете иметь конечную точку в обработчике уведомлений для отправки уведомления.
Вам нужно написать логику, чтобы проверить, завершено ли сообщение, если нет, вы можете вызвать bean-компонент в обработчике уведомлений, который может иметь динамический маршрут для извлечения определенного файла из местоположения ftp и его повторной обработки. Как ниже
<route id="Notification-processor">
<from uri="seda:MyLog"/>
<!--Anomaly checker -->
<to uri="seda:Retry"/>
<!--Your Logging/Notification Processing logic -->
</route>
person
Naveen Raj
schedule
23.11.2014
to
. Я не знаю, какой механизм уведомления вы имеете в виду... если не JMS, то, возможно, веб-вызов?.to("ftp:...").to("http:...")
Или, может быть, вы хотите, чтобы он отправил электронное письмо?.to("ftp:...").to("smtp:...")
Или, может быть, вы хотите использовать событие SEDA.to("ftp:...").to("seda:...")
. Думаю, вы поняли. - person Ray   schedule 20.11.2014