InterruptedException은 쓰레드가 waiting, sleeping 된 상태에서 발생할 수 있다.
어떤 쓰레드가 sleep 또는 wait 상태에서 block되어 있다면, 해당 쓰레드는 정상적인 수행을 하지 못하고 계속 runnable 상태가 끝나기를 기다릴 것이다.(deadlock에 빠짐)
따라서 다음에 수행되어야 할 쓰레드도 영원히 기다리게 된다.
이때 JVM은 block된 쓰레드를 interrupt 한다. interrupt된 쓰레드는 동작을 중지하고 InterruptedException를 발생시킨다.
이메일 전송을 위한 기본 기능을 제공하는 최상위 인터페이스
구현체: MockEmailSendable, MockExceptionEmailSendable, SimpleEmailSendable, TemplateEmailSendable
MockEmailSendable
MockExceptionEmailSendable
SimpleEmailSendable: 보낸 사람, 받는 사람, 참조, 제목 및 텍스트를 포함하는 메서드를 만드는 것
TemplateEmailSendable
[참고]
https://cookiee.tistory.com/508
https://yeon-kr.tistory.com/199
https://velog.io/@hiy7030/Spring-mailEventListener
https://velog.io/@hiy7030/Spring-mailEventListener-2
https://tecoble.techcourse.co.kr/post/2021-07-31-email-async-event/
https://ivvve.github.io/2019/06/02/java/Spring/event-listener-2/
https://atoz-develop.tistory.com/entry/Spring-ApplicationEventPublisher%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D
https://gudwnsgur.tistory.com/19