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

Chcę załadować value z pliku własności (value = "${jobs.per.second} „), które będą manipulowaneJak wykonać arytmetykę we właściwościach sprężyny?

. Na przykład: jobs.properties plik będzie miał: jobs.per.second = 500

chcę użyć operacji arytmetycznych (odwrócić je i pomnożyć przez 1000) (1/500 * 1000 = 2) i substytutem value = 2 zamiast 1.

Jak mam iść na ten temat? Czy istnieje jakiś sposób, aby umożliwić operacje arytmetyczne w xml?

EDIT: używam Wiosna 3.

+0

Does [to] [1] pytanie i rozwiązanie pomocy? [1]: http://stackoverflow.com/questions/5953468/performing-arithmetic-using-spring-expression-language-and-propertyplaceholderco –

Odpowiedz

11

Nie wspominając, która wersja Wiosna używasz, ale wiosna 3.0 pochodzi z wiosennej EL (Expression Language), który pozwala używać wyrażeń w formacie XML definicje fasoli (a także inne miejsca, takie jak adnotacje @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> 

można przeczytać więcej na temat wiosennej EL here

+0

Tak, to jest Wiosna 3. Jestem w stanie rozwiązać problem. Z pewnością pomoże to osobom z podobnymi problemami. –

+0

Czy zdajesz sobie sprawę, jak to działa razem z konfiguratorem zastępczym właściwości? Czy mogę użyć "# {1000/$ {jobs.per.second} * 100.0}"? –

+0

Wiosna 4, '' działa bez problemów. Może pracować również z wiosną 3. – SashikaXP

Powiązane problemy