У меня есть требование отправить файлы последовательно по мере их поступления. Например, если есть три бинарных файла F1, F2 и F2, и они идут в порядке F1, F2 и F3. Это должна быть доставка в той же последовательности, то есть F1, F2 и F3. Он работает в счастливом рабочем процессе.Последовательная доставка бинарной полезной нагрузки с использованием интеграции Apache Camel?
Но, когда доставка F1 не удалась из-за сбоя в сети, это прерывание последовательности.
Мои исследования So Far:
- Мы можем продолжать соединяться до устранения проблемы: Not A Good Design
- процесс Make синхронные и отправить успех или неудачу в исходной системе тогда, системный источник отправит следующую полезную нагрузку или ту же полезную нагрузку. Это экономическая эффективность и участие другой системы.
Также для информации - Как работает основной ток?
Исходная система Отправляет двоичные данные с использованием клиента REST в нашу службу отдыха и мы отправляем подключение к FTP-серверу и отправляем эту двоичную полезную нагрузку в требуемую папку.
Комментарий, если требуется дополнительная информация.
если вы делаете этот процесс асинхронным. Как вы можете гарантировать, что F1 будет доставлен первым? –
Извините, я хочу сказать, синхронизация. Я обновлю вопрос. –
Для отправки сообщений вам потребуется определенный идентификатор. Как вы узнали, что F1 отправлен F1 для этой партии, а не тот, который был назначен 2 часа назад? Вам нужно будет идентифицировать сообщения, сохранить сообщения в некоторой временной очереди (activemq) и как только три последовательности совпадут, а затем отправьте на FTP-сервер. Если что-то ломается, держите их в очереди темп, пока не появится пропавший. –