我的
Spring Boot应用程序不是Web服务器,但它是使用自定义协议的服务器(在这种情况下使用Camel).
但是,启动后,弹簧启动会立即停止(优雅).如何防止这种情况?
我希望应用程序停止如果Ctrl C或编程.
@CompileStatic @Configuration class CamelConfig { @Bean CamelContextfactorybean camelContext() { final camelContextFactory = new CamelContextfactorybean() camelContextFactory.id = 'camelContext' camelContextFactory } }
解决方法
从阿帕奇骆驼2.17,有一个更清洁的答案.引用
http://camel.apache.org/spring-boot.html:
To keep the main thread blocked so that Camel stays up,either include the spring-boot-starter-web dependency,or add camel.springboot.main-run-controller=true to your application.properties or application.yml file.
您还需要以下依赖关系:
<依赖性>
<&的groupId GT; org.apache.camel< /&的groupId GT;
< artifactId的>骆驼弹簧引导起动< / artifactId的>
<版本> 2.17.0< /版本>
< /依赖性>
明确地替换< version> 2.17.0< / version>或使用骆驼BOM导入依赖关系管理信息以保持一致.