Team,Wiosna Batch Jak ustawić interwał czasowy pomiędzy każdym wywołaniu w kawałek tasklet
Robię POC technicznej dla odczytu rekordów z pliku płaskiego i wstawienie danych do bazy danych.
Używam zadanie klocek i uruchomieniem tego zadania za pomocą sprężyny wsadowy Administrator pomyślnie.
muszę realizować politykę ponawiania wraz z funkcji, aby ustawić interwał czasowy pomiędzy każdym ponownego wprowadzenia. Utknąłem z ustawianiem odstępu czasowego pomiędzy kolejnymi próbami, ponieważ uchwyt nie obsługuje go bezpośrednio. Czy jest w tym jakaś praca?
Mój kod jest
<batch:job id="importDataJob" job-repository="jobRepository">
<batch:step id="importDataStep">
<batch:tasklet transaction-manager="transactionManager">
<batch:chunk reader="dataReader" writer="dataWriter" commit-interval="1" retry-limit="3">
<batch:retryable-exception-classes>
<batch:include class="javax.naming.ServiceUnavailableException" />
</batch:retryable-exception-classes>
</batch:chunk>
</batch:tasklet>
</batch:step>
</batch:job>
Będziesz musiał zdefiniować retry-policy and backoff policy, aby ustawić interwał. Domyślnie wiosna pozwala tylko ustawić próby ponowienia. sprawdź ten link, aby uzyskać pomoc http://www.javabeat.net/articles/309-configure-spring-batch-to-retrying-on-error-1.html – Kshitij
również odnosić się do tego dla polityki ograniczania mocy http : //forum.springsource.org/showthread.php 118637-How do określenia odstępu pomiędzy kolejnymi-retry-próbach – Kshitij
@Kshitij: Dzięki za link Kshitij. Myślałem o tym samym, ale nie ma opcji, aby ustawić politykę backoff z porcją. – Abhilash