欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

Spring Boot非Web项目运行配置的方法教程

时间:2021-06-02 08:21:34|栏目:JAVA代码|点击:

现在有一个非web项目: 比如一个kafka的消费端, 监听某个消息topic, 并处理对应的消息通过其他api发送通知或者短信给相关人员. 这时候想使用Spring Boot运行, 但又不需要依赖web, tomcat, jdbc这些

依赖如下:

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter</artifactId>
 <exclusions>
  <exclusion>
   <groupId>org.apache.logging.log4j</groupId>
   <artifactId>log4j-to-slf4j</artifactId>
  </exclusion>
  <exclusion>
   <groupId>org.slf4j</groupId>
   <artifactId>jul-to-slf4j</artifactId>
  </exclusion>
 </exclusions>
</dependency>
<dependency>
 <groupId>org.springframework.kafka</groupId>
 <artifactId>spring-kafka</artifactId>
</dependency>

这时候 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

参考:

  1. SpringBoot 非 Web 项目运行
  2. Spring Boot without the web server

总结

上一篇:java ExecutorService使用方法详解

栏    目:JAVA代码

下一篇:Java 动态代理深入理解

本文标题:Spring Boot非Web项目运行配置的方法教程

本文地址:http://www.codeinn.net/misctech/133722.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有