package org.toobs.framework.email; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.access.SingletonBeanFactoryLocator; import org.toobs.framework.email.beans.ErrorEmailBean; public class EmailHelper { private static Log log = LogFactory.getLog(EmailHelper.class); private static BeanFactory beanFactory; private static SmtpMailSender smtpSender; static { beanFactory = SingletonBeanFactoryLocator.getInstance().useBeanFactory("beanRefFactory").getFactory(); smtpSender = (SmtpMailSender)beanFactory.getBean("SmtpMailSender"); } public static void sendErrorEmail(String personId, String context, Throwable throwable) { try { ErrorEmailBean email = (ErrorEmailBean)beanFactory.getBean("ErrorEmailBean"); email.setPersonId(personId); email.setContext(context); email.setThrowable(throwable); smtpSender.sendEmail(email); } catch (Exception e) { log.warn("Could not sent error notification email " + e.getMessage(), e); } } }