entaxy-public/platform/runtime/modules/uniform-service/support
2022-08-25 16:12:26 +03:00
..
src/main/resources ENTAXY-374 release 1.8.2 2022-08-25 16:12:26 +03:00
LICENSE.txt initial public commit 2021-09-06 20:08:18 +03:00
pom.xml ENTAXY-374 release 1.8.2 2022-08-25 16:12:26 +03:00
README.md initial public commit 2021-09-06 20:08:18 +03:00

IGNITE

IgniteAggregationRepository сделано на основе JdbsAggregationRepository документация https://help.talend.com/reader/Uc2IlRuFVfGrjaFPdRI7kA/fBdqK2kf6iIkLHQf9nLh6g

Есть некоторые внутренние баги karaf, которые не позволяют установить некоторые ignite фичи в караф fd921a233d/modules/osgi-karaf/src/main/resources/features.xml (L87)

В карафе поднимается ignite, с рабочей директорией, прописанной в ru.entaxy.esb.ignite.cfg, в параметре ignite.work.directory.path. Это место, где игнайт создает для себя все, что нужно, и будет хранить данные.

Ignite настроен с сохранением персисетнтности данных(сохранением их на диск) и созданием реплицации(бэкапов) на других узлах кластера.(при потере одной ноды, другие восстановят данные, которе хранились на текущем узле)

IGNITE_QUIET=false - параметр необходимый для того, чтобы игнайт не писал информацию о себе в лог, для того что бы параметр применился, необходимо выставить setGridLogger, смогла установить в караф только JclLogger.

AggregationProcessor

AggregationProcessor стандартный, не расчитан на работу в кластере из-за чего пришлось вытаскивать исходники и редактировать сам процессор.(AggregationProcessorWithRestoreTimeout) Т к теперь AggregationProcessor вызывается как bean, а не как стандартный камеловский процессор, то процесс старта и остановки происходит в отличном порядке.

Для работы к кластере: - добавлен механизм восстановления работы таймаутов на других нодах, - отредактирован механизм удаления сообщения из репозитория(возникало состояние гонки и появлялись дубликаты), - исправлен механизм продолжения работы с “застрявшими” сообщениями (recoverTask из таблицы _completed) - добавлен безопасный механизм забора сообщений из очереди(восстановление сообщения в очереди, если не пришло подтверждение)