spring quartz定时下载ftp文件任务被阻塞
来源:互联网 发布:淘宝苹果4s外壳多少钱 编辑:程序博客网 时间:2024/06/05 08:33
问题:
Spring定时任务有时候运行到 FTPClient.listFiles()或者FTPClient.retrieveFile()方法时,就停止在那里,不再往下执行,重启应用后恢复正常,过一段时间又出现这个问题。起初以为是没有对FTPClient连接设置超时,于是设置了ConnectTimeout,仍然出现这个问题。
原因:
ftp协议不稳定,当连接ftp上传下载数据时有时候会遇到不可知的因素会导致卡死,比如说主动被动切换,服务器连接数满等等
解决:
在调用FTPClient.listFiles()或者FTPClient.retrieveFile()方法之前,调用FTPClient.enterLocalPassiveMode();//ftp连接模式设置为被动模式(ftp server可能每次开启不同的端口来传输数据,但是在linux上,由于安全限制,可能某些端口没有开启,所以就出现阻塞。主动模式需要客户端必须开放端口给服务器。被动模式只需要服务器端开放端口给客户端连接就行了)
与ftp无关的原因:
Spring定时任务默认都是并发执行的,不会等待上一次任务执行完毕,只要间隔时间到就会执行。定时任务每5分钟执行一次,假如每次都执行1小时的话,其他任务就会被阻塞。因为Quartz的线程都被这个定时任务占用了。其他任务只有等待。
解决方案:将JobDetail的concurrent属性配置为false。不允许任务并发执行。
阅读全文
0 0
- spring quartz定时下载ftp文件任务被阻塞
- Spring使用之:Quartz定时任务为什么会被阻塞
- Spring使用之:Quartz定时任务为什么会被阻塞
- Spring使用之:Quartz定时任务为什么会被阻塞
- 定时任务,定时下载FTP指定文件
- Spring+Quartz定时任务
- spring quartz 定时任务
- Spring-quartz定时任务
- spring 定时任务 quartz
- spring quartz 定时任务
- spring Quartz 定时任务
- spring+quartz定时任务
- Spring Quartz 定时任务
- spring quartz 定时任务
- Spring+quartz 定时任务
- spring quartz定时任务
- spring-quartz 定时任务
- spring quartz 定时任务
- 解决vux 引入组件时Error in render function: "TypeError: _vm.$t is not a function"问题
- 【云栖精选7月刊】抛开晦涩的算法、模型_让我们来谈谈互联网架构
- SSM框架整合
- python系列四.1(numpy基础)
- iOS中集成ijkplayer视频直播框架 (error: setupDisplay not ready)
- spring quartz定时下载ftp文件任务被阻塞
- Generative Adversarial Networks 生成对抗网络的简单理解
- HttpServletRequest 各种方法总结
- codeforces 55D Beautiful numbers(数位dp+离散化)【模板】
- HBase(2.4)-HBase读写操作、root和meta表
- 使用CopyTable同步HBase数据
- 网易新闻项目常用依赖
- Adapter 终结者,包含 DataBinding,任意 ViewGroup,Rv、Lv 列表。写 Adapter,有它就够了
- yum安装lnmp-nginx