利用spring提供的线程池发送邮件

来源:互联网 发布:淘宝网太阳镜 编辑:程序博客网 时间:2024/06/06 00:41

1,在spring中配置线程池

<!-- 配置线程池 --><bean id="threadPool" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">   <!-- 线程池维护线程的最少数量 -->   <property name="corePoolSize" value="50" />   <!-- 线程池维护线程所允许的空闲时间 -->   <property name="keepAliveSeconds" value="30000" />   <!-- 线程池维护线程的最大数量 -->   <property name="maxPoolSize" value="200" />   <!-- 线程池所使用的缓冲队列 -->   <property name="queueCapacity" value="1000" /></bean>
2,在代码中引入pool

@Component("mailBiz")public class MailBiz {   @Autowired   private JavaMailSender mailSender;// spring配置中定义   @Autowired   private SimpleMailMessage simpleMailMessage;// spring配置中定义   @Autowired   private ThreadPoolTaskExecutor threadPool;   /**    * 发送模板邮件    *     * @param mailParamTemp需要设置四个参数    *            templateName,toMail,subject,mapModel    * @throws Exception    *     */   public void mailSend(final MailParam mailParam) {      threadPool.execute(new Runnable() {         public void run() {            simpleMailMessage.setFrom(simpleMailMessage.getFrom()); // 发送人,从配置文件中取得            simpleMailMessage.setTo(mailParam.getTo()); // 接收人            simpleMailMessage.setSubject(mailParam.getSubject());            simpleMailMessage.setText(mailParam.getContent());            mailSender.send(simpleMailMessage);         }      });   }}

0 0
原创粉丝点击