У меня есть настройка MQFTE, в которой мы получаем файлы от внешнего поставщика. Файлы сбрасываются на сервер в DMZ, и у нас есть агент MQFTE, который выбирает файлы с этого сервера и передает их на наш сервер.
Мы получаем файлы «наборами», т.е. каждый входящий файл имеет связанный xml-файл, который описывает и содержит метаданные о файле. Например. applicationform.pdf и applicationform.xml. Окончательное приложение сохраняет файл PDF на основе данных/метаданных в XML.
Поскольку триггер срабатывает для каждого входящего файла, мы проверяем в триггере, получили ли мы файл XML и файл содержимого (например, PDF).
Однако я не думаю, что это лучший подход, так как он добавляет много кода бронирования для проверки проблем параллелизма, когда оба файла поступают одновременно. Есть ли способ:
- Ограничить триггер, чтобы он срабатывал только при получении обоих файлов? В моем исследовании это невозможно.
- Настроить агент на сервере так, чтобы он получал только один файл за раз? Глядя на документацию, кажется, что это может быть достигнуто, но только для агента, инициирующего передачу, а не для агента, получающего передачу? Документация намекает на параметр monitorMaxResourcesInPoll и -bs, но я думаю, что это будет на исходном агенте. Поскольку агент совместно используется несколькими системами, это также повлияет на них.
Кроме того, я был бы признателен за любые советы и предложения или даже альтернативные решения, которые наилучшим образом соответствуют требованиям.