这是停止SI应用程序的标准好方法吗? 我的意思是我不希望在工作流程运行等过程中杀死进程。
谢谢,
Ferenc的
答案 0 :(得分:0)
实际上,如果您的应用程序使用SI,Spring Batch,Boot或者只是原始的Spring,那么无关紧要,如果您使用正常的应用程序关闭 - System.exit(0)
,所有进行中的进程都会正确完成。在此ApplicationContext
已完成close()
,并为所有stop()
组件启动Lifecycle
。
为了避免消息丢失,您应该考虑在{JMS,AMQP等消息传递代理中使用MessageStore
通道和事务或类似<queue>
之类的持久性acknowledges
。