当前位置: 首页 > 面试题库 >

如何防止Spring Boot守护程序/服务器应用程序立即关闭/关闭?

霍建柏
2023-03-14
问题内容

我的Spring Boot应用程序不是Web服务器,而是使用自定义协议的服务器(在这种情况下使用Camel)。

但是Spring Boot在启动后立即(优美地)停止。我该如何预防?

我希望该应用程序按Ctrl + C或以编程方式停止。

@CompileStatic
@Configuration
class CamelConfig {

    @Bean
    CamelContextFactoryBean camelContext() {
        final camelContextFactory = new CamelContextFactoryBean()
        camelContextFactory.id = 'camelContext'
        camelContextFactory
    }

}

问题答案:

从Apache Camel 2.17开始,有一个更干净的答案。引用http://camel.apache.org/spring-
boot.html

要保持主线程处于阻塞状态,以使Camel保持正常运行,请添加spring-boot-starter-
web依赖项,或者将camel.springboot.main-run-controller =
truehtml" target="_blank">添加到application.properties或application.yml文件中。

您还将需要以下依赖项:

<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-spring- boot-starter</artifactId> <version>2.17.0</version> </dependency>

明确替换<version>2.17.0</version>或使用骆驼BOM导入依赖性管理信息以保持一致性。



 类似资料:
  • 我的Spring Boot应用程序不是Web服务器,但它是使用自定义协议的服务器(在本例中使用Camel)。 但是Spring Boot在启动后立即(优雅地)停止。我如何防止这种情况? 我希望应用程序停止,如果Ctrl C或编程。

  • 我有一个主(屏幕)gui窗口,需要打开几个“多输入”窗口(jdialog或当不可能使用jframe时),例如添加首选项(4个文本字段,带有2个文件选择器和2个单选按钮)。在这些JDialogs(或JFrames)中按OK/Cancel时,我的整个应用程序将关闭。我不想那样。我该怎么防止呢? 第一次尝试:我尝试了intelliJ选项“新- 第二次尝试:我“手工”编写了一个类,创建了一个JDialog

  • 问题内容: 我有一个包含http(s)服务器的Node.js应用程序。 在特定情况下,我需要以编程方式关闭此服务器。我当前正在做的是调用其函数,但这无济于事,因为它会等待所有保持活动的连接首先完成。 因此,基本上,这将关闭服务器,但仅在最少等待120秒之后。但是我希望服务器立即关闭-即使这意味着要中断当前处理的请求。 我不能做的是一个简单的 因为服务器只是应用程序的一部分,应用程序的其余部分应保持

  • 问题内容: 我有一个查询,就是我在多个线程下面开发了一个代码,这些线程分别称为线程一和线程二,下面是代码.. 类multip实现Runnable { 现在,我希望将线程2设置为守护程序线程,它应该为线程1提供某种服务,它可以是任何类型的服务,但最后我试图实现的是,守护程序线程向非守护程序线程提供某种服务。请告知如何实现。问题是有关守护程序线程将如何向非守护程序线程提供服务的问题。 问题答案: 问题

  • 我试图重新创建Connect四,我成功了。但我想通过频繁地切换颜色,给玩家一个获胜的四张光盘在哪里的指示。我对线程和编程中的时间概念是新的。 我也成功地给了用户这个指示,但是在关闭应用程序之后,控制台仍然会给出输出,也是在使用SetonCloserEquest时。 代码如下: