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

ben manipüle edilecek bir özellik dosyası (value = "${jobs.per.second} ") den value yüklemek istediğinizYay özelliklerinde aritmetik nasıl yapılır?

. Örneğin: jobs.properties dosya sahip olacaktır: jobs.per.second = 500

Ben aritmetik işlemleri kullanmak istiyorum (onu çevirin ve 1000 ile çarpın) (1/500 * 1000 = 2) ve yedek value = 2 yerine bu konuda gitmek nasıl 1.

mi? xml aritmetik işlemleri etkinleştirmek için herhangi bir yolu var mı?

DÜZENLEME: Eğer kullandığınız Bahar hangi sürümünü söz etmedi, ancak Bahar 3.0 XML ifadeleri kullanmasını sağlar Bahar EL (Expression Dili) ile birlikte gelir Bahar 3.

+0

mu [bu] [1] soru ve çözüm yardımına daha okuyabilirim? [1]: http://stackoverflow.com/questions/5953468/performing-arithmetic-using-spring-expression-language-and-propertyplaceholderco –

cevap

11

kullanıyorum fasülye tanımları (@Value ek açıklamaları gibi diğer yerlerin yanı sıra).

<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> 

Sen Bahar EL ilgili here

+0

Evet, ben çözebilirseniz duyuyorum Bahar 3'tür sorun. Bu kesinlikle benzer konularda başkalarına yardımcı olacaktır. –

+0

Bilirsiniz, özellik yer tutucu yapılandırıcıyla birlikte nasıl çalışır? "# {1000/$ {jobs.per.second} * 100.0}" kullanabilir miyim? "? –

+0

Yay 4, '<özellik adı =" repeatInterval "değer =" # {1000/$ {jobs.per.second} * 100.0} "/>" sorun olmadan çalışır. Ayrıca bahar 3 ile de çalışabilir. – SashikaXP

İlgili konular