Как работать транзакционно с Spring-интеграции-Smb - PullRequest
1 голос
/ 06 февраля 2020

Я новичок в проекте Spring Integration. Я пытаюсь обработать удаленные файлы (из общего ресурса SMB2) транзакционно с проектом spring-integration-smb. С помощью этого сообщения в блоге мне удалось обработать файлы транзакционно (с помощью Spring's PseudoTransactionManager) в локальной файловой системе. Теперь я попытался настроить образец для обработки файлов на удаленном общем ресурсе (SMB), но я не нашел решения для обработки транзакций. Вы хоть представляете, как я могу реализовать такую ​​транзакционную обработку?

1 Ответ

1 голос
/ 06 февраля 2020

Вы по-прежнему можете использовать аналогичный подход с комбинацией PseudoTransactionManager и TransactionSynchronizationFactory для отслеживания ваших статусов транзакций.

Для операций отката, вы можете использовать SmbRemoteFileTemplate для вызова rename(), remove() и др. c. операции. Сообщение об ошибке содержит всю необходимую информацию в заголовках:

messageBuilder.setHeader(FileHeaders.REMOTE_HOST_PORT, uri.getHost() + ':' + uri.getPort())
                    .setHeader(FileHeaders.REMOTE_DIRECTORY, uri.getPath())
                    .setHeader(FileHeaders.REMOTE_FILE, uri.getFragment());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...