2011-10-26 17 views
8
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> 
     <property name="jobDetail" ref="Job1" /> 
     <property name="repeatInterval" value="1" /> 
    </bean> 

は私が操作されるプロパティファイル(value = "${jobs.per.second}「)、からvalueをロードするSpringプロパティで算術演算を行うには?

たとえば:。jobs.propertiesファイルがあります:jobs.per.second = 500

私は算術演算を使用したい(これを反転(1/500 * 1000 = 2) を代入し、代わりにvalue = 2を代入してください。

xmlで算術演算を有効にする方法はありますか?

編集:私はあなたが使用している春のバージョンを言及しなかったが、春3.0を使用すると、XMLで表現を使用することができます春EL(式言語)が付属しています春3.

+0

ん[この] [1]問題と解決策の助けをもっと読むことができますか? [1]:http://stackoverflow.com/questions/5953468/performing-arithmetic-using-spring-expression-language-and-propertyplaceholderco –

答えて

11

使用していますBean定義(@Valueアノテーションなどの他の場所と同様に)

<util:properties id="properties" location="classpath:jobs.properties"/> 
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> 
    <property name="jobDetail" ref="Job1" /> 
    <property name="repeatInterval" value="#{ 1000/properties['jobs.per.second'] * 100.0 }" /> 
</bean> 

あなたは春ELについてhere

+0

はい、それは私が解決することができる午前春3です。問題。これは間違いなく同様の問題を持つ他の人を助けるでしょう。 –

+0

プロパティプレースホルダ設定ツールとどのように連携するのか、ご存じですか? "#{1000/$ {jobs.per.second} * 100.0}"を使用できますか? –

+0

Spring 4、 ''は問題なく動作します。春3でも働くかもしれない。 – SashikaXP