Actually you are right. From big hight they do the same with components: call Lifecycle.stop()
.
The difference that your application continue to work in first case and you can invoke Lifecycle.start()
again. And IntegrationMBeanExporter
does it only for integration components.
The applicationContext.stop()
fully shutdown Spring Application context - in most cases just stop entire application.