Jmail有没有办法控制超时,邮件发送一定时间没发完终止发送

昊天宗唐三 2012-12-12 11:00:17
写一个项目含有发邮件的模块,其中发邮件的时候有个main.send()函数,邮件很大的话会阻塞在那边,等发完了代码才继续玩下执行,有没有办法设置超时之类的办法一定时间后终止发送
...全文
244 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
昊天宗唐三 2012-12-16
  • 打赏
  • 举报
回复
引用 楼主 pcw1989 的回复:
写一个项目含有发邮件的模块,其中发邮件的时候有个main.send()函数,邮件很大的话会阻塞在那边,等发完了代码才继续玩下执行,有没有办法设置超时之类的办法一定时间后终止发送
我的那个项目里面是不能再开线程了,一开就会出问题,所以在想其他替代的办法,如果还有想到其他方法给我留言哦,多谢了,分先给你。
昊天宗唐三 2012-12-14
  • 打赏
  • 举报
回复
引用 1 楼 huntor 的回复:
将发送邮件包装到一个Runnable,然后提交到ScheduledExecutorService,返回一个Future,然后在指定的时间后检测这个Future是否isDone,没有就 cancel
再过两天没有新的办法,我就结贴分给你哦,谢谢
昊天宗唐三 2012-12-14
  • 打赏
  • 举报
回复
引用 1 楼 huntor 的回复:
将发送邮件包装到一个Runnable,然后提交到ScheduledExecutorService,返回一个Future,然后在指定的时间后检测这个Future是否isDone,没有就 cancel
嗯,这方法可行,不过我其实更需要其他不用开线程的方法
昕玫 2012-12-13
  • 打赏
  • 举报
回复
引用 1 楼 huntor 的回复:
将发送邮件包装到一个Runnable,然后提交到ScheduledExecutorService,返回一个Future,然后在指定的时间后检测这个Future是否isDone,没有就 cancel
赞同。用Future来做
dracularking 2012-12-13
  • 打赏
  • 举报
回复
像楼上说的,换个思路,不通过控制超时,通过多线程,可能更好。不过javamail自己为什么不直接实现,可能有什么原因潜藏着。
huntor 2012-12-12
  • 打赏
  • 举报
回复
将发送邮件包装到一个Runnable,然后提交到ScheduledExecutorService,返回一个Future,然后在指定的时间后检测这个Future是否isDone,没有就 cancel

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧