У нас есть база данных Oracle, которые содержать данные о некоторых городах и местах и т.д.Singleton модели производятся некоторые проблемы, когда есть некоторые обновления
У нас есть веб-система, которые мы можем управлять этими ДАННЫЕ.
У нас также есть настольное клиентское приложение, которое работает с данными .
Для увеличения нашего настольного приложения производительности и уменьшая неудобный запрос для нашего DAO слоя, мы реализовали несколько классов Singleton в нашем настольном приложении для извлечения упомянутых городов, мест и т.д. данные только один раз сразу после пользователь открывает свое настольное приложение.
Недавно мы получили запрос от наших клиентов, почему мы не видим изменений, которые мы делаем с помощью веб-приложения, когда клиентское настольное приложение работает и работает. Они жалуются на то, почему они закрывают настольное приложение и открывают его снова, чтобы увидеть изменения.
Мы знаем, что проблема есть те Singleton классы, но мы не хотим, чтобы изменить их, потому что это будет огромный накладные расходы в нашей системе, когда они не там. Для решения этой проблемы мы думали о нескольких решениях:
- Создание таблицы в базе данных с именами числа столбцов, похожими на наши столбцы данных (города, места и т.д.) и значением автоматического приращения, когда есть обновление для отслеживания (с легким весом)
- Использование функциональных возможностей базы данных
- a Уведомлять систему, которая уведомляет клиентское приложение всякий раз, когда происходит обновление.
- механизм кэширования в базе данных, кэшировать эти в последнее время изменение таблицы и обслуживания наших пользователей, когда они имеют аналогичный запрос
Вот наши стеки:
- наше настольное приложение является свинг применение
- Наше веб-приложение JSF
- Наш бизнес-уровень для JSF и качелей - EJB
- Наш слой Dao для JSF и качелей Eclipse-Link
Как вы думаете, что лучше всего подходит для решения этой проблемы?
Ваше решение # 3 кажется лучшим вариантом для меня, если данные не меняются слишком часто. – Michael
@Michael проблема заключается в том, что у нас есть отдельные системы, и мы не знаем, как это реализовать. мы также не хотим ставить таймер – Mehdi
«мы понятия не имеем, как реализовать это» не по теме для StackOverflow – Michael