我正在Linux上的mule-standalone-3.5.0上运行一个流程,并尝试了解在手动关闭服务器时会发生什么。
现在我看到当前正在运行的'main'流程,这是一个在关机期间继续的递归循环,足以完成当前消息的处理。我想知道这是否是“优雅关闭”的一部分还是只是祝你好运。
它确实试图再次调用自己,我通过检查我知道快速停止的流的运行状态来停止。
def flow = muleContext.getRegistry().lookupFlowConstruct("initFlow")
if ((flow.isStopped() || flow.isStopping())) {
message.setInvocationProperty('runState', 'stopping')
}
else {
message.setInvocationProperty('runState', 'running')
}
答案 0 :(得分:0)
每当Mule收到关闭信号时,它确保完成处理当前消息以避免数据丢失,然后开始关闭所有端点和流,以及线程池清理。 HTH。