我需要根据调度程序作业在收到来自其他组件的 jms 消息后每 5 秒运行一次的约束来启动 spring 调度。 实现/处理这种情况的可能方法是什么,在谷歌上搜索了相同的内容,但解决方案要求我在属性文件中拥有一个属性来启用调度,这又是静态方法。
请提出一些解决方案。
最佳答案
您可以使用:-
Thread.sleep(long delay) after receiving a message from JMS queue i.e. Thread.sleep(300000);
基本上你的问题与调度程序无关。从队列收到的消息是在您的案例中调用作业的触发器。
而计划任务是基于 fixed delay 定期重复执行的任务。或fixed interval或在 specific time .
Your job is event based and not on time based so its not a scheduled job.
关于java - 根据某些事件启动 Spring 调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32406356/