プロパティファイルにポーリング頻度を秒単位で保存しています。しかし、Mule の「poll」コンポーネントの頻度属性は、頻度がミリ秒単位であると想定しています。ここで乗算演算を実行するにはどうすればよいですか? 以下の2つは機能していないようです。
(1) <poll frequency="${GiantsNew.poll*1000}">
(2) <poll frequency="${GiantsNew.poll}*1000">
前もって感謝します!
プロパティファイルにポーリング頻度を秒単位で保存しています。しかし、Mule の「poll」コンポーネントの頻度属性は、頻度がミリ秒単位であると想定しています。ここで乗算演算を実行するにはどうすればよいですか? 以下の2つは機能していないようです。
(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}">