Если вам нужно время / запланированные события в вашем приложении, вероятно, лучше всего либо использовать службу таймера EJB (если вы действительно используете EJB), либо использовать службу планирования Quartz.Я не думаю, что триггеры базы данных будут лучшим решением в вашем случае, так как триггеры обычно срабатывают только тогда, когда происходят определенные события (например, обновление или вставка записи), и, насколько я могу вывести из вашего вопроса, вы должны проверитьвремя от времени базу данных и, в зависимости от значений в базе данных, отправляйте электронные письма, поэтому не только проверяйте вставку или обновление.
Как я уже говорил, когда вы уже используете EJB, я думаю, что таймер EJBСервис - самое простое решение вашей проблемы.Если вы используете JEE5, проверьте Руководство по обслуживанию таймера JEE5 , а когда вы используете JEE6, посмотрите Руководство по обслуживанию таймера JEE6 .J2EE версии 1.4 также имеет службу таймера, но в этом случае я бы выбрал службу планирования Quartz, так как тогда этот подход, вероятно, будет проще.Если вы не используете какой-либо EJB-компонент, вы всегда можете использовать Кварцевый сервис планирования .
С помощью сервиса EJB Timer и Кварцевого планирования вы можете легко определить метод и / иликласс, который вызывается в соответствии с определенным вами расписанием, например, каждый час, каждую минуту или даже каждые 5 секунд каждого первого понедельника месяца.Таким образом, вы можете позволить службе планирования вызывать написанный вами метод, который проверяет базу данных и затем при необходимости отправляет электронные письма.Оба решения очень просты в использовании и требуют очень мало ресурсов, поэтому вам не нужно бояться, что они потребляют слишком много памяти.
С уважением