Apache Camel 串行轮询
Apache Camel Serial Polling
假设我有一个文件使用者,它每 10 秒轮询一次目录,并对它在那里找到的文件进行某种处理。
处理每个文件可能需要 40 秒。这意味着在此间隔期间,Cosumer 将再次轮询目录,并启动另一个类似的进程?
有什么办法可以避免这种情况,并且如果之前的轮询尚未完成则不允许消费者进行轮询?
文件使用者是单线程的,因此它不会在已经处理文件时进行轮询。
当消费者完成后,它会延迟 10 秒,然后再次轮询。这是由 useFixedDelay
选项控制的,您可以在 JDK ScheduledExecutorService
中阅读更多相关信息,Camel 将其用作调度程序。
假设我有一个文件使用者,它每 10 秒轮询一次目录,并对它在那里找到的文件进行某种处理。
处理每个文件可能需要 40 秒。这意味着在此间隔期间,Cosumer 将再次轮询目录,并启动另一个类似的进程?
有什么办法可以避免这种情况,并且如果之前的轮询尚未完成则不允许消费者进行轮询?
文件使用者是单线程的,因此它不会在已经处理文件时进行轮询。
当消费者完成后,它会延迟 10 秒,然后再次轮询。这是由 useFixedDelay
选项控制的,您可以在 JDK ScheduledExecutorService
中阅读更多相关信息,Camel 将其用作调度程序。