小编给大家分享一下SpringBoot非Web项目运行配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
创新互联专注于企业成都全网营销推广、网站重做改版、甘南网站定制设计、自适应品牌网站建设、html5、商城系统网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为甘南等各大城市提供网站开发制作服务。
现在有一个非web项目: 比如一个kafka的消费端, 监听某个消息topic, 并处理对应的消息通过其他api发送通知或者短信给相关人员. 这时候想使用Spring Boot运行, 但又不需要依赖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方法时阻塞, 这样程序就可以保持运行
通过 Spring Boot 提供的配置(推荐):
Spring Boot 2.0.0 以上的版本: spring.main.web-application-type=NONE // REACTIVE, SERVLET
Spring Boot 2.0.0 之前的版本: spring.main.web-environment=false
以上是“SpringBoot非Web项目运行配置的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!