如何使用线程或执行程序服务在Servlet中发送邮件?

时间:2018-08-13 08:04:58

标签: java servlets java-threads

我想根据条件发送邮件

ServletMail.java

//somecodes

//this code should code should be executed in background(by threads or something)

if(cond1){

sendmail(firstcond)

}

else{

sendmail(secondcond)

}

//requestdispatcher

1 个答案:

答案 0 :(得分:2)

您可以使用ExecutorService executorService = Executors.newFixedThreadPool(threadNumber);。这里的threadNumber是并发使用线程。

  1. 如果使用IOC,则可以声明bean
  2. 第二种简单的 executorService 声明如何使用静态变量;
  

您可以像这样使用它

   if(cond1){
        executorService.execute(new Runnable() {
            @Override
            public void run() {
                sendmail(firstcond);
            }
        });
    } else{
        executorService.execute(new Runnable() {
            @Override
            public void run() {
                sendmail(secondcond);
            }
        });
    }

别忘了将此executorService.shutdown();放到Web服务器关闭监听器中。