成都网站建设设计

将想法与焦点和您一起共享

SpringBoot非Web项目运行配置的示例分析

小编给大家分享一下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项目运行配置的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


当前文章:SpringBoot非Web项目运行配置的示例分析
文章地址:http://chengdu.cdxwcx.cn/article/pehpco.html