Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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 cron作业在本地工作,但不在amazon实例中工作_Java_Spring_Amazon Web Services_Spring Boot_Scheduling - Fatal编程技术网

Java Spring cron作业在本地工作,但不在amazon实例中工作

Java Spring cron作业在本地工作,但不在amazon实例中工作,java,spring,amazon-web-services,spring-boot,scheduling,Java,Spring,Amazon Web Services,Spring Boot,Scheduling,我开发了一个spring boot项目。 它使用@EnableScheduling和@Scheduled注释来调度任务。我尝试了两种方法来安排我的活动 (一) (二) 在这两种情况下,当我在本地运行代码时,它运行得非常好。但当我使用auto scaling group将代码部署到AWS实例时,spring应用程序启动了,但之后什么也没发生。我甚至没有看到任何关于调度程序的日志或错误。应用程序正在运行,但未调用计划程序。 我觉得很奇怪。由于它在本地运行得非常好,因此也很难进行调试。我也遇到了类似的

我开发了一个spring boot项目。 它使用
@EnableScheduling
@Scheduled
注释来调度任务。我尝试了两种方法来安排我的活动

(一)

(二)

在这两种情况下,当我在本地运行代码时,它运行得非常好。但当我使用auto scaling group将代码部署到AWS实例时,spring应用程序启动了,但之后什么也没发生。我甚至没有看到任何关于调度程序的日志或错误。应用程序正在运行,但未调用计划程序。
我觉得很奇怪。由于它在本地运行得非常好,因此也很难进行调试。

我也遇到了类似的问题,我认为这与Springboot默认线程池的调度有关。当我在application.properties/yaml中更改以下设置时,它对我起到了作用

spring.task.scheduling.pool.size=20


我有一个类似的问题,我相信这与Springboot默认线程池的调度有关。当我在application.properties/yaml中更改以下设置时,它对我起到了作用

spring.task.scheduling.pool.size=20


你能发布失败的代码吗?尝试创建一个硬编码的调度程序,例如“@Scheduled(fixedRate=1000)public void printSomethingToConsole(){}”,并将其部署到aws,看看发生了什么我怀疑它正在aws中运行,只是因为它引发了一个你不期望的异常。我会为你的任务添加更多日志记录,并可能将其包装在try/cache中以查看发生了什么。非常感谢你的帮助。问题解决了。我改变了AMI类型,它工作得非常好。奇怪的是,正如之前一样,AMI与spring boot兼容。但是通过更改AMI,它可以正常工作。@user3462649您使用什么AMI来解决这个问题?如果您将您的解决方案作为一个答案,这样它就可以帮助面临此问题的其他开发人员。您可以发布失败的代码吗?尝试创建一个硬编码的计划,例如`@Scheduled(fixedRate=1000)public void printSomethingToConsole(){}`并将其部署到aws,看看发生了什么我怀疑它正在aws中运行,只是它抛出了一个您不期望的异常。我会为你的任务添加更多日志记录,并可能将其包装在try/cache中以查看发生了什么。非常感谢你的帮助。问题解决了。我改变了AMI类型,它工作得非常好。奇怪的是,正如之前一样,AMI与spring boot兼容。但是通过更改AMI,它可以正常工作。@user3462649您使用什么AMI来解决这个问题?如果您将您的解决方案作为一个答案,这样它就可以帮助面临这个问题的开发人员
@Scheduled(initialDelayString = "${scheduler.initialDelay}", fixedDelayString = "${scheduler.fixedDelay}")
@Scheduled(cron = "0 0 1 * * *")