背景,在Action中发送邮件,阻塞程序继续执行并返回500,使用 Thread 实现异步发送,因为我们并不关心邮件是否到达,只需正常发送即可。
public String execute(){ ... ... try { // Send email Thread sendmail = new Thread(new Runnable() { @Override public void run() { try { log.info("sendEmail Begin"); sender.sendEmail(form.getEmail(), form.getText()); log.info("sendEmail End"); } catch (Exception e) { e.printStackTrace(); } } }); sendmail.setName("sendmail" + sendmail.getId() + "logingName:" + form.getLoginname()); sendmail.start(); } catch (Exception e) { e.printStackTrace(); log.info("sendEmail Error"); } ... ... log.info("CreateTrialAccount:" + form.toString()); return Action.SUCCESS; }
原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。