В настоящее время я разрабатываю механизм корреляции в java, который извлекает данные из pdf-файлов и коррелирует (при необходимости генерируя оповещения) структурированные данные из реляционной базы данных.
Сосредоточив внимание на обработке pdf-файлов,Система состоит из:
Компонента, который выполняет пользовательское извлечение из PDF.
Компонента, который анализирует иногда неупорядоченные нечистые данные в требуемые структуры данных
Нормализациякомпонент, который нормализует значения для сравнения
И компонент, который взаимодействует с БД (где извлеченные данные будут вставлены вместе с остальными данными)
Компоненты должны быть повторно использованы в другихЦепочки обработки, но все они изначально будут работать в одной и той же системе.
Я думаю, что было бы разумно иметь какую-то буферизацию между компонентами, разумно ли использовать JMS Queuing, или это усложнит ситуацию?Я экспериментировал с простым объектом связанного блока блокировки, но этот объект должен передаваться между компонентами, поэтому для него требуются главные компоненты, которые управляют всем, что, я не уверен, является желательным, есть ли стандартный способ решения этой проблемы?