【问题标题】:How to manipulate time to force Spring schedulers launch?如何操纵时间来强制 Spring 调度程序启动?
【发布时间】:2017-08-09 07:49:03
【问题描述】:

我有一个基于各种 Spring 调度程序的系统。我使用了 cron 和 fixedDelay 调度程序类型。我希望能够以最少的努力重播所有修改,而无需等待实际花费的时间。

示例:我想重播所有修改,例如 1 秒等于 1 分钟,以加快我的测试。为此,我将当前时间设置为 -Dtime=2017-01-01T00:00:00Z -Dspeed=1s 1 分钟,然后我的系统以该速度重播所有呼叫。

我在示例中使用了 -D 属性,但它也可以通过编程方式或使用外部工具直接操纵我的笔记本电脑时钟。

有没有办法做到这一点?

【问题讨论】:

  • 这与stackoverflow.com/questions/17327956/… 非常相似。如果您有任何限制使您的问题与该问题不同,您能否看一下并在这里告诉我们?
  • 我不想对它进行单元测试,我想更快地执行相同的代码,因为我有代码需要在每月的第一天执行。

标签: java spring


【解决方案1】:

如何使用外部参数化配置:

@Scheduled(cron = "${externalVariable}")

并将此变量设置为生产和测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-27
    • 2015-08-24
    • 2022-01-18
    相关资源
    最近更新 更多