Spring @Scheduled 注入延迟时间

发布于 2024-10-06 16:13:00 字数 274 浏览 2 评论 0 原文

我有一些注释的方法,

@Scheduled(fixedDelay = 6000)
private void myScheduledMethod(){
//do something
}

我还有一组属性文件,我在其中配置环境特定值。出于测试目的,我希望延迟的值是可配置的,最好通过属性文件中的属性进行配置。

由于 fixedDelay 的值必须是常量,因此我正在寻找一种从属性文件中获取此集合的方法,但尚未找到实现此目的的方法。

I have a few methods annotated with

@Scheduled(fixedDelay = 6000)
private void myScheduledMethod(){
//do something
}

I also have a set of properties files where I configure environment specific values. For testing purposes I'd like the value of the delay to be configurable, ideally through a property in a properties file.

Since the value of fixedDelay has to be a constant, I'm looking for a way to get this set from a properties file, but haven't found a way to do it yet.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

忘羡 2024-10-13 16:13:00

我陷入了同样的问题,但现在解决这个问题的最佳方法是:

@Scheduled(fixedDelayString = "${my.delay.property}")
public void myScheduledMethod(){
    // do something
}

I got stuck on the same issues but the best way to solve this now would be:

@Scheduled(fixedDelayString = "${my.delay.property}")
public void myScheduledMethod(){
    // do something
}
夏天碎花小短裙 2024-10-13 16:13:00

最好有这个选项,但我认为它不存在(注释是类级别的,而值将在创建实例时注入)。

为了使其可配置,请使用 xml 命名空间 。就像 spring 文档 中的示例一样:

<task:scheduled-tasks scheduler="myScheduler">
    <task:scheduled ref="someObject" method="someMethod" 
         fixed-delay="${configuredDelay}"/>
</task:scheduled-tasks>

It would be good to have this option, but I think it does not exist (the annotation is class-level, while the value would be injected when an instance is created).

In order to make this configurable use the xml namespace <task:. Like the example from the spring docs:

<task:scheduled-tasks scheduler="myScheduler">
    <task:scheduled ref="someObject" method="someMethod" 
         fixed-delay="${configuredDelay}"/>
</task:scheduled-tasks>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文