From a1fa923eed8ee533979e6f633bc1437f835c6dc6 Mon Sep 17 00:00:00 2001 From: wu ming <569287825@qq.com> Date: Sun, 11 Sep 2016 08:55:30 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9DataModelController?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/platform/controller/DataModelController.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/com/platform/controller/DataModelController.java b/src/com/platform/controller/DataModelController.java index 6414b3fc..8e30cce0 100644 --- a/src/com/platform/controller/DataModelController.java +++ b/src/com/platform/controller/DataModelController.java @@ -118,7 +118,7 @@ public class DataModelController { return volume; } - @RequestMapping("/oracle/list") + @RequestMapping("/oracle/list/") @ResponseBody public List getOracleInfo(HttpServletRequest res, HttpServletResponse req) { @@ -135,4 +135,13 @@ public class DataModelController { //--------------------------------- return orpinfo; } + + @RequestMapping("/oracle/delete/") + public void deleteOracleInfo(HttpServletRequest res, + HttpServletResponse req){ + Map paramMap = res.getParameterMap(); + String[] oraclesName = paramMap.get("param"); + for(String str: oraclesName) + System.out.println(str); + } } From acd377cc4d0f2d941241b360526b069aad952c2f Mon Sep 17 00:00:00 2001 From: wu ming <569287825@qq.com> Date: Wed, 14 Sep 2016 13:56:45 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=90=AF=E5=8A=A8oracle?= =?UTF-8?q?=EF=BC=8C=E6=B5=8B=E8=AF=95=E8=BF=9E=E6=8E=A5oracle=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E7=9A=84Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/spring-applicationContext.xml | 15 +++++--- .../config/springmvc-applicationContext.xml | 35 +++++++++++++++---- .../entities/OracleConnectorParams.java | 4 +-- src/com/platform/oracle/OracleConnector.java | 19 +++++----- .../platform/service/OracleStatusService.java | 12 ++++--- 5 files changed, 57 insertions(+), 28 deletions(-) diff --git a/WebContent/WEB-INF/config/spring-applicationContext.xml b/WebContent/WEB-INF/config/spring-applicationContext.xml index 33ffe0a4..4f59451f 100644 --- a/WebContent/WEB-INF/config/spring-applicationContext.xml +++ b/WebContent/WEB-INF/config/spring-applicationContext.xml @@ -10,13 +10,20 @@ http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/context - http://www.springframework.org/schema/context/spring-context-3.0.xsd"> + http://www.springframework.org/schema/context/spring-context-3.0.xsd + http://www.springframework.org/schema/websocket + http://www.springframework.org/schema/websocket/spring-websocket.xsd"> + + + + @@ -26,11 +33,11 @@ - + - + @@ -42,7 +49,7 @@ - + diff --git a/WebContent/WEB-INF/config/springmvc-applicationContext.xml b/WebContent/WEB-INF/config/springmvc-applicationContext.xml index 2d119a71..25517806 100644 --- a/WebContent/WEB-INF/config/springmvc-applicationContext.xml +++ b/WebContent/WEB-INF/config/springmvc-applicationContext.xml @@ -1,16 +1,37 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:aop="http://www.springframework.org/schema/aop" + xmlns:mvc="http://www.springframework.org/schema/mvc" + xmlns:tx="http://www.springframework.org/schema/tx" + xmlns:jdbc="http://www.springframework.org/schema/jdbc" + xmlns:context="http://www.springframework.org/schema/context" + xmlns:websocket="http://www.springframework.org/schema/websocket" + xsi:schemaLocation=" + http://www.springframework.org/schema/context + http://www.springframework.org/schema/context/spring-context-4.0.xsd + http://www.springframework.org/schema/beans + http://www.springframework.org/schema/beans/spring-beans-4.0.xsd + http://www.springframework.org/schema/jdbc + http://www.springframework.org/schema/jdbc/spring-jdbc-4.0.xsd + http://www.springframework.org/schema/tx + http://www.springframework.org/schema/tx/spring-tx-4.0.xsd + http://www.springframework.org/schema/aop + http://www.springframework.org/schema/aop/spring-aop-4.0.xsd + http://www.springframework.org/schema/mvc + http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd + http://www.springframework.org/schema/websocket + http://www.springframework.org/schema/websocket/spring-websocket-4.0.xsd" + default-autowire="byName"> - + + + + + alliveTask = new Hashtable(); - public final static int EXEC_TIME = 10;// 连接多少次后不成功,取消链接 + public final static int EXEC_TIME = 9;// 连接多少次后不成功,取消链接 public final static long INTERVAL_TIME = 60 * 1000;// 每隔多少毫秒执行一次连接任务 public final static long DELAY_TIME = 0; // 延迟多少秒后执行 @@ -96,12 +96,11 @@ public class OracleStatusService { private int count; private OracleConnectorParams ocp; private SimpleKubeClient client; - public connectTask(OracleConnectorParams ocp, SimpleKubeClient client) { this.taskName = ocp.getName(); this.ocp = ocp; this.count = 0; - this.client = client; + this.client = client; } @Override @@ -109,9 +108,12 @@ public class OracleStatusService { if (count == EXEC_TIME && alliveTask.containsKey(taskName)) { killAlliveTask(taskName); client.updateOrAddReplicasLabelById(taskName, "status", "1"); + Configs.CONSOLE_LOGGER.info("更新replicationController标签: " + taskName + + "\t[标签更新为: 失败]"); } else { String url = "jdbc:oracle:thin:@" + ocp.getIp() + ":" - + ocp.getPort() + "/" + ocp.getDatabaseName(); + + ocp.getPort() + ":" + ocp.getDatabaseName(); + System.out.println("url:" + url +",user:" + ocp.getUser() + ",password:" + ocp.getPassword()); boolean flag = OracleConnector.canConnect(url, ocp.getUser(), ocp.getPassword()); String message = "失败"; @@ -119,6 +121,8 @@ public class OracleStatusService { client.updateOrAddReplicasLabelById(taskName, "status", "2"); message = "成功"; killAlliveTask(taskName); // 连接成功,取消连接 + Configs.CONSOLE_LOGGER.info("更新replicationController标签: " + taskName + + "\t[标签更新为: 成功]"); } Configs.CONSOLE_LOGGER.info("连接到数据库服务: " + taskName + "\t[连接结果: " + message + "]"); From e317bfbacc2dc05f05f77b8825254a6ffc8e609b Mon Sep 17 00:00:00 2001 From: wu ming <569287825@qq.com> Date: Mon, 19 Sep 2016 13:30:19 +0800 Subject: [PATCH 3/5] nothing --- WebContent/WEB-INF/config/config.properties | 2 +- src/com/platform/controller/DataModelController.java | 2 +- src/com/platform/utils/ConfigsLoader.java | 2 -- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/WebContent/WEB-INF/config/config.properties b/WebContent/WEB-INF/config/config.properties index 050f4bfa..d1c7ae8d 100644 --- a/WebContent/WEB-INF/config/config.properties +++ b/WebContent/WEB-INF/config/config.properties @@ -4,7 +4,7 @@ # 驱动程序 jdbc.mysql.driver=com.mysql.jdbc.Driver # 连接url -jdbc.mysql.url=jdbc:mysql://192.168.0.101:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true +jdbc.mysql.url=jdbc:mysql://192.168.0.102:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true # 用户名 jdbc.mysql.username=root # 密码 diff --git a/src/com/platform/controller/DataModelController.java b/src/com/platform/controller/DataModelController.java index d99d34b8..76e15e3a 100644 --- a/src/com/platform/controller/DataModelController.java +++ b/src/com/platform/controller/DataModelController.java @@ -249,7 +249,7 @@ public class DataModelController extends BaseController{ return result; } - @RequestMapping(value="/task/transfer/delete", method= RequestMethod.POST) + @RequestMapping(value="/task/transfer/{id}/delete", method= RequestMethod.POST) @ResponseBody public Object taskdeletes(DataInfoEntityMoveTmp move) throws Exception { int result = moveDataService.delete(move); diff --git a/src/com/platform/utils/ConfigsLoader.java b/src/com/platform/utils/ConfigsLoader.java index 9f3880df..85d75e69 100644 --- a/src/com/platform/utils/ConfigsLoader.java +++ b/src/com/platform/utils/ConfigsLoader.java @@ -5,8 +5,6 @@ import java.util.Properties; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; -import com.platform.service.thread.ThreadMoveData; - public class ConfigsLoader implements ServletContextListener { private static ConfigPropertyReader cReader = null; From d3e79bd88656a23ec23a009c44e486a5f4b68133 Mon Sep 17 00:00:00 2001 From: wu ming <569287825@qq.com> Date: Tue, 20 Sep 2016 09:09:33 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=90=88=E5=B9=B6----?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/platform/controller/DataModelController.java | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/com/platform/controller/DataModelController.java b/src/com/platform/controller/DataModelController.java index 51b7c80f..0f478c32 100644 --- a/src/com/platform/controller/DataModelController.java +++ b/src/com/platform/controller/DataModelController.java @@ -2,7 +2,6 @@ package com.platform.controller; import java.io.UnsupportedEncodingException; import java.util.ArrayList; -import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -12,13 +11,11 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.springframework.stereotype.Controller; -import org.springframework.stereotype.Service; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -30,22 +27,15 @@ import com.platform.entities.DataInfoEntity; import com.platform.entities.DataInfoEntityMoveTmp; import com.platform.entities.FolderNode; import com.platform.entities.GatherOracleInfo; -import com.platform.entities.OracleConnectorParams; import com.platform.entities.PagerOptions; import com.platform.entities.VolumeEntity; -import com.platform.glusterfs.CheckoutMD5; import com.platform.service.DataInfoService; import com.platform.service.ICodeService; import com.platform.service.IGfsService; import com.platform.service.IMoveDataService; import com.platform.service.IMySqlService; import com.platform.service.IOracleExtractService; -import com.platform.service.OracleExtractHelper; import com.platform.service.OracleStatusService; -import com.platform.service.impl.MySqlServiceImpl; -import com.platform.test.Brick; -import com.platform.test.FolderReader; -import com.platform.test.Volume; import com.platform.utils.Bean2MapUtils; import com.platform.utils.Configs; import com.platform.utils.UtilsHelper; From 57a2cd17afe6de66f6d3e9f2f9525d00a24a65cd Mon Sep 17 00:00:00 2001 From: wu ming <569287825@qq.com> Date: Tue, 20 Sep 2016 11:30:32 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9oracle=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebContent/WEB-INF/config/config.properties | 2 +- .../entities/OracleConnectorParams.java | 1 + .../platform/service/OracleStatusService.java | 104 ++++++++++-------- 3 files changed, 63 insertions(+), 44 deletions(-) diff --git a/WebContent/WEB-INF/config/config.properties b/WebContent/WEB-INF/config/config.properties index d1c7ae8d..050f4bfa 100644 --- a/WebContent/WEB-INF/config/config.properties +++ b/WebContent/WEB-INF/config/config.properties @@ -4,7 +4,7 @@ # 驱动程序 jdbc.mysql.driver=com.mysql.jdbc.Driver # 连接url -jdbc.mysql.url=jdbc:mysql://192.168.0.102:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true +jdbc.mysql.url=jdbc:mysql://192.168.0.101:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true # 用户名 jdbc.mysql.username=root # 密码 diff --git a/src/com/platform/entities/OracleConnectorParams.java b/src/com/platform/entities/OracleConnectorParams.java index 829e8d55..0e1ba753 100644 --- a/src/com/platform/entities/OracleConnectorParams.java +++ b/src/com/platform/entities/OracleConnectorParams.java @@ -15,6 +15,7 @@ public class OracleConnectorParams { public OracleConnectorParams() { // TODO Auto-generated constructor stub + maybeInit(); } public OracleConnectorParams(String port, String ip, String name) { diff --git a/src/com/platform/service/OracleStatusService.java b/src/com/platform/service/OracleStatusService.java index c3bdc787..1ab45fb4 100644 --- a/src/com/platform/service/OracleStatusService.java +++ b/src/com/platform/service/OracleStatusService.java @@ -19,29 +19,18 @@ public class OracleStatusService { private static Map alliveTask = new Hashtable(); public final static int EXEC_TIME = 9;// 连接多少次后不成功,取消链接 public final static long INTERVAL_TIME = 60 * 1000;// 每隔多少毫秒执行一次连接任务 - public final static long DELAY_TIME = 0; // 延迟多少秒后执行 + public final static long DELAY_TIME = 30 * 1000; // 延迟多少秒后执行 public void connectToOracle(String replicasName) { SimpleKubeClient sKubeClient = new SimpleKubeClient(); - ReplicationController replicationController = sKubeClient - .getReplicationController(replicasName); if (alliveTask.containsKey(replicasName)) { killAlliveTask(replicasName); } - if (null != replicationController) { - List filterPods = sKubeClient - .getPodsForApplicaList(replicationController); - if (filterPods != null && filterPods.size() > 0) { - Pod pod = filterPods.get(0); - OracleConnectorParams orp = new OracleConnectorParams( - String.valueOf(sKubeClient.getPodContainerport(pod)), - sKubeClient.getPodHostIp(pod), replicasName); - Timer timer = new Timer(); - alliveTask.put(replicasName, timer); - timer.schedule(new connectTask(orp, sKubeClient), DELAY_TIME, - INTERVAL_TIME); - } - } + OracleConnectorParams orp = new OracleConnectorParams(); + Timer timer = new Timer(); + alliveTask.put(replicasName, timer); + timer.schedule(new connectTask(replicasName, orp, sKubeClient), DELAY_TIME, + INTERVAL_TIME); } @@ -96,46 +85,75 @@ public class OracleStatusService { private int count; private OracleConnectorParams ocp; private SimpleKubeClient client; + + public connectTask(String taskName, OracleConnectorParams ocp, SimpleKubeClient client){ + this.taskName = taskName; + this.ocp = ocp; + this.count = 0; + this.client = client; + } + public connectTask(OracleConnectorParams ocp, SimpleKubeClient client) { this.taskName = ocp.getName(); this.ocp = ocp; this.count = 0; - this.client = client; + this.client = client; } @Override public void run() { - if (count == EXEC_TIME && alliveTask.containsKey(taskName)) { + if (count == EXEC_TIME && alliveTask.containsKey(taskName)) { //如果任务已经执行10次,则任务oracle启动失败,并取消oracle连接 killAlliveTask(taskName); - client.updateOrAddReplicasLabelById(taskName, "status", "1"); - Configs.CONSOLE_LOGGER.info("更新replicationController标签: " + taskName - + "\t[标签更新为: 失败]"); - } else { - String url = "jdbc:oracle:thin:@" + ocp.getIp() + ":" - + ocp.getPort() + ":" + ocp.getDatabaseName(); - System.out.println("url:" + url +",user:" + ocp.getUser() + ",password:" + ocp.getPassword()); - boolean flag = OracleConnector.canConnect(url, ocp.getUser(), - ocp.getPassword()); - String message = "失败"; - if (flag && alliveTask.containsKey(taskName)) { - client.updateOrAddReplicasLabelById(taskName, "status", "2"); - message = "成功"; - killAlliveTask(taskName); // 连接成功,取消连接 - Configs.CONSOLE_LOGGER.info("更新replicationController标签: " + taskName - + "\t[标签更新为: 成功]"); + client.updateOrAddReplicasLabelById(taskName, "status", "1"); //更新ReplicationController标签,将oracle状态标示未1(0:启动中,1:失败,2:成功) + Configs.CONSOLE_LOGGER.info("更新replicationController标签: " + + taskName + "\t[标签更新为: 失败]"); + } else { //否则,执行连接oracle任务,判断oracle是否启动成功 + Pod pod = filterPod(); + if (pod != null) { + String ip = client.getPodHostIp(pod); + int port = client.getPodContainerport(pod); + if (ip != null && port != 0) { + String url = "jdbc:oracle:thin:@" + ip + ":" + port + + ":" + ocp.getDatabaseName(); + 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"); + message = "成功"; + killAlliveTask(taskName); // 连接成功,取消连接 + Configs.CONSOLE_LOGGER + .info("更新replicationController标签: " + + taskName + "\t[标签更新为: 成功]"); + } + Configs.CONSOLE_LOGGER.info("连接到数据库服务: " + taskName + + "\t[连接结果: " + message + "]"); + } } - Configs.CONSOLE_LOGGER.info("连接到数据库服务: " + taskName - + "\t[连接结果: " + message + "]"); } count++; } - @Override - public boolean cancel() { - System.out.println("aaaaaaa"); - if (client != null) - this.client.close(); - return super.cancel(); + /** + * 获取oracle的连接ip地址和端口号 + * @return + */ + private Pod filterPod() { + Pod pod = null; + ReplicationController replicationController = client + .getReplicationController(taskName); + if (null != replicationController) { + List filterPods = client + .getPodsForApplicaList(replicationController); + if (filterPods != null && filterPods.size() > 0) { + pod = filterPods.get(0); + } + } + return pod; } public String getTaskName() {