我的 Spring Boot 应用程序不是 Web 服务器,而是使用自定义协议的服务器(在本例中使用 Camel)。
但是 Spring Boot 在启动后立即(优雅地)停止。我该如何防止这种情况?
我希望应用程序在 Ctrl+C 或以编程方式停止时停止。
@CompileStatic
@Configuration
class CamelConfig {
@Bean
CamelContextFactoryBean camelContext() {
final camelContextFactory = new CamelContextFactoryBean()
camelContextFactory.id = 'camelContext'
camelContextFactory
}
}
原文由 Hendy Irawan 发布,翻译遵循 CC BY-SA 4.0 许可协议
从 Apache Camel 2.17 开始,有一个更清晰的答案。引用 http://camel.apache.org/spring-boot.html :
您还将需要以下依赖项:
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-spring-boot-starter</artifactId> <version>2.17.0</version> </dependency>
明确替换
<version>2.17.0</version>
或使用骆驼 BOM 导入依赖管理信息以保持一致性。