package cn.com.basic.face.util;
|
|
import cn.com.basic.face.service.sync.up.AttenderRegisterUpSync;
|
import cn.com.basic.face.service.sync.up.BaseSync;
|
import cn.com.basic.face.service.sync.up.CheckInUpSync;
|
import cn.com.basic.face.service.sync.up.OfflineSurveillanceUpSync;
|
import cn.com.basic.face.service.sync.up.VisitorRegisterUpSync;
|
|
public class SyncUpAndDownThread extends Thread {
|
|
public boolean isThisTimeSyncComplete = false;
|
|
BaseSync firstSync;
|
|
public BaseSync buildSyncChain() {
|
|
VisitorRegisterUpSync visitorRegisterUpSync = VisitorRegisterUpSync.getInstance();
|
AttenderRegisterUpSync attenderRegisterUpSync = AttenderRegisterUpSync.getInstance();
|
visitorRegisterUpSync.setNext(attenderRegisterUpSync);
|
CheckInUpSync checkInUpSync = CheckInUpSync.getInstance();
|
attenderRegisterUpSync.setNext(checkInUpSync);
|
OfflineSurveillanceUpSync offlineSurveillanceUpSync = OfflineSurveillanceUpSync.getInstance();
|
checkInUpSync.setNext(offlineSurveillanceUpSync);
|
|
return visitorRegisterUpSync;
|
}
|
|
|
@Override
|
public void run() {
|
firstSync = buildSyncChain();
|
while (true) {
|
try {
|
firstSync.setComplete(false);
|
if (firstSync.lastUpSyncComplete()) {
|
Thread.sleep(5 * 60 * 1000);
|
} else {
|
Thread.sleep(10*1000);
|
return;
|
}
|
} catch (Exception e) {
|
try {
|
Thread.sleep(30 * 1000);
|
} catch (Exception e2) {
|
e2.printStackTrace();
|
}
|
e.printStackTrace();
|
}
|
}
|
|
}
|
|
}
|