Spring Boot退出代码–创建自定义退出代码

当运行Spring Boot应用程序时,一切正常,我们将获得系统退出代码0 。 对于任何未处理的异常,应用程序将返回退出代码1

我们有可能从Spring Boot应用程序返回自定义退出代码。 在本教程中,我们将学习如何做。

实现

让我们从创建一个实现ExitCodeGenerator接口的类开始:

@SpringBootApplication
public class SampleApplication implements ExitCodeGenerator {public static void main(String[] args) {System.exit(SpringApplication.exit(SpringApplication.run(SampleApplication.class, args)));}@Overridepublic int getExitCode() {return 25;}
}

我们重写了getExitCode()方法以返回值25。因此,此应用程序现在将以退出代码25退出。

我们已经用SpringApplication.exit()方法包装了SpringApplication.run()

根据Spring文档, 我们必须使用对SpringApplication.exit()方法的调用结果来调用System.exit()

我们可以注册一个事件监听器来监听一个ExitCodeEvent

@Bean
SampleEventListener sampleEventListener() {return new SampleEventListener();
}private static class SampleEventListener {@EventListenerpublic void exitEvent(ExitCodeEvent event) {LOG.info("Application Exit code: {}", event.getExitCode());}
}

当Spring Boot找到特定于应用程序的退出代码时,它将触发此事件。 现在,在应用程序退出时,将调用exitEvent()方法。

使用

ExitCodeExceptionMapper是一个策略接口,我们可以用来提供异常类型和退出代码之间的映射

@Bean
ExitCodeExceptionMapper exitCodeToexceptionMapper() {return exception -> {if (exception.getCause() instanceof NumberFormatException) {return 34;}if (exception.getCause() instanceof CustomTypeException) {return 45;}...return 1;};
}

现在,对于NumberFormatException类型的异常,我们的应用程序将退出,退出代码为34 ,依此类推。

结论:

在本快速教程中,我们学习了如何在Spring Boot应用程序中返回自定义退出代码。 我们还为ExitCodeEvent实现了一个事件侦听器。

返回正确的退出代码将有助于我们对应用程序进行故障排除。

翻译自: https://www.javacodegeeks.com/2019/05/spring-boot-exit-codes-create-custom-exit-code.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/342174.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[渝粤教育] 郑州升达经贸管理学院 大学英语混合式课程 参考 资料

教育 -大学英语混合式课程-章节资料考试资料-郑州升达经贸管理学院【】 Quiz 1、【多选题】According to the clip, what are the major sources of the English words?(从电影中,你了解到英语词汇主要来自于哪些语言?) A、Latin B、Japanese C、Greek …

如何挑选一款合适的POE工业级交换机?

由于工业级交换机能够耐受各种比较苛刻的作业环境,而且产品系列多,端口装备灵敏,能够满足各种工业操控范畴的运用需求,因此在电力、冶金、石化、环保、交通、建筑等行业领域应用非常的广泛,各行各业信息化的建造对工业…

建设IPTV电视系统是否有必要?

随着信息化、智能化时代的发展,传统意义上的竞争方式和经营管理模式都在经营变革,建设IPTV电视系统及方案是否有必要? 下面我们先以几个场所为例,看看建设IPTV电视系统到底有什么用? 酒店 统一前端管理,方…

[渝粤教育] 郑州航空工业管理学院 航空概论 参考 资料

教育 -航空概论-章节资料考试资料-郑州航空工业管理学院【】 第1部分单元作业 第1部分单元测验 1、【单选题】航空是指载人或不载人的飞行器在地球 的航行活动。 A、高空 B、大气层内 C、宇宙 D、大气层外 参考资料【 】 2、【单选题】轻于空气的航空器靠 升空。 A、与空气相对…

高效的企业测试-工作流和代码质量(4/6)

本文的这一部分将讨论在开发过程中拥有有效工作流程的影响,以及适当的测试代码质量如何使我们能够创建可维护的测试,尤其是对于复杂项目。 开发工作流程和管道 编程是一项流程活动,我们开发人员应该对保持工作流程高效和缩短周转时间感兴趣…

飞畅科技-图解交换机接口及连接方式

局域网交换机作为局域网的集中连接设备,它的接口类型是随着各种局域网和传输介质类型的发展而变化的,交换机的许多接口与路由器接口完全一样。接下来就由杭州飞畅的小编来为大家介绍下交换机的接口类型以及连接方式有哪些?一起来看看吧&#…

[渝粤教育] 重庆工业职业技术学院 汽车安全与舒适系统维修 参考 资料

教育 -汽车安全与舒适系统维修-章节资料考试资料-重庆工业职业技术学院【】 认识汽车数据总线系统 1、【单选题】开发CAN总线的公司是 A、西门子 B、摩托罗拉 C、BOSCH D、爱立信 参考资料【 】 2、【单选题】本地内部连接网络,又称“局域子系统”的英文缩写是 A、L…

什么是有线电视系统?有线电视系统的组成部分是什么?

有线电视是通过同轴电缆、光缆为主要传输媒介,向用户传送本地、远地及自办节目的电视广播数据通信系统。有线电视既可以传输模拟电视信号也可以用来传输数字电视信号。 有线电视系统主要由信号源、前端部分、干线传输部分和分配部分组成。 1、信号源接收部分&…

分而治之_编写干净的测试–分而治之

分而治之好的单元测试应该仅出于一个原因而失败。 这意味着适当的单元测试仅测试一个逻辑概念。 如果我们要编写干净的测试,则必须识别那些逻辑概念,并且每个逻辑概念只编写一个测试用例。 这篇博客文章描述了我们如何识别从测试中发现的逻辑概念&…

[渝粤教育] 长沙航空职业技术学院 液压与气动技术 参考 资料

教育 -液压与气动技术-章节资料考试资料-长沙航空职业技术学院【】 随堂测-液压传动原理 1、【单选题】液压传动是以液体的( )能来传递动力的。 A、化学能 B、动能 C、势能 D、压力能 参考资料【 】 2、【单选题】液压传动是以( )…

万兆交换机与千兆交换机的区别有哪些?

交换机的发展经历了百兆、千兆,随着广大用户对数据传输要求的提高,因此有了现如今万兆交换机。百兆交换机正在逐步退出舞台,但是千兆交换机与万兆交换机的使用情况不相上下,那么,在什么情况下我们应该选择千兆交换机&a…

酒店电视方案 酒店建设高清数字电视系统的解决方案

近年来,随着互联网的发展,数字电视系统已经成为趋势。酒店作为旅游休闲的重要场所,为宾客提供高清的电视信号是非常有必要的。数字电视接入系统是宾客了解酒店资讯、观看电视电影、进行娱乐放松等的重要载体,其电视信号的质量对于…

将Spring Boot应用程序与Amazon Cognito集成

在本文中,我们将展示如何使用Spring Security 5.0中引入的OAuth 2.0客户端库 ,在Spring Boot应用程序中为身份验证用户使用Amazon Cognito服务。 什么是AWS Cognito? Amazon Cognito是由AWS提供的服务,除了提供对访问AWS服务的授…

【渝粤教育】国家开放大学2018年春季 7402-22T社会问题 参考试题

试卷编号:7402 座位号 2017——2018学年度第二学期期末考试 社会问题 试题 2018年7月 答题框: 1.社会问题研究的( )功能是回答社会问题是怎样的。 A、描述性研究 B、解释性研究 C、预测性研究 D、规范性研究 2&#…

网管型工业以太网交换机的几种管理方式

网管型工业交换机按其字面上的意思就是可以网络管理的交换机,管理方式有三种,可通过串口管理、可通过Web管理、通过网管软件管理,提供了基于终端控制口(Console)、基于Web页面以及支持Telnet远程登录网络等多种网络管理方式。因此网络管理人员…

【渝粤教育】国家开放大学2018年秋季 0359-21T会计学原理 参考试题

试卷编号:0390 座位号 2018—2019学年度第一学期期末考试 古代诗歌散文专题试题 2019年1月 1.在四言诗的发展史上, 是一个具有转折意义的人物,他突破了《诗经》的格局,为四言诗注入了新的活力。 2. 是屈原…

有线电视的现状与发展,全国一网与广电5G一体化建设

2020年,中宣部印发《全国有线电视网络整合发展实施方案》,国家广电总局对《方案》进行贯彻落实,就“全国一网”整合工作进行动员部署。从“三网融合”到“全国一网”,终于不再只是纸上谈兵,而是已经提上日程。 按照《…

网管型交换机和非网管型交换机的区别

随着互联网的普及,我们对于交换机的需求是越来越多,也是越来越重要。关于交换机这一块,我前面介绍过它的分类,看过的朋友应该都知道,交换机可以分为网管型交换机和非网管型交换机,看其字面意思已经很明确的…

【渝粤教育】国家开放大学2018年秋季 0731-22T书记员工作与实务 参考试题

试卷代号:1013 金融统计分析试题答案及评分标准(半开卷) (供参考) 2019年1月 一、单项选择题(每小题2分,共40分。每小题有一项答案正确,请将正确答案的序号填在括号内) 1…

网络监控系统中如何选择工业交换机?

做网络网络监控系统工程项目的朋友应该都知道,一个中大型网络监控系统不可能单独使用一台或者几台工业交换机就能实现传输效果,这个需要进行工业交换机级联:分别选择不同的工业交换机作为接入层、汇聚层和核心层。你们,我们在做项…