Я установил Java-приложение для Springboot и работает в среде разработки и тестирования.
Приложение имеет расписание задания cron, определенное в application.yml. Задание cron извлекает данные из источника ESB и обновляет свою базу данных каждые 10 минут.
Теперь в среде разработчиков у нас не было проблем, поскольку у нас был только один контейнер.
В тестовой среде, поскольку у нас есть несколько контейнеров, все они пытаются выполнить задачу в одно и то же время, и наблюдаются сообщения о блокировке БД.
Это также влияет на производительность приложения. Cron выражение ниже
services:
esb:
applicationId: App-Dash
schedule:
job:
esbprocessing: 0 */5 * * * *
max_records: ${MAX_RECORDS:20}
Я подумал о следующих возможных решениях.
а) Различные настройки Cron для разных контейнеров.
б) Отключение Cron для некоторых контейнеров.
Но Так как одни и те же образы докеров создаются и распределяются между разными хостами, как можно редактировать файл конфигурации внутри файла jar.
Есть ли другой способ сделать это.