问题标签 [spring-scheduled]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5132 浏览

java - Spring 的@Scheduled 注解是如何工作的?

在我的应用程序中,我在 3 个单独的类中有 3 个预定方法:

在应用程序 applicationContext 中有这样的行:

我无法从日志文件中弄清楚,所以这是我的问题:

  • 这些方法如何执行?并行还是先后?如果连续,那么如何重新配置​​以并行工作?
  • 这个配置是多线程的(对于每种方法)还是不是(如果不是 - 再次,如何改变它)?
0 投票
2 回答
23144 浏览

spring - 使用允许动态更新的 Cron 安排任务

我使用 sprint boot 1.3、spring 4.2

在这个班

我想每隔 x 时刻调用一次 processPayment。

这个 x 时刻设置在数据库中。用户可以修改它。

所以我认为我不能使用注释。

我开始这个这个

也许这不是好方法。

有什么建议吗?

如果我需要创建一个类似的属性,不知道是否要获取我的上下文

然后主要是

0 投票
1 回答
1499 浏览

scheduled-tasks - Spring cron 表达式 - 如何获取最后执行时间

在 Spring 中,我可以使用以下命令获取 nextExecution 时间:

但是如何从 cron 表达式中获取最后执行时间呢?

0 投票
0 回答
632 浏览

spring - 原型 bean 上的计划注释方法

我有一个带有 @Scheduled 注释方法的范围为“原型”(不是单例)的 bean。

我在需要时调用 bean 的一个实例,并且我希望每个实例都启动预定的计时器。除非我删除范围并再次使 bean 成为单例,否则调度程序注释似乎不起作用。

有没有好的解决方法?为什么这不可能?

0 投票
1 回答
1049 浏览

java - 作业状态完成后的春季批处理它一次又一次地启动

我配置了一个从表中读取的作业,传递一些字符串,然后使用 @service 将数据存储到 Redis 实例中。

如您所见,作业已完成:

参数:[{time=2016-06-22T08:46:09.001}] 和以下状态:[COMPLETED]

然后它像循环一样一次又一次地启动:

INFO ScheduledTasks - 运行计划任务 [populateCacheWithCalendarData] 25438:INFO SimpleJobLauncher - 作业:[FlowJob:[name=populateCacheWithCalendarData]] 使用以下参数启动:[{time=2016-06-22T08:46:10}]

我有一个这样配置的计划任务:

作业配置:

处理器和写入器:

以防万一的主要应用程序:

我不知道它为什么会这样做,因为过了很长时间它就会停止。

提前致谢

0 投票
1 回答
31370 浏览

java - java.lang.ClassNotFoundException:org.springframework.core.ResolvableTypeProvider

我已经编写了一个带有 Spring 注释的调度程序,但是当我执行它时,它会在帖子标题中显示错误消息。

SchedulerConfig.java

调度程序应用程序.java

以及启动调度程序作业的主类

我得到的错误信息是:

pom.xml

它在 2 个月前运行良好,直到我最近重新访问代码并发现它被破坏了。任何人都可以给一个指针?

0 投票
1 回答
1267 浏览

java - Spring Boot,定时任务,双重调用

有一个非常标准的 Spring Boot (1.3.5) 应用程序。

启用调度@EnableScheduling(在主应用程序入口点和带@Configuration注释的类上尝试过。

使用方法创建了一个简单的类@Scheduled(简单的 fixedDelay 计划)。

计划任务执行两次(总是)。

从我到目前为止收集的信息来看,这可能是因为正在加载两个上下文,因此两次拿起我的豆子。好的。那么我该如何修复/防止这种双重执行,因为所有配置基本上都是隐藏的 Spring Boot 魔法?

框架版本:

  • 春季启动 1.3.5
  • Spring Cloud Brixton SR1

主要应用:

我的任务类(从 HookCreateRequest 列表中提取application.yml- 我认为目前不相关,但如果需要,可以提供):

xml 配置为零。不确定还有什么相关的?

编辑 2016/07/04

我已经修改为在运行时输出计划的实例(我怀疑正在创建两个不同的实例)。但是,日志似乎表明它是任务对象的 SAME 实例。日志: 15:01:16.170 DEBUG - scheduled.ScheduleHookRecreation - Schedule task running: scheduled.ScheduleHookRecreation@705a651b ...task stuff happening ...first run completes, then: 15:01:39.050 DEBUG - scheduled.ScheduleHookRecreation - Schedule task running: scheduled.ScheduleHookRecreation@705a651b 所以看起来它是同一个任务实例(@705a651b)。现在为什么会以甜蜜的名义执行两次?

编辑 2016/07/05

我向@PostConstruct带有预定方法的类添加了一个方法,只输入了一些日志输出。通过这样做,我可以验证该@PostConstruct方法是否被调用了两次——这似乎证实了 bean 被拾取了两次,这大概是意味着它被馈送到调度程序两次。那么如何预防呢?

0 投票
1 回答
14370 浏览

java - Quartz Job 和 Spring 调度任务的区别?

我是 Spring-boot(1.3.6 版)和 Quartz 的新手,我想知道使用Spring-scheduler执行任务有什么区别:

石英方式

在代码中:

和调度程序:

Quartz 是否提供更灵活的方式来定义作业、触发器和调度程序,或者 Spring 调度程序有其他更好的方法?

0 投票
0 回答
906 浏览

spring - 如何使用触发器信息获取春季计划任务列表?

在我的 Spring Boot 应用程序中,我正在以编程方式创建计划任务,例如

我需要一些方法来即时重新安排上述任务,有人可以帮助我完成上述工作吗?我更喜欢按 ID 重新安排任务,例如myRunnable.getID()。任何帮助将不胜感激?

我试过在我的控制器中关注

但它没有注入控制器

0 投票
1 回答
114 浏览

java - @Scheduled 不适用于 Javaconfig

我编写了一个调度程序,它只与 xml 文件按预期工作。但我无法使用 Javaconfig 类运行它。以下是代码。

调度器:

Java配置:

我正在读取配置文件

需要它可以工作的任何建议。

问候赛