私はこのように春にスケジューラタスクを設定しています:
<bean id="someSchedulerTask" class="org.springframework.scheduling.concurrent.ScheduledExecutorTask">
<!-- start after 60 seconds -->
<property name="delay" value="6000"/>
<!-- depends on the enviroment -->
<property name="period" value="${period}"/>
<property name="runnable" ref="myScheduler"/>
</bean>
プロパティperiod
はいくつかの構成ファイルで設定されており、デフォルトのタイプは String のようです:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'someSchedulerTask' defined in class path resource [context.xml]: Initialization of b
ean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'long' for property 'period'; nested exception is ja
va.lang.NumberFormatException: For input string: "period"
このステップで Stirng から Long に変更するにはどうすればよいですか??
前もって感謝します
EDIT プレースホルダー構成に問題はありません。別のBeanでこの構成ファイルの値をさらに使用しています。宣言:
period=30000