Java 将SpEL输出转换为long以用作注释参数
目前,我可以使用Java 将SpEL输出转换为long以用作注释参数,java,spring-boot,spring-el,Java,Spring Boot,Spring El,目前,我可以使用SpEL使用字符串参数,如下所示: @Autowired 私人参数服务参数服务; @已计划(cron=“#{parameterService.findByCode('cron')}”) 它工作得很好,但如果我想要一个长常数,它将不起作用: @Autowired 私人参数服务参数服务; @已计划(fixedDelay=“#{parameterService.findByCode('fixedDelay')}”) //错误:不兼容的类型:无法将字符串转换为长字符串 @已计划(fix
SpEL
使用字符串参数,如下所示:
@Autowired
私人参数服务参数服务;
@已计划(cron=“#{parameterService.findByCode('cron')}”)
它工作得很好,但如果我想要一个长常数,它将不起作用:
@Autowired
私人参数服务参数服务;
@已计划(fixedDelay=“#{parameterService.findByCode('fixedDelay')}”)
//错误:不兼容的类型:无法将字符串转换为长字符串
@已计划(fixedDelay=Long.parseLong(“#{parameterService.findByCode('fixedDelay')}”))
//错误:元素值必须是常量表达式
那么,如何修复它呢
此外,我不能给出Long,它只接受Long
编辑:
我已经经历了许多类似的SpEL
问题,但是没有适用于我的案例的解决方案。您可以使用
改用:
@Scheduled(fixedDelayString=“#{parameterService.findByCode('fixedDelay')}”)
您能用堆栈跟踪显示完整的错误消息吗?findByCode
方法返回什么类型?@Deadpool I添加了错误
@Scheduled(fixedDelayString = "#{parameterService.findByCode('fixedDelay')}")