Как войти в нуль-канал - PullRequest
       24

Как войти в нуль-канал

0 голосов
/ 10 сентября 2018

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

Хотел бы войти в нулевой канал, чтобы увидеть имя файла, которое не было успешно переименовано.

Попробовал ниже решение. Но исключение происходит при запуске приложения. Можете ли вы предложить решение для достижения этой цели.

<integration:filter input-channel="filesInChannel" expression="headers['file_originalFile'].renameTo(new java.io.File(headers['file_originalFile'].absolutePath + '.lock'))" 
        output-channel="filesHeaderEnricher" discard-channel="nullChannel" throw-exception-on-rejection="false">
</integration:filter> 
<integration:channel id="nullChannel">
  <integration:interceptors>
    <integration:wire-tap channel="logNullChannel"/>
 </integration:interceptors>
</integration:channel>
<integration:logging-channel-adapter id="logNullChannel" level="DEBUG"/>

Исключение, если для канала nullchannel добавлен адаптер канала регистрации:

  java.lang.IllegalStateException: The bean name 'nullChannel' is reserved.
    at org.springframework.integration.config.DefaultConfiguringBeanFactoryPostProcessor.registerNullChannel(DefaultConfiguringBeanFactoryPostProcessor.java:112) ~[spring-integration-core-5.0.4.RELEASE.jar!/:5.0.4.RELEASE]
    at org.springframework.integration.config.DefaultConfiguringBeanFactoryPostProcessor.postProcessBeanFactory(DefaultConfiguringBeanFactoryPostProcessor.java:63) ~[spring-integration-core-5.0.4.RELEASE.jar!/:5.0.4.RELEASE]
    at 

1 Ответ

0 голосов
/ 10 сентября 2018

nullChannel не может быть перехвачен вообще. Вы должны рассмотреть какой-то другой канал для вашего варианта использования или включить ведение журнала отладки для категории NullChannel:

 if (this.loggingEnabled && this.logger.isDebugEnabled()) {
        this.logger.debug("message sent to null channel: " + message);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...