在Java中发起一个事件

时间:2015-04-17 19:41:28

标签: java spring hibernate mule

目前我正在开展一个项目,我们必须向所有注册进行自动续订的用户发送短信,在他们当前到期日的24小时之前,他们的订阅将会续订。

在订阅到期并在帐户上设置自动续订之后,我们会从客户的余额中扣除一定金额。由于客户帐户的余额变化非常快,因此我们必须在订阅到期后立即触发事件。我们使用外部服务来检查客户是否有足够的余额进行续订。所以这个检查必须是异步的。

如何运行一个连续运行的作业来循环遍历表中的所有记录并触发一个异步提取余额的事件?

我们正在使用Mule,Spring和Hibernate以及在Tomcat上运行应用程序。

有关如何实现这一目标的任何建议吗?

3 个答案:

答案 0 :(得分:0)

你能安排工作而不是不断循环找工作吗?

如果是这样,使用Quartz之类的调度程序可能是最佳解决方案。它与Spring集成良好,可以保存在您已配置的任何数据库中。

答案 1 :(得分:0)

如果您实际使用的是Mule ESB,请查看以下组件:

从我的脑海中,有足够的组件来构建你刚刚描述过的用例。

此外,您可能需要查看:

旨在处理与您刚才描述的类似的用例。

根据您计划实施的方式,您可能希望使用:

最后,请查看Anypoint Exchange以查看上面列出的所有组件的示例。

HTH

答案 2 :(得分:0)

您可以在轮询范围内使用db连接器并获取匹配的记录,然后使用for-each范围并使用SMTP连接器将邮件发送给每个用户用户。