2016-08-09 17 views
0

私は春のバッチプロジェクトで次のステップを定義しました。私は簡潔さのためにコードを単純化しました。jobExecutionContextに入れる - UnsupportedOperationException

@Bean 
@JobScope 
public JdbcCursorItemReader<MasterList> queryStagingDbReader(
     @Value("#{jobExecutionContext['" + ExecutionContextConstants.JOB_EXPORT_STAGING_PROMOTION_START_DATE_END_DATE_GROUPINGS +"']}") 
     List<PromotionStartDateEndDateGrouping> promotionStartDateEndDateGroupings, 
     @Value("#{jobExecutionContext}")Map<String, Object> jobExecutionContext) { 

    jobExecutionContext.put(ExecutionContextConstants.JOB_EXPORT_STAGING_WORKING_PROMOTION_START_DATE_END_DATE, "Hello"); 

} 

私の問題は、私はこれは私がjobExecutionContextに追加する方法を動作しない場合は...私を得る上なステートメントプットごとにjobExecutionContextに

Caused by: java.lang.UnsupportedOperationException: null 
    at java.util.Collections$UnmodifiableMap.put(Collections.java:1457) ~ 

を追加しようとすることですか?あなたが受けている何

答えて

2

が実際ExecutionContextありません事前に

感謝。 ExecutionContextの値を持つMapです。実際のExecutionContextを取得するには、JobExecutionからそれを取得する必要があります。ほとんどの場合、StepScopeがより適切であると言われています。

+0

ありがとうございました! – Richie

関連する問題