java - 不兼容的类型。找到 : 'org.springframework.beans.factory.annotation.Value' , 需要: 'long'

标签 java spring inject

我有一个清理数据库的调度程序

@Scheduled(fixedDelay = @Value("#{new Long('${clean_up.period}')}"))
public void cleanStatInfoTable() {
    List<StateInfo> infoLis=stateInfoRepository.findAllByCreatedDateBefore(LocalDateTime.now().minusHours(1));
    stateInfoRepository.deleteInBatch(infoLis);
}

但是会产生编译错误

Incompatible types. Found: 'org.springframework.beans.factory.annotation.Value', required: 'long'

我还尝试了 @Scheduled(fixedDelay = @Value("${obi.payments.state_info.clean_up.period}")) 的形式 但还是一样的问题

如何将 long 值注入(inject) Scheduled 注释中的 fixedDelay 属性?

最佳答案

使用 fixedDelayString 代替您现在拥有的。你让事情变得过于复杂。

@Scheduled(fixedDelayString = "${clean_up.period}"))

关于java - 不兼容的类型。找到 : 'org.springframework.beans.factory.annotation.Value' , 需要: 'long',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59713189/

相关文章:

java - 如何从 Java 中的链表中删除索引未知的整数

java - 在Servlet中调用dll

java - 如何使用 Spock 在 Spring Boot 过滤器中模拟服务或 stub 服务方法?

java - @AliasFor 用于与 @Retention(RetentionPolicy.METHOD) 的接口(interface)?

c# - 将 .NET 4.0 库注入(inject)非托管应用程序,clr.dll 中的无限循环

ruby - 在此代码中如何减少或注入(inject)工作

java - 无法通过 IfElse 语句定位 css 元素

java - Spring Boot 中的 @PathVariable 在 URL 中带有斜杠

java - 如何使用 Mockito 关闭 stub 方法的参数

mysql - SQLMap成功注入(inject)查询浏览