2016-01-08 3 views
3

Я реализовал адаптер sftp-inbound-channel, и когда обрабатывается исключение, я должен отобразить настроенное сообщение.Весенняя интеграция: адаптер входящего канала. catch исключение

Я пробовал:

<int-sftp:inbound-channel-adapter id="sftpInbondAdapter" 
    auto-startup="true" channel="receiveChannel" session-factory="sftpSessionFactory" 
    local-directory="file:${directory.files.local}" remote-directory="${directory.files.remote}" 
    auto-create-local-directory="true" delete-remote-files="true" 
    filename-pattern="*.txt" > 
    <int:poller fixed-delay="${sftp.interval.request}" 
     max-messages-per-poll="-1" /> 

<int-sftp:request-handler-advice-chain> 

<bean: class="org.springframework.integration.handler.advice.ExpressionEvaluatingRequestHandlerAdvice"> 

<property name="onSuccessExpression" value="payload" /> 
<property name="successChannel" ref="afterSuccessDeleteChannel" /> 
<property name="onFailureExpression" value="payload.renameTo(new java.io.File(payload.absolutePath + '.failed.to.send'))" /> 
<property name="failureChannel" ref="afterFailRenameChannel" /> 
</bean> 
</int-sftp:request-handler-advice-chain> 

Но элемент

<int-sftp:request-handler-advice-chain>

не принимается. Можете ли вы объяснить другое решение?

ответ

0

Советник обработчика запроса обрабатывает какой-либо компонент, расположенный ниже по потоку, а не входящий адаптер канала.

Вы можете добавить error-channel в элемент <poller/>. Сообщение, отправленное на канал ошибки, будет ErrorMessage, за исключением полезной нагрузки. Если это исключение в потоке ниже по потоку, полезная нагрузка будет MessagingException с failedMessage и cause.

Добавьте один компонент, чтобы использовать сообщения об ошибках.

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