我有以下代码:
@Scheduled(cron = "${cron.foo.bar}")
@ConditionalOnProperty(name="cron.foo.bar.enabled", relaxedNames = false)
public void parseFooBar() {
... blah blah blah ...
}
Run Code Online (Sandbox Code Playgroud)
在我的属性文件中,我有:
cron.foo.bar=1 * * * * ?
cron.foo.bar.enabled=false
Run Code Online (Sandbox Code Playgroud)
这不起作用,并且parseFooBar在第1秒每分钟执行一次.
但是,如果我添加字段:
@Value("${cron.foo.bar.enabled}")
private String enabledProp;
Run Code Online (Sandbox Code Playgroud)
所以我可以做一个日志并查看它是什么,parseFooBar不会被执行.删除注入的String再次看到parseFooBar执行.我究竟做错了什么?
编辑:这是使用Spring 4.1.5,Spring Boot 1.2.1和JDK 8
编辑2:将注释移动到类型也有效.(无需强制@Value).但注释是方法还是类型注释?它让我在方法上有更多的灵活性......
这是Eclipse Juno.
对于Maven插件,我收到表单错误:
ArtifactResolutionException: Failure to transfer org.apache.maven.plugins:maven-compiler-plugin:pom:2.3.2 from http://repo1.maven.org/maven2 ...
Run Code Online (Sandbox Code Playgroud)
对于Eclipse市场,我得到:
MarketplaceDiscoveryStrategy failed with an error
Cannot complete request to ...
Run Code Online (Sandbox Code Playgroud)
我已经关闭了我的计算机和路由器上的防火墙,我没有代理,未选中Internet选项代理框.将上面的Web地址放在我的浏览器中(在同一个框中)会返回正确的内容,但Eclipse似乎不想联系外部服务器.我应该改变什么?救命!
编辑:我的首选项 - >常规 - >网络连接 - >提供程序设置为直接(不重要,将其设置为本机也不起作用)
edit2:来自commannd行的mvn clean install工作正常并下载所有内容.