这是我的问题,我正在使用JMS将一些消息发送到队列中。程序已经编写成这样:从前一个消息发送的时间开始,30秒内将会有一条消息发送到队列中。如果在30秒内没有发送任何消息,则该消息为最后一条消息,我应该开始从队列中消费消息。
我的初步想法是创建一个带有任务的定时器(在此处为从队列接收消息),当创建新消息时,调用该方法并等待30秒钟。如果再次调用该方法,那么就意味着另一条消息已经到来,因此必须重新安排任务。
这是我编写的代码:
我的初步想法是创建一个带有任务的定时器(在此处为从队列接收消息),当创建新消息时,调用该方法并等待30秒钟。如果再次调用该方法,那么就意味着另一条消息已经到来,因此必须重新安排任务。
这是我编写的代码:
public void startTimer() {
Timer t = new Timer();
try {
t.schedule(task, timeDelay);
} catch (Exception e) {
t.cancel();
t = new Timer();
t.schedule(task, timeDelay);
}
}
我正在尝试安排一个计时器,如果已有任务计划到该计时器上,则我将取消该计时器,创建一个新的计时器并安排一个新的任务。
我收到错误消息:任务已经被计划或取消
。
请问你有什么建议、改进或解决方案吗?欢迎提出。