采用apache的commons-email包发送邮件死锁
来源:互联网 发布:婚礼电子请柬软件 编辑:程序博客网 时间:2024/05/22 16:06
采用apache的commons-email包发邮件时候,程序卡住停顿了,使用jstack命令查看栈信息如下:
java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:110) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read(BufferedInputStream.java:237) - locked <0x00000007fb055378> (a java.io.BufferedInputStream) at com.sun.mail.util.LineInputStream.readLine(LineInputStream.java:88) at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1589) at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1369) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412) at javax.mail.Service.connect(Service.java:288) - locked <0x00000007fb0515d8> (a com.sun.mail.smtp.SMTPTransport) at javax.mail.Service.connect(Service.java:169) at javax.mail.Service.connect(Service.java:118) at javax.mail.Transport.send0(Transport.java:188) at javax.mail.Transport.send(Transport.java:118) at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1232) at org.apache.commons.mail.Email.send(Email.java:1267) at com.renren.zhaopin.mail.util.MailPostUtil.postMail(MailPostUtil.java:61) at com.renren.zhaopin.mail.util.MailPostUtil.postMail(MailPostUtil.java:39) at com.renren.xoa2.xiaozhao.mail.service.BaskGroundService$Consumer.waitConsumerEmail(BaskGroundService.java:212) at com.renren.xoa2.xiaozhao.mail.service.BaskGroundService$Consumer.run(BaskGroundService.java:152) at java.lang.Thread.run(Thread.java:662)
通过查找发现,原来是一台postfix邮件服务器挂了,导致一直占用io,而连接的时候,未设置超时等信息所致。
解决方法:
1)找到挂掉的服务器,去掉即可。
或
2)完善发送程序,发送代码中加入以下代码:
email.setSocketTimeout(60*1000); email.setSocketConnectionTimeout(60*1000);
- 采用apache的commons-email包发送邮件死锁
- 通过apache 的 commons-email 包发送邮件
- Apache-commons-email发送邮件
- Apache Commons Email邮件发送
- 用apache的Mail包(commons-email-1.2.jar),发送邮件
- 使用Apache Commons-email组件发送邮件
- 使用Apache Commons-email组件发送邮件
- 利用Apache commons-email组件发送邮件
- apache commons-email发送邮件乱码问题
- 利用Apache Commons Email发送邮件
- 利用apache commons-email发送邮件
- Commons: 封装Apache Commons Email简化邮件发送
- commons-email 发送邮件
- 用 apache commons-email 轻松发送无乱码邮件
- 使用commons-email-1.3.2.jar包发送邮件
- 使用commons-email-1.3.2.jar包发送邮件
- java web实现邮件发送,基于Apache commons-email 的实现
- 简单的邮件发送封装库(1) -- 使用Apache Commons Email
- 字体设置窗口类
- Eclipse中 js 自动提示 适用mac系统下的eclipse
- linux性能检测
- MYSQL的sql mode详解
- STL(6)sorting algorithm 函数
- 采用apache的commons-email包发送邮件死锁
- hadoop 编译jar包和运行
- boost uuid
- 10046 level 12 跟踪一个秀逗的SQL语句
- 网站优化SEOER不可忽视的内链质量
- 79款 C/C++开发工具开源软件
- BAPI使用 - BAPI_EQUI_CREATE创建序列号(IQ01)
- 获取前一天,后一天,后两天,三天的日期
- Android动画效果 translate、scale、alpha、rotate 切换Activity动画 控件位置调整