Обработка зависимых файлов в Apache Camel - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть два файла, один файл содержит изображения сканированных документов, сохраненных в одном файле X.img, а другой - файл метаданных, сохраненный в формате X.xml, который содержит длину изображения и смещение данных изображения, а также другие данные, связанные с документом.

Теперь мне нужно сначала прочитать XML-файл и получить длину изображения и значение смещения, откуда читать изображение из IMG-файла.Поскольку XML-файл является файлом данных, он имеет небольшой размер, но мой файл изображения имеет большой размер.

Я использую верблюда для получения файлов с удаленного сервера и должен обрабатывать только при наличии соответствующих файлов XML и IMG.XML-файл и IMG-файл будут иметь одно и то же имя, например, если мой xml-файл - 27092018.xml, то имя соответствующего файла изображения - 27092018.img

Как мне добиться этого с помощью Camel ftp?

1 Ответ

0 голосов
/ 28 сентября 2018

Есть несколько способов сделать это.Я бы посоветовал вам взглянуть на EIP проверки претензий, который поможет вам в этом.

Короче говоря, необходимо выполнить следующие шаги.

  1. Прочитайте файл XML и сохраните соответствующуюинформация в некотором постоянном хранилище, таком как таблица базы данных, объект NoSQL или кэш, такой как Hazelcast / DataGrid.Данные будут представлять собой имя файла XML и изображение, размер и другую информацию, как вы упомянули.Имя файла XML (27092018.xml) можно использовать в качестве ключа, если оно уникально.Это проверка претензий, которую вы храните в базе данных.
  2. Позже, когда вы читаете XML-файл, вы можете использовать это имя в Обогревателе данных, чтобы получить проверку заявки из базы данных и обработать файл изображения. По сути, вы используете имя файла для поиска информации вбаза данных.

См. Wiki для получения дополнительной информации об этом шаблоне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...