Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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 为什么在主方法的末尾不存在Spring应用程序_Java_Spring_Scheduled Tasks - Fatal编程技术网

Java 为什么在主方法的末尾不存在Spring应用程序

Java 为什么在主方法的末尾不存在Spring应用程序,java,spring,scheduled-tasks,Java,Spring,Scheduled Tasks,我开始用Spring学习Java,并编写了一些简单的计划任务 我不理解框架使用的机制,因此在调用getBean后应用程序不会退出。为什么应用程序一直打印“嗨” 公共类应用程序{ 公共静态void main(字符串[]args){ ... PeriodicTask task=appCtx.getBean(PeriodicTask.class); } } 公开课{ @计划(固定利率=5000) 公众假期{ System.out.println(“Hi”); } } 给定@Scheduled,我将假设

我开始用Spring学习Java,并编写了一些简单的计划任务

我不理解框架使用的机制,因此在调用
getBean
后应用程序不会退出。为什么应用程序一直打印“嗨”

公共类应用程序{
公共静态void main(字符串[]args){
...
PeriodicTask task=appCtx.getBean(PeriodicTask.class);
}
}
公开课{
@计划(固定利率=5000)
公众假期{
System.out.println(“Hi”);
}
}

给定
@Scheduled
,我将假设您的
应用程序上下文
具有一些预定的配置。这意味着您正在(隐式或显式)创建一个
SchedulerExecutorService
,该服务生成非守护进程线程。在所有非守护进程线程完成之前,应用程序不会结束。其中一个线程每5000毫秒执行一次
periodic
方法


现在,您可以将您的
ApplicationContext
实例化放在
try with resources
中。一旦执行离开
try
块,就会关闭
ApplicationContext
,关闭
ScheduledExecutorService
,并最终终止您的程序。

给定
@Scheduled
,我将假设您的
ApplicationContext
具有某些预定配置。这意味着您正在(隐式或显式)创建一个
SchedulerExecutorService
,该服务生成非守护进程线程。在所有非守护进程线程完成之前,应用程序不会结束。其中一个线程每5000毫秒执行一次
periodic
方法


现在,您可以将您的
ApplicationContext
实例化放在
try with resources
中。一旦执行离开
try
块,就会关闭
ApplicationContext
,关闭
ScheduledExecutorService
,并最终终止您的程序。

给定
@Scheduled
,我将假设您的
ApplicationContext
具有某些预定配置。这意味着您正在(隐式或显式)创建一个
SchedulerExecutorService
,该服务生成非守护进程线程。在所有非守护进程线程完成之前,应用程序不会结束。其中一个线程每5000毫秒执行一次
periodic
方法


现在,您可以将您的
ApplicationContext
实例化放在
try with resources
中。一旦执行离开
try
块,就会关闭
ApplicationContext
,关闭
ScheduledExecutorService
,并最终终止您的程序。

给定
@Scheduled
,我将假设您的
ApplicationContext
具有某些预定配置。这意味着您正在(隐式或显式)创建一个
SchedulerExecutorService
,该服务生成非守护进程线程。在所有非守护进程线程完成之前,应用程序不会结束。其中一个线程每5000毫秒执行一次
periodic
方法


现在,您可以将您的
ApplicationContext
实例化放在
try with resources
中。一旦执行离开
try
块,将关闭
ApplicationContext
,关闭
ScheduledExecutorService
,并最终终止您的程序。

谢谢,回答清楚。有一点很小,try with resources不能与ApplicationContext一起使用,因为它不实现自动关闭,对吗?@vvondra您可以用实际实现声明它,例如
ClassPathXmlApplicationContext
。谢谢,回答清楚。有一点很小,try with resources不能与ApplicationContext一起使用,因为它不实现自动关闭,对吗?@vvondra您可以用实际实现声明它,例如
ClassPathXmlApplicationContext
。谢谢,回答清楚。有一点很小,try with resources不能与ApplicationContext一起使用,因为它不实现自动关闭,对吗?@vvondra您可以用实际实现声明它,例如
ClassPathXmlApplicationContext
。谢谢,回答清楚。有一点很小,try with resources不能与ApplicationContext一起使用,因为它不实现自动关闭,对吗?@vbondra您可以用实际实现声明它,例如
ClassPathXmlApplicationContext