Spring integration spring积分流的优美关闭

Spring integration spring积分流的优美关闭,spring-integration,Spring Integration,我从spring集成监控示例中了解到 如何使用控制总线关闭集成流。我想知道你怎么样了 @integrationMBeanExporter.stopActiveComponents(false, 20000) 不同于仅仅关闭应用程序上下文 applicationContext.stop() 在其中加载流。这不会达到同样的结果 事实上你是对的。从大的高度来看,它们对组件也做同样的操作:调用Lifecycle.stop() 区别在于应用程序在第一种情况下继续工作,并且可以再次调用Lifecycle

我从spring集成监控示例中了解到 如何使用控制总线关闭集成流。我想知道你怎么样了

@integrationMBeanExporter.stopActiveComponents(false, 20000)
不同于仅仅关闭应用程序上下文

applicationContext.stop()

在其中加载流。这不会达到同样的结果

事实上你是对的。从大的高度来看,它们对组件也做同样的操作:调用
Lifecycle.stop()

区别在于应用程序在第一种情况下继续工作,并且可以再次调用
Lifecycle.start()
。集成MBeanExporter只对集成组件执行此操作


applicationContext.stop()
完全shutdownSpring应用程序上下文-在大多数情况下,只需停止整个应用程序。

在我的例子中,我有一个父应用程序上下文,它启动多个Spring集成流应用程序上下文。因此,在这种情况下,如果我想启动或停止特定的流,我可以停止特定的应用程序上下文。另一个问题是,因为我们正在停止应用程序上下文,这意味着它可以重新启动,并且完整的spring集成流将重新启动。或者相反,它需要为已停止的应用程序生成新的应用程序上下文(如果您尝试重新启动),这对于您的用例来说更好。
context.stop()
context.start()