Создание шаблона публикации-подписки для интеграции с шаблоном DAO

StackOverflow https://stackoverflow.com/questions/2087074

Вопрос

Основываясь на вопросе (Как создать службу уведомлений клиента для веб-приложения или мне следует использовать шаблон Observer?) Я хотел бы знать.

У меня есть полностью реализованный DAO с компонентами сущностей, содержащими только методы getters и setters.Каждая сущность сопоставляется с EntityManager.

В настоящее время нет способа уведомлять пользователей о любых изменениях, добавленных / удаленных / обновленных в постоянное хранилище, такое как база данных.

Я хочу знать, как я буду реализовывать шаблон публикации-подписки (также известный как шаблон наблюдателя) таким образом, чтобы мне не нужно было расширять мою текущую архитектуру DAO.Я не хочу, чтобы мои объекты наследовали Издателя, потому что не все объекты могут обновляться.

Если есть какие-либо инструменты / фреймворки / библиотеки, которые я могу использовать в моей ситуации, пожалуйста, дайте мне знать.Кроме того, я вообще не использую какой-либо постоянный фреймворк (такой как Hibernate), DAO manager и Factory были полностью написаны мной с нуля.

С уважением,

Это было полезно?

Решение

Я строю аналогичную концепцию...Меня не волнуют все события, и в рамках проектов мы хотим заботиться о разных событиях.Итак, мы создаем шаблон, в котором все операции DAO передаются в DROOLS Fusion, и на основе правил и некоторых временных рассуждений он уведомляет слушателей с помощью архитектуры уведомлений.В зависимости от ваших потребностей, архитектура может быть простой прослушивающей системой, JMS или электронной почтой...неважно.Если у вас нет критериев, просто позаботьтесь об обратном вызове для событий DAO, затем попросите ваши операции DAO insert, update, delete отправить объект слушателям или какому-либо типу очереди JMS.

Надеюсь, это было ясно...

Пол

Другие советы

Первое предложение, которое у меня было бы, - это встроить наблюдаемый объект в ваш DAO.Затем вы бы попросили своих подчиненных взглянуть на этот объект (я делал подобные вещи в прошлом).

Другое мое предложение заключается в том, что вы могли бы добавить триггер в саму базу данных.Это было бы особенно полезно, если за пределами вашего приложения есть что-то, что может изменить базу данных, о которой вы хотите уведомить свой sub.

Удачи.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top