Пара таблиц реляционных БД управляется одним кешем объектов, который находится в процессе. Когда кеш фиксируется, таблицы обновляются. Реляционные таблицы БД обновляются обычными запросами SQL, а не чем-то более изощренным, например, hibernate.
В конце концов, другие процессы вступили в дело изменения этого объекта без связи друг с другом, т. Е. Каждый процесс инициализировал бы этот объект (считывал из БД) и обновлял его (передавал в БД), а другой процесс не знал бы об этом держась за устаревший кеш.
Я должен исправить этот рабочий процесс. Я подумал о паре методов.
Одним из них является сделать этот объект mBean. Таким образом, объект будет находиться в одном процессе, и каждый процесс в конечном итоге будет изменять объект в этом процессе с помощью вызовов метода mBean.
Однако у этого подхода есть пара проблем.
1) Каждый объект, возвращаемый этим кешем, является mBean, что может сделать вызовы метода довольно болтливыми.
2) Также существует требование, чтобы каждый процесс видел согласованную модель данных (кэш) БД и по возможности объединял свое содержимое с БД. (как транзакция). Если БД была значительно обновлена каким-либо другим процессом, то слияние может быть неудачным.
Какие технологии в Java помогут решить эту проблему?