Last active
December 22, 2020 07:20
-
-
Save memojja/e9b7af47bb854908fbfb763f86f0d798 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| @Service | |
| public class WelcomingListener { | |
| @Autowired | |
| private MailSenderService mailSenderService; | |
| private static final Logger logger = LoggerFactory.getLogger(WelcomingListener.class); | |
| @Value("${template.welcoming.message}") | |
| private String message; | |
| @Value("${template.welcoming.subject}") | |
| private String subject; | |
| @KafkaListener(topics = "trendyol.mail.welcome", groupId = "group_id") | |
| @IdempotentResource(cachePrefix = "WelcomingListener") | |
| public void consumeMessage(String emailAdress) { | |
| SendEmailRequest request = SendEmailRequest.builder() | |
| .email(message) | |
| .subject(subject) | |
| .build(); | |
| try { | |
| mailSenderService.sendMail(request); | |
| } catch (MessagingException e) { | |
| logger.error("MailSenderService.sendEmail() throw exception {} event: {} ", e, emailAdress); | |
| // Throwing any exception is enough to delete from redis. When successful, it will not be deleted from redis and will be idempotent. | |
| throw new RetryIdempotentRequestException(e); | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment