2015-04-17 6 views
0

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

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

Как я могу запустить задание, которое работает непрерывно, чтобы перебирать все записи в таблице и запускать событие, которое асинхронно выбирает баланс?

Мы используем Mule, Spring и Hibernate и приложение работает на Tomcat.

Любые предложения о том, как достичь этого?

+0

Вместо того, чтобы система обновления запускала процесс автоматического обновления, не лучше ли это, если клиент сам ее запускает?Я имею в виду, что если вы сможете найти такой способ, чтобы каждый раз, когда клиент заканчивает использование какой-либо услуги, за которую он взимается, ваша система должна быть уведомлена об изменении баланса счета вместе с идентификатором клиента. Вы можете отслеживать эти уведомления, а не ждать, пока данные будут вставлены в db, а затем итерации по каждой строке в таблицах. – CKing

+0

@ фактически фактическая стоимость подписки фиксируется и ежемесячно. Его предоплаченный мобильный баланс клиента. Поэтому мы взимаем с клиента плату за продление с мобильного баланса. – heat

ответ

0

Можете ли вы запланировать работу, а не непрерывно зацикливать, чтобы найти работу?

Если это так, использование планировщика, такого как Quartz, может быть лучшим решением. Он хорошо интегрируется с Spring и может сохраняться в любой базе данных, которую вы уже настроили.

0

Если вы на самом деле с помощью Mule ESB, пожалуйста, обратите внимание на следующие компоненты:

С верхней части моей головы, что достаточно компонентов для создания используемого варианта использования, который вы только что описали.

Кроме того, вы можете захотеть взглянуть на:

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

В зависимости от того, как вы собираетесь осуществить это вы можете использовать:

Наконец, пожалуйста, взгляните на Anypoint Exchange, чтобы увидеть пример всех компонентов, перечисленных выше.

НТН

+0

К сожалению, версия мула (3.4), на которой мы находимся, не имеет всех функций, упомянутых выше. – heat

+0

Правильно, и партия FYI - только EE :(Я не упоминал об этом. Не можете ли вы перейти на новую версию ? – Dds

0

Вы можете использовать разъем дб внутри рамки опроса и получить совпавшие записи затем использовать для каждой-сферы и использовать соединитель SMTP для отправки сообщения для каждого пользователя пользователя.

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