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

2024-04-10

我的 Spring Boot 应用程序不是 Web 服务器,而是使用自定义协议的服务器(在本例中使用 Camel)。

但是 Spring Boot 在启动后立即停止(优雅地)。我该如何防止这种情况?

我希望应用程序能够通过 Ctrl+C 或以编程方式停止。

@CompileStatic
@Configuration
class CamelConfig {

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

}

我找到了解决方案,使用org.springframework.boot.CommandLineRunner + Thread.currentThread().join(),例如: (注意:下面的代码是用 Groovy 编写的,而不是 Java 编写的)

package id.ac.itb.lumen.social

import org.slf4j.LoggerFactory
import org.springframework.boot.CommandLineRunner
import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.SpringBootApplication

@SpringBootApplication
class LumenSocialApplication implements CommandLineRunner {

    private static final log = LoggerFactory.getLogger(LumenSocialApplication.class)

    static void main(String[] args) {
        SpringApplication.run LumenSocialApplication, args
    }

    @Override
    void run(String... args) throws Exception {
        log.info('Joining thread, you can press Ctrl+C to shutdown application')
        Thread.currentThread().join()
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 在 Woocommerce 中的 WYSIWYG 编辑器字段中添加或替换变体字段

    我正在尝试弄清楚如何将 Woocommerce 变体订阅产品文本字段转换为所见即所得编辑器 How it looks now 正如您所看到的 我将代码放入该字段以更新其外观 但这对于不懂代码的客户来说不起作用 如何向该字段添加文本编辑器 函
  • 握手过程中收到close_notify

    我已在所有 18 台服务器上配置了 SSL HTTPS 所有 18 台服务器均使用 SSL 相互通信 一切都工作正常 突然我得到了这个错误 握手期间收到close notify 日志 2011 06 03 03 36 17 372 Log
  • 使用react-router-dom(v6)成功登录后Reactjs重定向到仪表板页面

    我正在使用 redux toolkit 制作简单的 Reactjs 登录表单 我想重定向到dashboard登录成功后的页面 它抛出以下错误 我是 ReactJS 的新手 如果我错过了什么 请告诉我 Error Uncaught in pr
  • 如何修复 Cocoapods 安装设置错误?

    我正在尝试在我的 mac 上安装 cocoapods 但无法安装 它显示以下错误 sudo gem update system Latest version currently installed Aborting sudo gem ins
  • 是否有任何库可以将 SQL 查询表示为 Java 代码中的对象? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想知道是否有任何库可以用来将 SQL 查询表示为 Java 中的对象 在代码中 我有大量 java l
  • 删除所有表的django命令是什么?

    是否有 django 命令 A 删除所有表 B 删除所有表中的所有数据 C 创建模型中定义的所有表 我现在找不到这些 我所说的命令是指那些小事情 比如 runserver etc A 删除所有表 manage py sqlclear将打印删
  • UISearchBar 与 InputView

    我正在为我的应用程序制作自定义键盘 它与 UITextField 配合得很好 但 UISearchBar 不支持 inputView UIView inputView if self keyboard nil self keyboard M
  • 在 Django Web 应用程序中处理计算密集型任务

    我有一个桌面应用程序 正在将其移植到 Django Web 应用程序 该应用程序有一些计算量相当大的部分 使用 numpy scipy 和 pandas 等库 显然 将计算密集型代码导入到 Web 应用程序中并运行它并不是一个好主意 因为这
  • OpenNLP 训练中的“截止”和“迭代”是什么意思?

    是什么意思cut off and iteration用于 OpenNLP 培训 或者自然语言处理 我只需要对这些术语进行外行解释 据我认为 迭代是算法重复的次数 截止是一个值 如果文本的值高于某个特定类别的截止值 它将映射到该类别 我对吗
  • 使用填充重新定位 ListView 的滚动条

    我有一个ListView右侧 和左侧 有填充 目前该列表看起来像这样 ROW ROW ROW ROW 最右边的线是屏幕的边缘 s 是滚动条 其右侧的空白区域是ListView向右填充 I 是让滚动条位于填充的右侧 如下所示 ROW
  • Excel 何时以及如何重新计算其公式?

    据我了解 Excel 可以设置为手动或自动重新计算公式 但在阅读了互联网上的一些信息后 我开始对 Excel 自动重新计算公式时的作用感到困惑 我之前假设 Excel 仅在公式引用的单元格发生更改或公式包含易失性数据 例如TODAY 功能
  • flutter TabBarView 不会被 TabController 改变

    我正在尝试以编程方式在应用程序内的选项卡之间进行更改 tabController animateTo 只改变TabBar 但不改变TabBarView 这是我的示例 每当我向右滑动时 它都应该 animateTo LEFT 因为选项卡更改侦
  • 仅当同一列的组中存在另一个值时 dplyr 才对值进行过滤

    我完全预料到会因为重复的问题而受到批评 但我就是找不到类似的问题 提前致歉 我正在尝试清理一些数据 这些数据有时包含摘要行 有时不包含 这是一个可重复的小例子 library tidyverse yr lt c 2010 2010 2010
  • 为什么 row-cols-n 不适用于任何大于 6 的值?

    据我所知 row cols 类不适用于大于 6 的任何内容 即 row cols 6 有效 但 row cols 7 无效 这意味着像 div class row row cols md 6 row cols lg 8 对于大于 md 断点
  • Django / GeoDjango 在 Ubuntu / Dokku 上找不到 GDAL 库

    我们收到 django core exceptions ImproperlyConfigured 找不到 GDAL 库 GeoDjango的常见安装问题 https docs djangoproject com en 3 2 ref con
  • 字符串接受接口应该是什么样子?

    这是后续的这个问题 https stackoverflow com questions 4640281 design of stdifstream class 假设我编写一个接受或返回 const 字符串的 C 接口 我可以使用 const
  • 在没有虚方法或超类的类中,假设 (第一个成员变量的地址) == this 是否安全?

    我创建了一个私有 API 它假设类中第一个成员对象的地址与类的 this 指针相同 这样成员对象就可以轻松派生出一个指向它所属对象的指针 的成员 而无需显式存储指针 鉴于我愿意确保容器类不会从任何超类继承 不会有任何虚拟方法 并且执行此技巧
  • 关于从 MongoMapper 迁移到 Mongoid 的建议?

    从性能和开发活动来看 Mongoid 现在似乎是 Mongo 的卓越 ORM 不幸的是 我们使用的是 MongoMapper 并且需要迁移 有什么我们应该注意的问题或绊脚石吗 我们在 Google 上发现了一些过时的文章 并尝试在 Mong
  • 使用 React-Router 在页面内链接

    我正在尝试制作一个锚标记 它将链接到同一页面中的某个位置 例如this http www echoecho com htmllinks08 htm 然而 React Router 劫持了它 并将我路由到任何地方 因为我还没有在层次结构中建立
  • 如何防止 Spring Boot 守护进程/服务器应用程序立即关闭/关闭?

    我的 Spring Boot 应用程序不是 Web 服务器 而是使用自定义协议的服务器 在本例中使用 Camel 但是 Spring Boot 在启动后立即停止 优雅地 我该如何防止这种情况 我希望应用程序能够通过 Ctrl C 或以编程方