package com.mossle.core.mail; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class MailFacade { private static Logger logger = LoggerFactory.getLogger(MailFacade.class); private MailStore mailStore = new MailStore(); private MailConsumer mailConsumer = new MailConsumer(); private MailHelper mailHelper; @PostConstruct public void init() { mailStore.start(); mailConsumer.setMailStore(mailStore); mailConsumer.setMailHelper(mailHelper); mailConsumer.start(); } @PreDestroy public void close() { mailConsumer.stop(); mailStore.stop(); } public void sendMail(String to, String subject, String content) { this.sendMail(null, to, subject, content); } public void sendMail(String from, String to, String subject, String content) { MailDTO mailDto = new MailDTO(); mailDto.setFrom(from); mailDto.setTo(to); mailDto.setSubject(subject); mailDto.setContent(content); mailStore.sendMail(mailDto); } public void sendMail(MailDTO mailDto) { mailStore.sendMail(mailDto); } public void setMailStore(MailStore mailStore) { this.mailStore = mailStore; } public void setMailConsumer(MailConsumer mailConsumer) { this.mailConsumer = mailConsumer; } public void setMailHelper(MailHelper mailHelper) { this.mailHelper = mailHelper; } }