我以秒为单位将轮询频率存储在属性文件中。但是 Mule 中“poll”组件的频率属性期望频率以毫秒为单位。如何在这里执行乘法运算?以下两个似乎不起作用:
(1) <poll frequency="${GiantsNew.poll*1000}">
(2) <poll frequency="${GiantsNew.poll}*1000">
提前致谢!
我以秒为单位将轮询频率存储在属性文件中。但是 Mule 中“poll”组件的频率属性期望频率以毫秒为单位。如何在这里执行乘法运算?以下两个似乎不起作用:
(1) <poll frequency="${GiantsNew.poll*1000}">
(2) <poll frequency="${GiantsNew.poll}*1000">
提前致谢!
很抱歉,Mule 不支持属性中的SpEL,frequency
所以我不得不构建如下所示的可怕装置,以仅使用配置元素来实现您的要求。
您还可以创建一个自定义类来解析初始properties
bean,而不是MethodInvokingFactoryBean
像我在下面那样使用。
<spring:beans>
<util:properties id="properties" location="classpath:appProperties.properties" />
<spring:bean id="giantsNewProperty"
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"
p:targetObject-ref="properties" p:targetMethod="setProperty">
<spring:property name="arguments">
<spring:list>
<spring:value>GiantsNewComputedPoll</spring:value>
<spring:value>#{ T(java.lang.Integer).valueOf(properties.getProperty("GiantsNew.poll")) * 5 }</spring:value>
</spring:list>
</spring:property>
</spring:bean>
<spring:bean id="computedProperties" factory-bean="properties"
factory-method="clone" depends-on="giantsNewProperty" />
<context:property-placeholder
properties-ref="computedProperties" />
</spring:beans>
...
<poll frequency="${GiantsNewComputedPoll}">