Ваша цель - «Выбрать все данные в конкретной таблице postgre и отправить их в Amqp (только один раз)». В соответствии с текущей настройкой вам трудно контролировать поведение маршрута, когда вы помещаете компонент sql
непосредственно из конечной точки.
Вместо того, чтобы помещать компонент sql
непосредственно из конечной точки, вы должны найтиспособы убедиться, что маршрут срабатывает ровно один раз, а затем собирать записи БД из postgre. Для этого проще всего использовать компонент timer
для однократного запуска маршрута и pollenrich
для однократного вызова БД.
<from uri="timer://timerId?repeatCount=1" />
<pollEnrich>
<constant>sql:SELECT * FROM mytable</constant>
</pollEnrich>
Ссылка: Компонент таймера верблюда , Верблюжий пыльцовый вариант