2011-12-28 3 views
0

Я разрабатываю Java-сервлет, который запускает какое-то действие в определенное время, и потому что у меня будет много пользователей, я думаю, что я должен хранить идентификатор пользователя и время, чтобы запустить действие в базе данных, а не Память.java fire action при хранении базы данных

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

2- выполнять хранимую процедуру/триггер в базе данных, чтобы уведомить мой сервлет о том, что настало время для срабатывания.

Как я могу сделать любой из них специально второй подход может t-sql сделать это или что еще может это сделать? Каковы плюсы и минусы каждого подхода? есть ли лучший подход, который вы рекомендуете?

Благодаря

ответ

0

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

+0

не отлаживает этот вызов базы данных, было бы сложно сравнить с отладкой кода клиента приложения? – Tommy

+0

Нет. Сложность отладки - это то же самое, где и когда-то. Но время выполнения мы получаем больше преимуществ. – kosa

Смежные вопросы