在Java中触发事件

在Java中触发事件,java,spring,hibernate,mule,Java,Spring,Hibernate,Mule,目前,我正在从事一个项目,我们必须发送一条短信给所有注册自动续费的用户,在他们当前到期日24小时之前,他们的订阅将被续费 在订阅到期并在帐户上设置自动续订后,我们立即从客户余额中扣除一定金额。由于客户帐户上的余额变化非常快,我们必须在订阅到期后立即触发事件。我们使用外部服务来检查客户是否有足够的余额可以续借。所以这个检查必须是异步的 如何运行一个连续运行的作业来循环表中的所有记录,并触发一个异步获取余额的事件 我们使用Mule、Spring和Hibernate,应用程序在Tomcat上运行 关于

目前,我正在从事一个项目,我们必须发送一条短信给所有注册自动续费的用户,在他们当前到期日24小时之前,他们的订阅将被续费

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

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

我们使用Mule、Spring和Hibernate,应用程序在Tomcat上运行


关于如何实现这一点有什么建议吗?

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


如果是这样,使用调度程序(如)可能是最好的解决方案。它与Spring集成得很好,可以持久化到您已经配置的任何数据库中。

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

从我的想法来看,这些组件足以构建您刚才描述的用例

此外,您可能还想看看:

它被设计来处理类似于您刚才描述的用例

根据您计划如何实施,您可能希望使用:

  • 组件也是
最后,请查看上面列出的所有组件的示例


HTH

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

与其由续订系统触发自动续订过程,不如由客户自己触发该过程?我的意思是,如果你能找到一种方法,让客户每次使用完某项收费的服务,应将帐户余额的变化以及客户id通知您的系统。您可以监视这些通知,而不必等待数据插入数据库,然后在表中的每一行上迭代。@bot实际上,订阅成本是固定的,并且它的每月成本是固定的。这是客户的预付费移动余额。因此,我们从移动余额中向客户收取续费费用。不幸的是,我们使用的mule(3.4)版本没有您上面提到的所有功能。这是正确的,仅供参考批次为EE:(我没有提到。您不能升级到新版本吗?