oracleExtract方法,抽取oracle,5秒内返回(线程抽取)

web_backend_develope
chenlw 9 years ago
parent 325d3da80a
commit 8528272d1c

@ -38,6 +38,8 @@ import com.platform.service.IMoveDataService;
import com.platform.service.IMySqlService;
import com.platform.service.IOracleExtractService;
import com.platform.service.OracleStatusService;
import com.platform.service.thread.ThreadExtractOracle;
import com.platform.service.thread.ThreadGainOracleConnect;
import com.platform.utils.Configs;
import com.platform.utils.UtilsHelper;
@ -142,12 +144,33 @@ public class DataModelController extends BaseController {
public void oracleExtract(HttpServletRequest res, HttpServletResponse req,
@RequestBody oracleForm form) throws Exception {
Configs.CONSOLE_LOGGER.error("/oracle/{name}/extract");
res.setCharacterEncoding("UTF-8");
// res.setCharacterEncoding("UTF-8");
boolean isConnect = false;
//5秒内是否能获得oracle连接否则认为超时。
if (null != form.getTarget()) {
ThreadGainOracleConnect thOrcl = new ThreadGainOracleConnect(form, OracleExtract);
thOrcl.start();
for (int i = 0; i < 10; i++) {
isConnect = thOrcl.isConnect();
if (isConnect) {
break;
}
else {
Thread.sleep(500);
}
}
}
if (isConnect)
req.setStatus(200);
else
req.setStatus(500);
// 开始抽取数据到汇总库
if (null != form.getInneed() && form.getInneed().size() > 0) {
OracleExtract.extractOracle(form.getName(), form.getInneed(),
form.getTarget());
ThreadExtractOracle thExtra = new ThreadExtractOracle(form, OracleExtract);
thExtra.start();
// OracleExtract.extractOracle(form.getName(), form.getInneed(),
// form.getTarget());
}
req.setStatus(200);
}
// public void oracleExtract(HttpServletRequest res,

Loading…
Cancel
Save