2012-08-07 141 views
1

我有一個非常基本的跳過問題。我使用春季樣本提供的spring-batch-simple-cli項目,並試圖瞭解跳過行爲。這裏有一個非常基本的示例讀取器,它從一串字符串中讀取數據(我修改了它從10個字符串的列表中讀取,從Helloworld 1開始到Hellowworld 10)以及一個記錄到控制檯的基本作者。編寫器在每次寫入時拋出java.lang.Exception。 我已經爲作業配置添加了4的跳過限制。一旦到達Hellowworld 5,工作就會按預期停止。 但是,每當寫入器拋出異常,作者立即被回調與相同的項目。我的問題爲什麼作家打了兩次電話?我期待這個項目被跳過?有什麼我失蹤了。春季批處理作家,處理器跳過兩次調用?

<job id="job1" xmlns="http://www.springframework.org/schema/batch" incrementer="jobParametersIncrementer"> 
    <step id="step1" parent="simpleStep"> 
     <tasklet> 
      <chunk reader="reader" writer="writer" skip-limit="4" > 
       <skippable-exception-classes> 
        <include class="java.lang.Exception" /> 
       </skippable-exception-classes> 
      </chunk> 
     </tasklet> 
    </step> 
</job> 

回答