1
String Integration DSL 메일을 사용하여 POP3 메일 서버에서 이메일을 수신합니다. 몇 시간 후에 폴러가 메일 서버를 폴링하는 것을 멈추고 이메일을 처리하지 않는다는 것을 알았습니다. 나는 메일 서버에 로그인하여 이메일이 메일 서버에 있는지 확인할 수 있습니다. 아래 내용을 검토하여 잘못된 내용을 알려주십시오.스프링 통합 폴러 스레드가 꺼내졌습니다.
@Bean
public IntegrationFlow emailFlow() {
return IntegrationFlows
.from(Mail.pop3InboundAdapter(config.getMailUri())
.javaMailProperties(p ->
emailInflowConfiguration.javaMailProperties(p))
.embeddedPartsAsBytes(true).maxFetchSize(1)
.shouldDeleteMessages(true)
.javaMailAuthenticator(config.mailAuthenticator()),
e -> e.autoStartup(true)
.poller(p -> p.fixedDelay(5000,
1000)))
.channel(MessageChannels.direct("pop3Channel"))
.handle("pop3Handler", "handleMessage")
.get();
}
다음은 스레드 덤프입니다. https://www.dropbox.com/s/onj89bawv02exha/thread.dump?dl=0, 잘 pop3Handler는 영수증 전자 메일을 구문 분석하고 더 다운 스트림을 푸시합니다. 어쨌든 저는 ** catch (Throwable 오류) {Thread.interrupted(); ** _ 핸들러에 있습니다. – Sam