Как я могу контролировать базу данных для новых записей? - PullRequest
2 голосов
/ 11 сентября 2010

У меня есть прикладное решение, которое состоит из веб-приложения, написанного на Python (с использованием инфраструктуры Django), и Java-приложения, которое работает на сервере.

Веб-приложение получает данные и сохраняет их в очереди базы данных.Приложение Java должно затем обрабатывать полученные данные, а также сохранять результаты в базе данных.

Мой вопрос: как приложение Java может быть уведомлено о наличии новых данных в базе данных?Сейчас мне кажется, что мне придется регулярно опрашивать базу данных на предмет новых данных.Есть ли способ обойти это?

PS.Я рассмотрел запуск веб-приложения с использованием Jython и шаблона Observer, но мой хост не поддерживает сервлеты.

1 Ответ

1 голос
/ 11 сентября 2010

Если база данных специально не поддерживает это, опрос - единственный вариант, о котором я знаю.

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

Надеюсь, это поможет.


Редактировать: после прочтения вашего утверждения снова создается впечатление, что вы уже делаете среду, похожую на обмен сообщениями (с очередью в java-приложении), поэтому изменение базы данных может быть просто другим сообщением, которое поступает в очередь. Если это требует приоритета, вы можете присвоить сообщениям приоритетные метки, чтобы они обрабатывались тогда, когда они должны быть обработаны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...