Java 多线程 BlockingQueue 实现 高并发邮件 代码 SystemEmailSender
2014-10-27 16:00
507 查看
package com.pingan.emall.biz.util;
import com.paic.pafa.app.lwc.core.util.DevLog;
public class SystemEmailSender extends Thread {
private boolean running = true;
private SystemEmailBlockingQueue queue;
public SystemEmailSender(SystemEmailBlockingQueue queue) {
this.queue = queue;
}
@Override
public void run() {
while (running) {
try {
MailBean mail = queue.poll();
boolean succeed = SystemEmailUtils.sendMail(mail);
queue.retry(mail, succeed);
} catch (ThreadDeath e) {
DevLog.error("Thread dead in send mail thread", e);
break;
}
}
}
public void setRunning(boolean running) {
this.running = running;
}
@Override
public void destroy() {
DevLog.info("System mail send thread destroyed");
}
}
import com.paic.pafa.app.lwc.core.util.DevLog;
public class SystemEmailSender extends Thread {
private boolean running = true;
private SystemEmailBlockingQueue queue;
public SystemEmailSender(SystemEmailBlockingQueue queue) {
this.queue = queue;
}
@Override
public void run() {
while (running) {
try {
MailBean mail = queue.poll();
boolean succeed = SystemEmailUtils.sendMail(mail);
queue.retry(mail, succeed);
} catch (ThreadDeath e) {
DevLog.error("Thread dead in send mail thread", e);
break;
}
}
}
public void setRunning(boolean running) {
this.running = running;
}
@Override
public void destroy() {
DevLog.info("System mail send thread destroyed");
}
}
相关文章推荐
- Java 多线程 BlockingQueue 实现 高并发邮件 代码 SystemEmailUtils
- Java 多线程 BlockingQueue 实现 高并发邮件 代码 SystemEmailServiceImpl
- Java 多线程 BlockingQueue 实现 高并发邮件 代码 SystemEmailBlockingQueue
- Java 多线程 BlockingQueue 实现 高并发邮件 代码 MailBean
- Java 多线程 BlockingQueue 实现 高并发邮件 概论
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- Java HtmlEmail 邮件发送的简单实现代码
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- java挑战高并发(6):Runnable和Thread实现多线程的区别(含代码)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)(r)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- Java多线程与并发库高级应用之阻塞队列BlockingQueue
- [原]Java多线程编程学习笔记之五:Runnable和Thread实现多线程的区别(含代码)
- 【Java并发编程】之八:多线程环境中安全使用集合API(含代码)
- [Java] 正则表达式 02 EmailSpider 抓邮件, CodeCounter 统计程序有效代码行数