提交 ec517ae0 authored 作者: zhangshuang's avatar zhangshuang

zs

上级 fcceb669
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 {
map.get(sessionId).sendMessage(message);
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,11 +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("\""));
try {
WebSocketServer.sendIn(uuid,tableName + "表创建");
}catch (Exception e){
e.printStackTrace();
}
WebSocketServer.sendIn(uuid, TimeUtil.getNowDate() + " 数据库适配:" + tableName + "表创建");
}
preparedStatement1 = connection1.prepareStatement(sql);
preparedStatement1.execute();
......@@ -164,14 +161,8 @@ public class DBMigrateServiceImpl implements DBMigrateService {
tableName += insert.charAt(j);
}
}
//String tableName = insert.substring(insert.indexOf("\"") + 1,insert.indexOf("("));
//tableName = tableName.replace("\"","");
try {
WebSocketServer.sendIn(uuid,tableName + "表中正在插入");
}catch (Exception e){
e.printStackTrace();
}
SQLExecuteTask sqlExecuteTask = new SQLExecuteTask(connection1);
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());
......@@ -187,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));
......@@ -201,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 java.util.Date;
public class TimeUtil {
public static String getNowDate(){
Date date = new Date();
return date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论