..
This commit is contained in:
@ -28,6 +28,8 @@ import java.io.File;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
import java.util.Timer;
|
||||||
|
import java.util.TimerTask;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by lyy on 2017/1/18.
|
* Created by lyy on 2017/1/18.
|
||||||
@ -35,6 +37,14 @@ import java.util.Properties;
|
|||||||
*/
|
*/
|
||||||
public abstract class AbsThreadTask<ENTITY extends AbsEntity, TASK_ENTITY extends AbsTaskEntity<ENTITY>>
|
public abstract class AbsThreadTask<ENTITY extends AbsEntity, TASK_ENTITY extends AbsTaskEntity<ENTITY>>
|
||||||
implements Runnable {
|
implements Runnable {
|
||||||
|
/**
|
||||||
|
* 线程重试次数
|
||||||
|
*/
|
||||||
|
private final int RETRY_NUM = 5;
|
||||||
|
/**
|
||||||
|
* 线程重试间隔
|
||||||
|
*/
|
||||||
|
private final int RETRY_INTERVAL = 5000;
|
||||||
private final String TAG = "AbsThreadTask";
|
private final String TAG = "AbsThreadTask";
|
||||||
protected long mChildCurrentLocation = 0, mSleepTime = 0;
|
protected long mChildCurrentLocation = 0, mSleepTime = 0;
|
||||||
protected int mBufSize;
|
protected int mBufSize;
|
||||||
@ -48,6 +58,8 @@ public abstract class AbsThreadTask<ENTITY extends AbsEntity, TASK_ENTITY extend
|
|||||||
* FTP 服务器编码
|
* FTP 服务器编码
|
||||||
*/
|
*/
|
||||||
public static String SERVER_CHARSET = "ISO-8859-1";
|
public static String SERVER_CHARSET = "ISO-8859-1";
|
||||||
|
private int mFailNum = 0;
|
||||||
|
private Timer mFailTimer;
|
||||||
|
|
||||||
protected AbsThreadTask(StateConstance constance, IEventListener listener,
|
protected AbsThreadTask(StateConstance constance, IEventListener listener,
|
||||||
SubThreadConfig<TASK_ENTITY> info) {
|
SubThreadConfig<TASK_ENTITY> info) {
|
||||||
@ -183,8 +195,19 @@ public abstract class AbsThreadTask<ENTITY extends AbsEntity, TASK_ENTITY extend
|
|||||||
/**
|
/**
|
||||||
* 重试当前线程
|
* 重试当前线程
|
||||||
*/
|
*/
|
||||||
private void retryThis(){
|
private void retryThis(boolean needRetry) {
|
||||||
|
if (mFailNum < RETRY_NUM && needRetry) {
|
||||||
|
if (mFailTimer != null){
|
||||||
|
mFailTimer.purge();
|
||||||
|
mFailTimer.cancel();
|
||||||
|
}
|
||||||
|
mFailTimer = new Timer();
|
||||||
|
mFailTimer.schedule(new TimerTask() {
|
||||||
|
@Override public void run() {
|
||||||
|
AbsThreadTask.this.run();
|
||||||
|
}
|
||||||
|
}, RETRY_INTERVAL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -37,7 +37,7 @@ task clean(type: Delete) {
|
|||||||
ext {
|
ext {
|
||||||
userOrg = 'arialyy'
|
userOrg = 'arialyy'
|
||||||
groupId = 'com.arialyy.aria'
|
groupId = 'com.arialyy.aria'
|
||||||
publishVersion = '3.2.19'
|
publishVersion = '3.2.20'
|
||||||
repoName='maven'
|
repoName='maven'
|
||||||
desc = 'android 下载框架'
|
desc = 'android 下载框架'
|
||||||
website = 'https://github.com/AriaLyy/Aria'
|
website = 'https://github.com/AriaLyy/Aria'
|
||||||
|
Reference in New Issue
Block a user