我们的服务有一个根据属性文件安排的进程,读取属性刷新间隔毫秒。它的值通过以下配置直接注入到 Quartz 触发器中:
<bean name="trigger"
class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean "
p:repeatInterval="${refreshIntervalMillis}">
...
</bean>
但是,安装此服务的管理员以小时/天为单位进行思考,因此为了让他们更轻松,我们将其更改为:
- Renamed 刷新间隔毫秒 to 刷新间隔分钟数
- 将上面的代码更改为以下内容:
p:repeatInterval="#{ 1000 * 60 * T(java.lang.Integer).valueOf(@configurationProperties['garbageLevelWatcher.refreshIntervalMinutes'])}"
注意:属性对象作为名为“configurationProperties”的 bean 公开
是否有更简单的语法来完成相同的任务?
Thanks,
"#{T(java.util.concurrent.TimeUnit).MINUTES.toMillis( @configurationProperties['garbageLevelWatcher.refreshIntervalMinutes'])}"
EDIT:
Or...
<context:property-placeholder properties-ref="configurationProperties"
<util:constant id = "MINUTES" static-field="java.util.concurrent.TimeUnit.MINUTES" />
and
"#{@MINUTES.toMillis(${garbageLevelWatcher.refreshIntervalMinutes})}"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)