Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么';SpringT应用程序启动后是否立即终止?_Java_Spring_Spring Boot - Fatal编程技术网

Java 为什么';SpringT应用程序启动后是否立即终止?

Java 为什么';SpringT应用程序启动后是否立即终止?,java,spring,spring-boot,Java,Spring,Spring Boot,下面是一个典型的SpringApplication实例: public class MyService { public static void main(String[] args) throws Exception { SpringApplication app = new SpringApplication(MyService.class); ApplicationContext ctx = app.run(args); } } 由于app

下面是一个典型的SpringApplication实例:

public class MyService {
    public static void main(String[] args) throws Exception {
        SpringApplication app = new SpringApplication(MyService.class);
        ApplicationContext ctx = app.run(args);
    }
}
由于
app.run(args)
是一个非阻塞调用,因此此应用程序的
main
方法在调用后立即返回。我一直认为,当您从
main
返回时,应用程序将终止

为什么
SpringApplication
在返回
main
后仍继续运行?

JVM终止。应用程序似乎正在创建不终止的线程


在Unix上,您可以通过在输出时向发送信号3(
kill-3
)来了解线程的状态。这可以告诉你更多。

请发布一个真实的例子。该代码在
run
返回时立即退出(假设它没有失败,因为它是在web环境中设置的)。