2012-03-07 12 views
1

私はSpringタスクスケジューラを設定しています。jndiからのスプリングタスクスケジューラの遅延

<task:scheduled-tasks scheduler="myScheduler"> 
     <task:scheduled ref="servicesConfigurationBean" method="loadResources" fixed-delay="300000" /> 
</task:scheduled-tasks> 

正常に動作しています。今度はJNDIルックアップから遅延値を設定したいと思います。

<task:scheduled ref="servicesConfigurationBean" method="loadResources"> 
    <property name="fixed-delay"><ref local="servicesRefreshRate"/></property> 
</task:scheduled> 

しかし、今、私は次の例外得る:だから私は、次のことを試してみました

を[/WEB-INF/spring/applicationContext.xml]は無効です。入れ子になっている例外はorg.xml.sax.SAXParseExceptionです:cvc-complex-type.2.1:要素のコンテンツタイプが空であるため、 'task:scheduled'要素に文字または要素情報項目[children]がなくてはなりません[/ WEB-INF /spring/applicationContext.xml]は無効です。入れ子になっている例外はorg.xml.sax.SAXParseExceptionです:cvc-complex-type.2.1:要素のコンテンツタイプが空であるため、 'task:scheduled'要素に文字または要素情報項目[children]がなくてはなりません。

私は例外の原因を理解していますので、問題に実行可能な解決策はありますか?おかげさまで

答えて

1

<task:scheduled>はbean定義ではないため、<property>を使用すると機能しません。 2つは非常に異なった働きをします。

ではなく、春-ELを使用してみてください:

<task:scheduled ref="servicesConfigurationBean" 
       method="loadResources" 
       fixed-delay="#servicesRefreshRate" /> 

私はそれを試してみましたが、それをやってみるされていません。

+1

ありがとう、私はSpELを認識していませんでしたが、それはまさに私が探していたものでした。今はRTFMの期限です。 :) – Carlo