diff --git a/src/com/platform/controller/DataModelController.java b/src/com/platform/controller/DataModelController.java index b2fb8c58..05486252 100644 --- a/src/com/platform/controller/DataModelController.java +++ b/src/com/platform/controller/DataModelController.java @@ -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,