场景分析:
如本系统有一个同步接口用来同步对方数据:方式分为 FTP DB 等。
要注意问题
1.FTP 访问对方的ftp时,应注意。对方ftp系统语言,有些时候在使用jdk自代的ftp访问ftp系统时通常我们所用的是通过 .getFiles的方式来得到文件列表。 而这一句会隐藏一个bug . 在文件系统中 FTPFile 只支持英文日期格式的file
同时对对端的ftp访问时一般会有一系列的操作。如下载一个文件做处理,处理成功后删除这个文件。 这里同时也隐藏了一个非常严重的问题:处理时长 这是一个不得不考虑的问题。ftp 连接是有时间限制的。
2.DB 在访问对端的DB时,要注意的问题就是连接的问题。 大家可能以为连接DB吗只要url 用户名密码不就可以了,不正确的话会返回错误消息吗? 是的正常思维下是这样的,没错。可如果连接不上但同时也没返回错误,而是一直的等待在那里怎么办,难道说,我们的系统一定要等到连上或抛出异常吗?
一般本身去连接第三系统时都应设置一个连接超时的情况,除非你100%可以保证对方不会出现一点问题
解决方案采用有返回线程,设置在多长时间内如果没有返回直接结束线程.
如本系统有一个同步接口用来同步对方数据:方式分为 FTP DB 等。
要注意问题
1.FTP 访问对方的ftp时,应注意。对方ftp系统语言,有些时候在使用jdk自代的ftp访问ftp系统时通常我们所用的是通过 .getFiles的方式来得到文件列表。 而这一句会隐藏一个bug . 在文件系统中 FTPFile 只支持英文日期格式的file
同时对对端的ftp访问时一般会有一系列的操作。如下载一个文件做处理,处理成功后删除这个文件。 这里同时也隐藏了一个非常严重的问题:处理时长 这是一个不得不考虑的问题。ftp 连接是有时间限制的。
2.DB 在访问对端的DB时,要注意的问题就是连接的问题。 大家可能以为连接DB吗只要url 用户名密码不就可以了,不正确的话会返回错误消息吗? 是的正常思维下是这样的,没错。可如果连接不上但同时也没返回错误,而是一直的等待在那里怎么办,难道说,我们的系统一定要等到连上或抛出异常吗?
一般本身去连接第三系统时都应设置一个连接超时的情况,除非你100%可以保证对方不会出现一点问题
解决方案采用有返回线程,设置在多长时间内如果没有返回直接结束线程.