提交 60839c3a authored 作者: zhangshuang's avatar zhangshuang

合并分支 'zs' 到 'master'

Zs 查看合并请求 ty_wyl/adaptation-master1!42
package com.zjty.adaptationmaster.adaptor.controller;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
......@@ -14,6 +15,7 @@ import java.util.Map;
@ServerEndpoint("/webServer/{uuid}")
@Component
@Slf4j
public class WebSocketServer {
private Logger logger = LoggerFactory.getLogger(getClass());
......@@ -77,7 +79,12 @@ public class WebSocketServer {
}
}
public static void sendIn(String sessionId,String message) throws IOException {
try {
map.get(sessionId).sendMessage(message);
}catch (Exception e){
log.info("向前台发送日志出错");
//e.printStackTrace();
}
}
}
package com.zjty.adaptationmaster.adaptor.entity.db;
import com.zjty.adaptationmaster.utils.Regular;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class SQLExecuteTask implements Runnable{
private Connection connection;
private DBManage dbManage;
private String sql;
public SQLExecuteTask(Connection connection){
this.connection = connection;
public SQLExecuteTask(DBManage dbManage){
this.dbManage = dbManage;
}
public void setSql(String sql){
this.sql = sql;
}
@Override
public void run() {
Connection connection = null;
PreparedStatement preparedStatement = null;
try {
connection = Regular.databaseConnection(dbManage);
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setQueryTimeout(10);
preparedStatement.execute();
......@@ -28,6 +32,7 @@ public class SQLExecuteTask implements Runnable{
}finally {
try {
preparedStatement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
......
......@@ -9,6 +9,7 @@ import com.zjty.adaptationmaster.adaptor.repository.DBRecordDao;
import com.zjty.adaptationmaster.adaptor.service.DBMigrateService;
import com.zjty.adaptationmaster.base.response.ServerResponse;
import com.zjty.adaptationmaster.utils.Regular;
import com.zjty.adaptationmaster.utils.TimeUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -142,7 +143,7 @@ public class DBMigrateServiceImpl implements DBMigrateService {
if(s.contains(";")){
if(Regular.lowerAndUpper(s,"CREATE") && Regular.lowerAndUpper(s,"TABLE")){
String tableName = s.substring(s.indexOf("\"") + 1,s.lastIndexOf("\""));
WebSocketServer.sendIn(uuid,tableName + "表创建");
WebSocketServer.sendIn(uuid, TimeUtil.getNowDate() + " 数据库适配:" + tableName + "表创建");
}
preparedStatement1 = connection1.prepareStatement(sql);
preparedStatement1.execute();
......@@ -151,9 +152,17 @@ public class DBMigrateServiceImpl implements DBMigrateService {
}
if(insertList != null && insertList.size() != 0){
for(String insert:insertList){
String tableName = s.substring(s.indexOf("\"") + 1,s.lastIndexOf("\""));
WebSocketServer.sendIn(uuid,tableName + "表中正在插入");
SQLExecuteTask sqlExecuteTask = new SQLExecuteTask(connection1);
int insertIndex = insert.indexOf("\"") + 1;
String tableName = "";
for(int j = insertIndex;j < insert.length();j++){
if(insert.charAt(j) == '"'){
break;
}else {
tableName += insert.charAt(j);
}
}
WebSocketServer.sendIn(uuid,TimeUtil.getNowDate() + " 数据库适配:" + tableName + "表正在插入");
SQLExecuteTask sqlExecuteTask = new SQLExecuteTask(dbManage1);
sqlExecuteTask.setSql(insert);
pool.submit(sqlExecuteTask);
System.out.println("核心线程数" + pool.getPoolSize() + "\t" + "存活线程数:" + pool.getActiveCount() + "\t" + "等待数量:" + pool.getQueue().size() +"\t" + "任务数量:" + pool.getTaskCount());
......@@ -169,10 +178,9 @@ public class DBMigrateServiceImpl implements DBMigrateService {
//关闭后执行新建索引和外键的sql语句
if(elseList != null && elseList.size() != 0){
for(String elseChar:elseList){
WebSocketServer.sendIn(uuid,"正在创建索引或外键");
SQLExecuteTask sqlExecuteTask = new SQLExecuteTask(connection1);
sqlExecuteTask.setSql(elseChar);
pool.submit(sqlExecuteTask);
WebSocketServer.sendIn(uuid,TimeUtil.getNowDate() + " 数据库适配:" + "创建索引或外键");
preparedStatement1 = connection1.prepareStatement(elseChar);
preparedStatement1.execute();
}
}
System.out.println("sql执行时间为:" + (System.currentTimeMillis() - b));
......@@ -183,7 +191,7 @@ public class DBMigrateServiceImpl implements DBMigrateService {
try {
bufferedReader.close();
fileReader.close();
//preparedStatement1.close();
preparedStatement1.close();
connection1.close();
} catch (Exception e) {
e.printStackTrace();
......
package com.zjty.adaptationmaster.utils;
import com.alibaba.fastjson.JSONObject;
import com.zjty.adaptationmaster.adaptor.controller.WebSocketServer;
import com.zjty.adaptationmaster.adaptor.entity.Project;
import com.zjty.adaptationmaster.base.entity.ProjectStatueFromMiddleware;
......@@ -27,17 +28,32 @@ public class ApusicDeployer {
}
public List<ProjectStatueFromMiddleware> list(){
List<ProjectStatueFromMiddleware> result = new ArrayList<>();
String command = ctlPath+" -p '"+ctlPwd+"' list";
String command = ctlPath+" list";
System.out.println("command:" + command);
try {
Process exec = Runtime.getRuntime().exec(command);
BufferedReader reader = new BufferedReader(new InputStreamReader(exec.getInputStream()));
String password = Const.CTLPWD;
OutputStream outputStream = exec.getOutputStream();
outputStream.write(password.getBytes());
outputStream.flush();
outputStream.close();
BufferedReader reader = new BufferedReader(new InputStreamReader(exec.getInputStream(),"GBK"));
boolean titleEnd = false;
String line = null;
while ((line = reader.readLine()) != null) {
if(line.startsWith("---------------"))titleEnd = true;
System.out.println(line);
if(line.contains("---------------")){
titleEnd = true;
continue;
}
if(titleEnd){
String[] split = line.split("\\s{2,}");
ProjectStatueFromMiddleware projectStatue = new ProjectStatueFromMiddleware(split[0],split[1],split[2]);
ProjectStatueFromMiddleware projectStatue = null;
if(split.length < 3){
projectStatue = new ProjectStatueFromMiddleware(split[0],null,split[1]);
}else {
projectStatue = new ProjectStatueFromMiddleware(split[0],split[1],split[2]);
}
result.add(projectStatue);
}
}
......
......@@ -289,10 +289,6 @@ public class Regular {
public static void main(String[] args) {
//mySqlRegular("D:\\sqlFile\\uploads\\63c6e098-73fd-4999-b289-b3d120a07e87.sql","test11111");
//
File file = new File("D:\\root\\projects\\adaptationMaster\\uploads\\czq测试系统5\\swiper-4.5.0/target/threem-0.0.1-SNAPSHOT.war");
System.out.println(file.length());
System.out.println(file.getName());
mySqlRegular("C:\\Users\\admin\\Desktop\\database\\three.sql","three");
}
}
package com.zjty.adaptationmaster.utils;
import java.util.Date;
public class TimeUtil {
public static String getNowDate(){
Date date = new Date();
return date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论