Мы ежедневно получаем много больших файлов данных в различных форматах (например, CSV, Excel, XML и т. Д.). Для обработки этих больших файлов мы преобразуем входящие данные в один из наших стандартных классов сообщений «коллекции» (используя XSLT и компонент конвейера - встроенный или настраиваемый), дизассемблируем большое преобразованное сообщение в отдельные «объектные» сообщения и затем вызовите серию методов веб-службы SOAP для обработки бизнес-логики и операций с базой данных.
В отличие от других полученных файлов, последний файл будет содержать все строки данных каждый день, и поэтому мы должны обрабатывать различия, чтобы предотвратить повторную обработку идентичных записей каждый день.
У меня есть подходящий механизм для обработки вставок и обновлений, но в настоящее время я борюсь с удалениями (когда запись существует в базе данных, но не в последнем файле).
Мой текущий мыслительный процесс состоит в том, чтобы пометить удаленные записи в базе данных с помощью задачи «очистки» в конце всего процесса, но для этого потребуется вызов метода после завершения всех «объектных» сообщений из дизассемблированного файла.
Можно ли отслеживать отдельные сообщения из файла с несколькими записями и вызывать метод после завершения всего файла? В настоящее время все исследования указывают на сочетание с каким-то «ожиданием», но является ли это единственным вариантом?
Пример: файл содержит 100 записей об автомобилях. Он разбирается на 100 отдельных XML-сообщений, которые обрабатываются с помощью 100 вызовов метода веб-службы. Хотите вызвать операцию очистки, когда будут завершены все 100 сообщений.