From 0a5b380ee77dc9bb1ee1e7e373fa4122122e9e40 Mon Sep 17 00:00:00 2001 From: wu ming <569287825@qq.com> Date: Thu, 22 Sep 2016 10:42:46 +0800 Subject: [PATCH 1/2] for merge --- .../controller/DataModelController.java | 11 ++-- src/com/platform/entities/oracleForm.java | 50 ++++++----------- .../platform/kubernetes/SimpleKubeClient.java | 11 +++- src/com/platform/oracle/OracleConnector.java | 50 +++++++++++------ .../platform/service/OracleExtractHelper.java | 39 +++++++------ .../platform/service/OracleStatusService.java | 55 ++++++++++++++----- .../impl/OracleExtractServiceImpl.java | 33 +++++++++-- src/com/platform/utils/Configs.java | 4 +- 8 files changed, 152 insertions(+), 101 deletions(-) diff --git a/src/com/platform/controller/DataModelController.java b/src/com/platform/controller/DataModelController.java index ec5ed7a4..51bd6894 100644 --- a/src/com/platform/controller/DataModelController.java +++ b/src/com/platform/controller/DataModelController.java @@ -113,7 +113,7 @@ public class DataModelController extends BaseController{ String[] oraclesName = paramMap.get("oracleName"); if (oraclesName != null) for (String rcName : oraclesName) { - Configs.CONSOLE_LOGGER.info("连接成功\t" + rcName); + Configs.CONSOLE_LOGGER.info("执行连接\t" + rcName); new OracleStatusService().connectToOracle(rcName); } req.setStatus(200); @@ -128,7 +128,7 @@ public class DataModelController extends BaseController{ String operate = paramMap.get("operation")[0]; if (null != oraclesName) { for (String rcName : oraclesName) { - Configs.CONSOLE_LOGGER.info("取消连接:\t" + rcName); + Configs.CONSOLE_LOGGER.info("取消连接:\t" + rcName); new OracleStatusService().cancelToOracle(rcName, operate); } } @@ -138,10 +138,9 @@ public class DataModelController extends BaseController{ @RequestMapping(value="/oracle/{name}/extract", method= RequestMethod.POST) public void oracleExtract(HttpServletRequest res, HttpServletResponse req,@RequestBody oracleForm form) throws Exception { - res.setCharacterEncoding("UTF-8"); - if (null != form.getCollOracle() && form.getCollOracle().size() > 0) { - - OracleExtract.extractOracle(form.getTotalOracleName(), form.getCollOracle(), form.getTotalOracle()); + res.setCharacterEncoding("UTF-8"); + if (null != form.getInneed() && form.getInneed().size() > 0) { + OracleExtract.extractOracle(form.getName(), form.getInneed(), form.getTarget()); } req.setStatus(200); } diff --git a/src/com/platform/entities/oracleForm.java b/src/com/platform/entities/oracleForm.java index 3e130066..6fbd7d7d 100644 --- a/src/com/platform/entities/oracleForm.java +++ b/src/com/platform/entities/oracleForm.java @@ -4,52 +4,34 @@ import java.util.List; public class oracleForm { - private GatherOracleInfo totalOracle; + private GatherOracleInfo target; - private List collOracle; + private List inneed; - private String totalOracleName; + private String name; - /** - * @return the totalOracle - */ - public GatherOracleInfo getTotalOracle() { - return totalOracle; + public GatherOracleInfo getTarget() { + return target; } - /** - * @param totalOracle the totalOracle to set - */ - public void setTotalOracle(GatherOracleInfo totalOracle) { - this.totalOracle = totalOracle; + public void setTarget(GatherOracleInfo target) { + this.target = target; } - /** - * @return the collOracle - */ - public List getCollOracle() { - return collOracle; + public List getInneed() { + return inneed; } - /** - * @param collOracle the collOracle to set - */ - public void setCollOracle(List collOracle) { - this.collOracle = collOracle; + public void setInneed(List inneed) { + this.inneed = inneed; } - /** - * @return the totalOracleName - */ - public String getTotalOracleName() { - return totalOracleName; + public String getName() { + return name; } - /** - * @param totalOracleName the totalOracleName to set - */ - public void setTotalOracleName(String totalOracleName) { - this.totalOracleName = totalOracleName; - } + public void setName(String name) { + this.name = name; + } } diff --git a/src/com/platform/kubernetes/SimpleKubeClient.java b/src/com/platform/kubernetes/SimpleKubeClient.java index ab1ab367..28c0da14 100644 --- a/src/com/platform/kubernetes/SimpleKubeClient.java +++ b/src/com/platform/kubernetes/SimpleKubeClient.java @@ -4,6 +4,7 @@ import io.fabric8.kubernetes.api.model.Container; import io.fabric8.kubernetes.api.model.ContainerPort; import io.fabric8.kubernetes.api.model.Pod; import io.fabric8.kubernetes.api.model.ReplicationController; +import io.fabric8.kubernetes.client.Client; import io.fabric8.kubernetes.client.Config; import io.fabric8.kubernetes.client.ConfigBuilder; import io.fabric8.kubernetes.client.DefaultKubernetesClient; @@ -19,7 +20,7 @@ import com.platform.utils.UtilsHelper; public class SimpleKubeClient { private KubernetesClient client; - private final static String DEFAULT_NAMESPACE = "default"; + private final static String DEFAULT_NAMESPACE = "default"; public SimpleKubeClient() { this.client = new DefaultKubernetesClient(Configs.KUBE_MASTER_URL); @@ -32,18 +33,22 @@ public class SimpleKubeClient { public SimpleKubeClient(Config config) { Config cf = config; if (null == config) { - cf = new ConfigBuilder().withMasterUrl(Configs.KUBE_MASTER_URL).build(); + cf = new ConfigBuilder().withMasterUrl(Configs.KUBE_MASTER_URL) + .build(); } + this.client = new DefaultKubernetesClient(cf); } + // RollingUpdatercline + public void updateOrAddReplicasLabelById(String namespace, String resourceId, String key, String value) { KubernetesClient kubeClient = client; if (checkClientNull()) kubeClient = new DefaultKubernetesClient(Configs.KUBE_MASTER_URL); kubeClient.replicationControllers().inNamespace(namespace) - .withName(resourceId).edit().editMetadata() + .withName(resourceId).rolling().edit().editMetadata() .addToLabels(key, value).endMetadata().done(); } diff --git a/src/com/platform/oracle/OracleConnector.java b/src/com/platform/oracle/OracleConnector.java index c7749648..a1905489 100644 --- a/src/com/platform/oracle/OracleConnector.java +++ b/src/com/platform/oracle/OracleConnector.java @@ -8,25 +8,25 @@ import java.sql.Statement; import com.platform.utils.Configs; -public class OracleConnector { +public class OracleConnector { static { try { Class.forName("oracle.jdbc.driver.OracleDriver"); Configs.CONSOLE_LOGGER.info("Oracle驱动加载成功"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block - e.printStackTrace(); + Configs.CONSOLE_LOGGER.error(e.getMessage()); } - } - + } public static Connection ConnectionBuilder(String url, String user, - String password) { - Connection conn=null; + String password) { + Connection conn = null; try { conn = DriverManager.getConnection(url, user, password); - } catch (SQLException e) { - Configs.CONSOLE_LOGGER.info("创建oracle连接失败: [" + e.getMessage() + "]"); + } catch (SQLException e) { + Configs.CONSOLE_LOGGER.info("创建oracle连接失败: [" + e.getMessage() + + "]"); } return conn; } @@ -35,7 +35,7 @@ public class OracleConnector { return (null != ConnectionBuilder(url, user, password)); } - public ResultSet getSQLExecResultSet(Connection conn, String sql) { + public static ResultSet getSQLExecResultSet(Connection conn, String sql) { ResultSet resultSet = null; try { Statement statement = conn @@ -43,34 +43,48 @@ public class OracleConnector { ResultSet.CONCUR_UPDATABLE); resultSet = statement.executeQuery(sql); } catch (SQLException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + Configs.CONSOLE_LOGGER.error(e.getMessage()); } - return resultSet; } - public ResultSet getSQLExecResultSet(String url, String user, + public static ResultSet getSQLExecResultSet(String url, String user, String password, String sql) { return getSQLExecResultSet(ConnectionBuilder(url, user, password), sql); } /** * 执行对oracle数据库的增、删 + * * @param conn * @param sql * @return 是否执行成功 */ - public boolean execOracleSQL(Connection conn, String sql) { + public static boolean execOracleSQL(Connection conn, String sql) { boolean flag = false; try { Statement statement = conn.createStatement(); - if (statement.executeUpdate(sql) > 0) - flag = true; + //ResultSet set = statement.execute(sql); + flag = true; } catch (SQLException e) { // TODO Auto-generated catch block - e.printStackTrace(); + Configs.CONSOLE_LOGGER.error(e.getMessage()); + flag = false; } return flag; - } + } + + public static boolean execUpdateOracleSQL(Connection conn, String sql) { + boolean flag = false; + try { + Statement statement = conn.createStatement(); + statement.execute(sql); + flag = true; + } catch (SQLException e) { + // TODO Auto-generated catch block + Configs.CONSOLE_LOGGER.error(e.getMessage()); + flag = false; + } + return flag; + } } \ No newline at end of file diff --git a/src/com/platform/service/OracleExtractHelper.java b/src/com/platform/service/OracleExtractHelper.java index b8c919ad..75ca2531 100644 --- a/src/com/platform/service/OracleExtractHelper.java +++ b/src/com/platform/service/OracleExtractHelper.java @@ -13,9 +13,6 @@ import com.platform.utils.Configs; import com.platform.utils.FileOperateHelper; public class OracleExtractHelper { - - private OracleConnector oConnector; - /** * 判断dblink是否已经存在 * @@ -26,15 +23,15 @@ public class OracleExtractHelper { */ private boolean hasSameNameDBLink(Connection conn, String linkName) { boolean flag = false; - String sql = "SELECT * FROM ALL_DB_LINKS WHERE DB_LINK=" + linkName; - ResultSet rSet = oConnector.getSQLExecResultSet(conn, sql); + String sql = "SELECT * FROM ALL_DB_LINKS WHERE DB_LINK='" + linkName +"'"; + ResultSet rSet = OracleConnector.getSQLExecResultSet(conn, sql); try { rSet.last(); if (rSet.getRow() > 0) flag = true; } catch (Exception e) { // TODO Auto-generated catch block - e.printStackTrace(); + Configs.CONSOLE_LOGGER.info(e.getMessage()); } return flag; } @@ -54,22 +51,22 @@ public class OracleExtractHelper { + oc.getUser() + " IDENTIFIED BY " + oc.getPassword() - + " USING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = " + + " USING \'(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = " + oc.getIp() + ")(PORT = " + oc.getPort() + ")))(CONNECT_DATA =(SERVICE_NAME =" + oc.getDatabaseName() - + ")))';"; - if (null != oc) { - if (hasSameNameDBLink(conn, linkName)) { // 如果dblink已经存在,先删除dblink,在创建dblink - String deleteSql = "DROP PUBLIC DATABASE LINK LinkTo" + + ")))\'"; + if (null != oc) { + if (hasSameNameDBLink(conn, linkName)) { // 如果dblink已经存在,先删除dblink,在创建dblink + String deleteSql = "DROP PUBLIC DATABASE LINK " + linkName; FileOperateHelper .fileWrite( Configs.EXTRACT_LOG_LOCALTION + oc.getName(), deleteSql+"\r\n"); - if (oConnector.execOracleSQL(conn, deleteSql)) { + if (OracleConnector.execOracleSQL(conn, deleteSql)) { FileOperateHelper.fileWrite(Configs.EXTRACT_LOG_LOCALTION + oc.getName(), sql+"\r\n"); - oConnector.execOracleSQL(conn, sql); + OracleConnector.execOracleSQL(conn, sql); } else { Configs.CONSOLE_LOGGER.error("删除已有的DBLink失败,无法创建新的DBLink!"); FileOperateHelper.fileWrite(Configs.EXTRACT_LOG_LOCALTION @@ -78,7 +75,9 @@ public class OracleExtractHelper { } else { // 否则,创建dblink - oConnector.execOracleSQL(conn, sql); + System.out.println("dblin不存在"); + OracleConnector.execOracleSQL(conn, sql); + Configs.CONSOLE_LOGGER.error("创建DBLink!"); FileOperateHelper.fileWrite( Configs.EXTRACT_LOG_LOCALTION + oc.getName(), sql); } @@ -95,7 +94,7 @@ public class OracleExtractHelper { public boolean createTableSpace(Connection conn, GatherOracleInfo oc) { String tmpSql = "select TABLESPACE_NAME from dba_tablespaces where TABLESPACE_NAME = '" + Configs.GATHER_TABLESPACE_NAME + "'"; - if (oConnector.execOracleSQL(conn, tmpSql)) { + if (OracleConnector.execOracleSQL(conn, tmpSql)) { FileOperateHelper .fileWrite( Configs.EXTRACT_LOG_LOCALTION + oc.getName(), @@ -110,7 +109,7 @@ public class OracleExtractHelper { .fileWrite( Configs.EXTRACT_LOG_LOCALTION + oc.getName(), sql+"\r\n"); - return oConnector.execOracleSQL(conn, sql); + return OracleConnector.execOracleSQL(conn, sql); } } @@ -127,13 +126,13 @@ public class OracleExtractHelper { + Configs.GATHER_TABLE_PASSWORD; String grantSql = "grant connect, resource, dba to " + strTUser; - oConnector.execOracleSQL(conn, sql); + OracleConnector.execOracleSQL(conn, sql); FileOperateHelper .fileWrite( Configs.EXTRACT_LOG_LOCALTION + oc.getName(), sql+"\r\n"); - oConnector.execOracleSQL(conn, grantSql); + OracleConnector.execOracleSQL(conn, grantSql); FileOperateHelper .fileWrite( Configs.EXTRACT_LOG_LOCALTION + oc.getName(), @@ -158,7 +157,7 @@ public class OracleExtractHelper { + " t WHERE t.TABLESPACE_NAME NOT IN ('SYSTEM','SYSAUX')" + " and t.owner||t.table_name not in (select owner||table_name from dba_tables@linkTo" + oc.getName() + " where 'data_type'='CLOB')"; - ResultSet rsSet = oConnector.getSQLExecResultSet(conn, sql); + ResultSet rsSet = OracleConnector.getSQLExecResultSet(conn, sql); FileOperateHelper .fileWrite( Configs.EXTRACT_LOG_LOCALTION + oc.getName(), @@ -166,7 +165,7 @@ public class OracleExtractHelper { try { while (rsSet.next()) { String resultSql = rsSet.getString(0); - oConnector.execOracleSQL(conn, resultSql); + OracleConnector.execOracleSQL(conn, resultSql); FileOperateHelper .fileWrite( Configs.EXTRACT_LOG_LOCALTION + oc.getName(), diff --git a/src/com/platform/service/OracleStatusService.java b/src/com/platform/service/OracleStatusService.java index d9b006e7..c1265c90 100644 --- a/src/com/platform/service/OracleStatusService.java +++ b/src/com/platform/service/OracleStatusService.java @@ -10,10 +10,13 @@ import java.util.Map; import java.util.Timer; import java.util.TimerTask; +import org.apache.commons.lang.text.StrBuilder; + import com.platform.entities.OracleConnectorParams; import com.platform.kubernetes.SimpleKubeClient; import com.platform.oracle.OracleConnector; import com.platform.utils.Configs; +import com.platform.utils.Constant; public class OracleStatusService { private static Map alliveTask = new Hashtable(); @@ -29,16 +32,24 @@ public class OracleStatusService { OracleConnectorParams orp = new OracleConnectorParams(); Timer timer = new Timer(); alliveTask.put(replicasName, timer); - timer.schedule(new connectTask(replicasName, orp, sKubeClient), DELAY_TIME, - INTERVAL_TIME); + timer.schedule(new connectTask(replicasName, orp, sKubeClient), + DELAY_TIME, INTERVAL_TIME); } public void cancelToOracle(String replicasName, String operate) { if (operate.equals("stop")) { - SimpleKubeClient sKubeClient = new SimpleKubeClient(); - sKubeClient.updateOrAddReplicasLabelById(replicasName, "status", - "0"); + String cmd = "kubectl label --overwrite rc " + replicasName + + " status=0"; + List rList = Constant.ganymedSSH + .execCmdWaitAcquiescent(cmd); + StringBuffer sb = new StringBuffer(); + for (String str : rList) + sb.append(str).append("\n"); + Configs.CONSOLE_LOGGER.info(sb.toString()); + // SimpleKubeClient sKubeClient = new SimpleKubeClient(); + // sKubeClient.updateOrAddReplicasLabelById(replicasName, + // "status","0"); } killAlliveTask(replicasName); } @@ -85,8 +96,9 @@ public class OracleStatusService { private int count; private OracleConnectorParams ocp; private SimpleKubeClient client; - - public connectTask(String taskName, OracleConnectorParams ocp, SimpleKubeClient client){ + + public connectTask(String taskName, OracleConnectorParams ocp, + SimpleKubeClient client) { this.taskName = taskName; this.ocp = ocp; this.count = 0; @@ -102,12 +114,20 @@ public class OracleStatusService { @Override public void run() { - if (count == EXEC_TIME && alliveTask.containsKey(taskName)) { //如果任务已经执行10次,则任务oracle启动失败,并取消oracle连接 + if (count == EXEC_TIME && alliveTask.containsKey(taskName)) { // 如果任务已经执行10次,则任务oracle启动失败,并取消oracle连接 killAlliveTask(taskName); - client.updateOrAddReplicasLabelById(taskName, "status", "1"); //更新ReplicationController标签,将oracle状态标示未1(0:启动中,1:失败,2:成功) + // client.updateOrAddReplicasLabelById(taskName, "status", "1"); + // //更新ReplicationController标签,将oracle状态标示未1(0:启动中,1:失败,2:成功) + String cmd = "kubectl label --overwrite rc " + taskName + + " status=1"; + List rList = Constant.ganymedSSH + .execCmdWaitAcquiescent(cmd); + StringBuffer sb = new StringBuffer(); + for (String str : rList) + sb.append(str).append("\n"); Configs.CONSOLE_LOGGER.info("更新replicationController标签: " + taskName + "\t[标签更新为: 失败]"); - } else { //否则,执行连接oracle任务,判断oracle是否启动成功 + } else { // 否则,执行连接oracle任务,判断oracle是否启动成功 Pod pod = filterPod(); if (pod != null) { String ip = client.getPodHostIp(pod); @@ -115,15 +135,23 @@ public class OracleStatusService { if (ip != null && port != 0) { String url = "jdbc:oracle:thin:@" + ip + ":" + port + ":" + ocp.getDatabaseName(); - boolean flag = OracleConnector.canConnect(url, //连接结果返回参数,true标示连接成功,false标示连接失败 + boolean flag = OracleConnector.canConnect(url, // 连接结果返回参数,true标示连接成功,false标示连接失败 ocp.getUser(), ocp.getPassword()); Configs.CONSOLE_LOGGER.info("url:" + url + ",user:" + ocp.getUser() + ",password:" + ocp.getPassword()); String message = "失败"; if (flag && alliveTask.containsKey(taskName)) { - client.updateOrAddReplicasLabelById(taskName, - "status", "2"); + String cmd = "kubectl label --overwrite rc " + + taskName + " status=2"; + // client.updateOrAddReplicasLabelById(taskNSyame, + // "status", "2"); + List rList = Constant.ganymedSSH + .execCmdWaitAcquiescent(cmd); + StringBuffer sb = new StringBuffer(); + for (String str : rList) + sb.append(str).append("\n"); + Configs.CONSOLE_LOGGER.info(sb.toString()); message = "成功"; killAlliveTask(taskName); // 连接成功,取消连接 Configs.CONSOLE_LOGGER @@ -140,6 +168,7 @@ public class OracleStatusService { /** * 获取oracle的连接ip地址和端口号 + * * @return */ private Pod filterPod() { diff --git a/src/com/platform/service/impl/OracleExtractServiceImpl.java b/src/com/platform/service/impl/OracleExtractServiceImpl.java index 7be5d033..dd228eb9 100644 --- a/src/com/platform/service/impl/OracleExtractServiceImpl.java +++ b/src/com/platform/service/impl/OracleExtractServiceImpl.java @@ -14,6 +14,8 @@ import com.platform.oracle.OracleConnector; import com.platform.service.IOracleExtractService; import com.platform.service.OracleExtractHelper; import com.platform.utils.Bean2MapUtils; +import com.platform.utils.Configs; +import com.platform.utils.Constant; @Service(value = "OracleExtract") public class OracleExtractServiceImpl implements IOracleExtractService { @@ -41,19 +43,40 @@ public class OracleExtractServiceImpl implements IOracleExtractService { //采集库连接参数 List datainfos = dataInfolist; - Connection conn = OracleConnector.ConnectionBuilder("jdbc:oracle:thin:@" + oracleModel.getIp() + ":" + oracleModel.getPort() + "/" - + oracleModel.getDatabaseName(), oracleModel.getUser(), oracleModel.getPassword()); + Connection conn = OracleConnector.ConnectionBuilder("jdbc:oracle:thin:@" + oracleModel.getIp() + ":" + oracleModel.getPort() + ":" + + oracleModel.getDatabaseName(), oracleModel.getUser(), oracleModel.getPassword()); + for (OracleConnectorParams collectOracle : datainfos) { - client.updateOrAddReplicasLabelById(collectOracle.getName(), "isExtract", "1"); //更新oracle汇总状态,0标示为未汇总,1标示汇总中,2标示汇总完成 + /** + * 判断能不能连接汇总oracle,如果不能。将信息记录到日志信息中 + */ + //client.updateOrAddReplicasLabelById(collectOracle.getName(), "isExtract", "1"); //更新oracle汇总状态,0标示为未汇总,1标示汇总中,2标示汇总完成 + String cmd = "kubectl label --overwrite rc " + collectOracle.getName() + " isExtract=1"; + Constant.ganymedSSH.execCmdWaitAcquiescent(cmd); + /** + * 更新数据库中标签,将data-info表中的记录extract字段改为1; + */ + System.out.println("标签更新成功"); + collectOracle.setName(collectOracle.getName().replace("-", "_")); oracleExtract.createDBLink(conn, collectOracle); //创建dblink + System.out.println("创建dblink成功"); oracleExtract.createTableSpace(conn, oracleModel); //创建表空间 + System.out.println("创建表空间成功"); oracleExtract.createUser(conn, oracleModel);//创建用户并授权 + System.out.println("用户授权成功"); oracleExtract.extractColleDB(conn, collectOracle);//执行抽取 - client.updateOrAddReplicasLabelById(collectOracle.getName(), "isExtract", "2"); //更新oracle汇总状态,0标示为未汇总,1标示汇总中,2标示汇总完成 + System.out.println("执行抽取成功"); + //client.updateOrAddReplicasLabelById(collectOracle.getName(), "isExtract", "1"); //更新oracle汇总状态,0标示为未汇总,1标示汇总中,2标示汇总完成 + + cmd = "kubectl label --overwrite rc " + collectOracle.getName() + " isExtract=1"; + Constant.ganymedSSH.execCmdWaitAcquiescent(cmd); + /** + * 更新数据库中标签,将data-info表中的记录extract字段改为2; + */ } isSuccess = true; }catch(Exception e){ - + Configs.CONSOLE_LOGGER.error(e.getMessage()); } return false; } diff --git a/src/com/platform/utils/Configs.java b/src/com/platform/utils/Configs.java index 2160662d..41f14c10 100644 --- a/src/com/platform/utils/Configs.java +++ b/src/com/platform/utils/Configs.java @@ -21,7 +21,7 @@ public class Configs { public static final Logger LOGGER = Logger.getLogger(Configs.class); - public static String KUBE_MASTER_URL = "http://192.168.0.113:8080/"; // kubernetes集群的maser + public static String KUBE_MASTER_URL = "http://192.168.0.110:8080/"; // kubernetes集群的maser // URl public static int ORACLE_DEFAULT_PORT = 1521; // oracle的默认端口号 @@ -42,7 +42,7 @@ public class Configs { public static String TABLE_SUFFIX = "_20152016"; //汇总库汇总表的后缀名 - public static String EXTRACT_LOG_LOCALTION = "/home/log"; //数据汇总日志保存位置 + public static String EXTRACT_LOG_LOCALTION = "D:\\log"; //数据汇总日志保存位置 public static String GATHER_TABLESPACE_NAME=""; //表空间名 From f791e9506a06d2742693b40f2aa01ca6252cdac7 Mon Sep 17 00:00:00 2001 From: wu ming <569287825@qq.com> Date: Thu, 22 Sep 2016 14:37:47 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9--9.22?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OracleExtractServiceImpl.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/com/platform/service/impl/OracleExtractServiceImpl.java b/src/com/platform/service/impl/OracleExtractServiceImpl.java index 2a90bdfb..089726ec 100644 --- a/src/com/platform/service/impl/OracleExtractServiceImpl.java +++ b/src/com/platform/service/impl/OracleExtractServiceImpl.java @@ -17,6 +17,7 @@ import com.platform.kubernetes.SimpleKubeClient; import com.platform.oracle.OracleConnector; import com.platform.service.IOracleExtractService; import com.platform.service.OracleExtractHelper; +import com.platform.utils.Configs; import com.platform.utils.Constant; @Service(value = "OracleExtract") @@ -69,7 +70,12 @@ public class OracleExtractServiceImpl implements IOracleExtractService { // "isExtract", "1"); //更新oracle汇总状态,0标示为未汇总,1标示汇总中,2标示汇总完成 String cmd = "kubectl label --overwrite rc " + collectOracle.getName() + " isExtract=1"; - Constant.ganymedSSH.execCmdWaitAcquiescent(cmd); + List rList = Constant.ganymedSSH + .execCmdWaitAcquiescent(cmd); + StringBuffer sb = new StringBuffer(); + for (String string : rList) + sb.append(string).append("\n"); + Configs.CONSOLE_LOGGER.info(sb.toString()); oracleExtract.createDBLink(conn, collectOracle); // 创建dblink oracleExtract.createTableSpace(conn, oracleModel); // 创建表空间 oracleExtract.createUser(conn, collectOracle, oracleModel);// 创建用户并授权 @@ -77,8 +83,12 @@ public class OracleExtractServiceImpl implements IOracleExtractService { // client.updateOrAddReplicasLabelById(collectOracle.getName(), // "isExtract", "1"); //更新oracle汇总状态,0标示为未汇总,1标示汇总中,2标示汇总完成 cmd = "kubectl label --overwrite rc " - + collectOracle.getName() + " isExtract=1"; - Constant.ganymedSSH.execCmdWaitAcquiescent(cmd); + + collectOracle.getName() + " isExtract=2"; + rList = Constant.ganymedSSH.execCmdWaitAcquiescent(cmd); + sb = new StringBuffer(); + for (String string : rList) + sb.append(string).append("\n"); + Configs.CONSOLE_LOGGER.info(sb.toString()); data.setExtractStatus(2); dataInfoDao.updateExtract(data); }