Мне нужно передавать действительно большое количество данных от Oracle db в какой -то другой db.
, но в моих результатах всегда пропускаются некоторые данные.
У меня простой запрос. Просто получу два столбца из некоторых таблиц. У меня есть время undo_retention, которое составляет всего 15 минут) - во -первых, я просто добавляю условие, где реле на границе данных и нулевой, но я отказался от этих дополнительных условий. У меня есть шаблон повторной попытки и «retrylistener», где я полагаю, чтобы зарегистрировать любую проблему, которая может вызвать повторную попытку. У меня есть информация на уровне журнала, и я использую «log.error» в прослушивателе.
Я поймаю все исключение - чтобы не сбой и посмотреть, в чем причина моя проблема.
Но я никогда не вижу никакой проблемы вообще. Потому что обычно это происходит только один раз, но если необходимо повторно, потому что, скажем, соединение было интерпретировано, то это еще раз?
Код: Выделить всё
public final String READ_TEAM_TO_DATE_SQL = "select t.id, t.group from teams";
public final String WRITE_TEAM_SQL = "INSERT INTO \"teams\" (\"id\", \"group\") VALUES (:id, :group)";
@Autowired
@Qualifier("dataSource")
private DataSource postgresqlDatasource;
@Autowired
@Qualifier("oracleDataSource")
private DataSource oracleDataSource;
@Autowired
private JobRepository jobRepository;
@Autowired
private PlatformTransactionManager transactionManager;
@Bean
public Flow getTeamsFlow() {
return new FlowBuilder("getTeams")
.start(getTeamsStep())
.on("COMPLETED").end()
.on("FAILED").fail()
.build();
}
@Bean
public Step getTeamsStep() {
return new StepBuilder("getTeamsStep", jobRepository)
.chunk(50_000, transactionManager)
.faultTolerant()
.retry(ConnectException.class)
.retry(SocketTimeoutException.class)
.retry(SQLTransientConnectionException.class)
.retry(SQLTransientException.class)
.retry(SQLTimeoutException.class)
.retry(SQLRecoverableException.class)
.retryLimit(10)
.listener(new ItemWriteListener() {
@Override
public void onWriteError(Exception ex, Chunk
Подробнее здесь: [url]https://stackoverflow.com/questions/79592146/behavior-of-retry-in-spring-batch-with-jdbccursoritemreader-after-lost-connectio[/url]