2013-04-09 2 views
-1

У меня есть рабочее весовое пакетное задание с двумя шагами, и я хочу добавить логику повтора на шаг отправки ftp.Повторная попытка отправки файлов с помощью интеграции с пружиной с использованием ftp: исходящего канала

  • Первый шаг считывает из базы данных и выводит XML файлы
  • Второй шаг отправить этот файл на FTP-хоста с помощью интеграции пружинный

Второй шаг сконфигурирован следующим образом

<step id="sendFileByFtp" next="moveResource"> 
    <tasklet ref="ftpJobTasklet" /> 
</step> 
<bean id="ftpJobTasklet" class="com...FtpOutboundTasklet" scope="step"> 
    <property name="resource" ref="ypportal-siparis-outputFile"></property> 
    <property name="ftpChannel" ref="ftpOutputChannel"></property>  
</bean> 

И ftpOutputChannel сконфигурирован с ftpClientFactory с использованием DefaultFtpSessionFactory

<int:channel id="ftpOutputChannel"></int:channel> 

<int-ftp:outbound-channel-adapter session-factory="ftpClientFactory" id="ftpOutbound" channel="ftpOutputChannel" remote-directory="inbox" auto-create-directory="true" temporary-remote-directory="tmp" > 
</int-ftp:outbound-channel-adapter> 

Я хочу добавить логику повтора на этот второй шаг, который будет повторять/возобновлять попытки подключения к удаленному ftp-хосту.

Использование пружинного интеграции 2.2.2 и пружинный партия 2.1.19

ответ

1

Вы можете использовать RequestHandlerRetryAdvice, как описано здесь ... http://static.springsource.org/spring-integration/reference/html/messaging-endpoints-chapter.html#message-handler-advice-chain

Там есть образец здесь ... https://github.com/SpringSource/spring-integration-samples/tree/master/intermediate/retry-and-more

В нем показана различная конфигурация для повтора (экспоненциальное отключение и т. Д.).

Смежные вопросы