Spring Boot非Web项目运行配置的方法教程
现在有一个非web项目:比如一个kafka的消费端,监听某个消息topic,并处理对应的消息通过其他api发送通知或者短信给相关人员.这时候想使用SpringBoot运行,但又不需要依赖web,tomcat,jdbc这些
依赖如下:
org.springframework.boot spring-boot-starter org.apache.logging.log4j log4j-to-slf4j org.slf4j jul-to-slf4j org.springframework.kafka spring-kafka
这时候SpringBootApplication的程序入口在执行完main方法后直接exit了,现在需要hold应用程序防止直接退出,有两种方法:
- 实现CommandLineRunner接口在run方法中通过Thread.currentThread().join()使得应用程序在执行run方法时阻塞,这样程序就可以保持运行
- 通过SpringBoot提供的配置(推荐):
- SpringBoot2.0.0以上的版本:spring.main.web-application-type=NONE//REACTIVE,SERVLET
- SpringBoot2.0.0之前的版本:spring.main.web-environment=false
参考:
- SpringBoot非Web项目运行
- SpringBootwithoutthewebserver
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。