如何立即关闭Apache camel事务

lh80um4z  于 2022-11-07  发布在  Apache
关注(0)|答案(2)|浏览(207)

Apache camel有一个优雅的关闭特性,它会等待300秒,这真的很烦人。我这么说是因为我正在运行本地测试,我会在请求挂起的地方遇到错误,我想通过关闭我的应用来中止它。但是我会一直等待5分钟,直到所有运行中的事务完成。
我希望有能力禁用这个优雅的关闭等待时间为我的本地测试,这样我就可以杀死整个过程,并重新开始。任何建议将不胜感激。

slmsl1lt

slmsl1lt1#

您可以将关闭超时值设置为较低的值。设置关闭超时值的选项有很多:

  • “ Spring Boot ”属性-camel.springboot.shutdownTimeout = 1
  • ShutdownStrategy属性-getContext().getShutdownStrategy().setTimeout(1)
  • 使用环境变量(仅限camel-main)-java -DCAMEL_MAIN_SHUTDOWNTIMEOUT=1 ...
  • 在运行时对MBean org.apache.camel:context=MyCamel,type=context,name="MyCamel"执行JMX操作setTimeout()

有关详细信息,请参阅Graceful shutdown。在Camel 3.1和更高版本中,默认关闭超时将减少到45 s-CAMEL-14336

8fq7wneg

8fq7wneg2#

以下是 Spring Boot 属性的文档:https://camel.apache.org/camel-spring-boot/3.7.x/spring-boot.html
camel.springboot.shutdown-timeout |正常关闭Camel的超时秒数。|三百个|整数
在应用程序测试属性中设置camel.springboot.shutdownTimeout = 1是调整这一点的最简单的方法。

相关问题