让我们假设我有一个文件消费者,它每隔10秒轮询一个目录,并对它在那里找到的文件进行某种处理。
每个文件的处理时间可能需要40秒。这意味着在该间隔期间,Cosumer将再次轮询目录,并启动另一个类似的过程?
我有什么方法可以避免这种情况,并且如果以前的民意调查没有完成,不允许消费者进行民意调查吗?
答案 0 :(得分:2)
文件使用者是单线程的,因此它在处理文件时不会轮询。
当消费者完成时,它会在再次轮询之前延迟10秒。这由useFixedDelay
选项控制,您可以在JDK ScheduledExecutorService
中阅读更多信息,该文件由Camel用作调度程序。