假设现在有一个需求,每隔向队列中发送消息。
在QueueProducer.java中加一个方法,时间间隔是由注解里的fixedDelay控制的,代码如下。
/**
* 每间隔3秒钟执行一次
*/
@Scheduled(fixedDelay = 3000)
public void produceMessageScheduled() {
jmsMessagingTemplate.convertAndSend(queue, "SpringBoot整合ActiveMQ的Scheduled()方法");
}
另外,还需要在Main.java里做点小改动,在Main类上面加一个@EnableScheduling注解。
然后启动Main类里的main()方法,可以发现produceMessageScheduled()方法每隔3秒钟执行一次。
还没有学SpringBoot,所以不是很理解为什么main()方法会调用produceMessageScheduled()方法,下面是自己的猜测,如果不对请大佬指正,不胜感激。
Main类上加了@EnableScheduling,表示开启了Schedule,produceMessageScheduled()方法上加了@Scheduled,所以运行Main类的main()方法时,SpringBoot会去找带有@Scheduled注解的方法去执行,所以就执行了produceMessageScheduled()方法。