#spring-integration
#весенняя интеграция
Вопрос:
новое для SI. У меня есть этот поток SI ниже. Я бы ожидал, что программа Java завершит работу по завершении, после исходящего канала, но она продолжает ждать, и я не понимаю, почему. Заранее спасибо!
<int-file:inbound-channel-adapter id="filesIn"
directory="file:${com.cld.creditexpenses.inputdirectory}"
filename-pattern="*.313" auto-startup="true">
<int:poller id="poller" fixed-delay="10000"/>
</int-file:inbound-channel-adapter>
<int:service-activator input-channel="filesIn" ref="delimitedFileProcessor"
method="processFile" output-channel="outChannel" />
<int:outbound-channel-adapter id="outChannel" ref="fileArchiver" method="archiveFile" >
</int:outbound-channel-adapter>
Ответ №1:
Вы должны закрыть контекст приложения после завершения обработки или заменить значение по умолчанию taskScheduler
на значение, использующее потоки демона — см. Документацию.
Но это означает, что программа может завершиться до завершения обработки, поэтому вам нужно поддерживать ее работу каким-либо другим способом.
Комментарии:
1. Спасибо за ответ, Гэри. Итак, если я запускаю его, используя класс Spring Boot, как показано ниже, я думаю, мне нужно как-то изменить его, чтобы получить контекст приложения и закрыть его?
2. ‘@ImportResource(«classpath:si-config.xml «) @SpringBootApplication публичный класс CreditExpensesApplication { публичная статическая пустота main(строка[] аргументы) { SpringApplication.run(CreditExpensesApplication.class , аргументы); } }’
3. Не помещайте код в комментарии; вместо этого отредактируйте вопрос; как вы можете видеть, он совершенно нечитаемый.
run
Метод onSpringApplication
возвращает контекст. Вам понадобится какой-то механизм, чтобы узнать, когда обработка завершена; затем закройте контекст.ConfigurableApplicationContext context = SpringApplication.run(...);
4. Спасибо, Гэри, но меня сводит с ума то, что я не могу сделать это только с конфигурацией XML. Наверное, я не понимаю, почему этот пример запускается и останавливается, но мой непрерывный. javarticles.com/2015/05 /…
5. Я думаю, посмотрите, где он закрывает контекст. Все еще сводит меня с ума.