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

zs

上级 fcceb669
package com.zjty.adaptationmaster.adaptor.controller; package com.zjty.adaptationmaster.adaptor.controller;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -14,6 +15,7 @@ import java.util.Map; ...@@ -14,6 +15,7 @@ import java.util.Map;
@ServerEndpoint("/webServer/{uuid}") @ServerEndpoint("/webServer/{uuid}")
@Component @Component
@Slf4j
public class WebSocketServer { public class WebSocketServer {
private Logger logger = LoggerFactory.getLogger(getClass()); private Logger logger = LoggerFactory.getLogger(getClass());
...@@ -77,7 +79,12 @@ public class WebSocketServer { ...@@ -77,7 +79,12 @@ public class WebSocketServer {
} }
} }
public static void sendIn(String sessionId,String message) throws IOException { 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; package com.zjty.adaptationmaster.adaptor.entity.db;
import com.zjty.adaptationmaster.utils.Regular;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.SQLException; import java.sql.SQLException;
public class SQLExecuteTask implements Runnable{ public class SQLExecuteTask implements Runnable{
private Connection connection; private DBManage dbManage;
private String sql; private String sql;
public SQLExecuteTask(Connection connection){ public SQLExecuteTask(DBManage dbManage){
this.connection = connection; this.dbManage = dbManage;
} }
public void setSql(String sql){ public void setSql(String sql){
this.sql = sql; this.sql = sql;
} }
@Override @Override
public void run() { public void run() {
Connection connection = null;
PreparedStatement preparedStatement = null; PreparedStatement preparedStatement = null;
try { try {
connection = Regular.databaseConnection(dbManage);
preparedStatement = connection.prepareStatement(sql); preparedStatement = connection.prepareStatement(sql);
preparedStatement.setQueryTimeout(10); preparedStatement.setQueryTimeout(10);
preparedStatement.execute(); preparedStatement.execute();
...@@ -28,6 +32,7 @@ public class SQLExecuteTask implements Runnable{ ...@@ -28,6 +32,7 @@ public class SQLExecuteTask implements Runnable{
}finally { }finally {
try { try {
preparedStatement.close(); preparedStatement.close();
connection.close();
} catch (SQLException e) { } catch (SQLException e) {
e.printStackTrace(); e.printStackTrace();
} }
......
...@@ -9,6 +9,7 @@ import com.zjty.adaptationmaster.adaptor.repository.DBRecordDao; ...@@ -9,6 +9,7 @@ import com.zjty.adaptationmaster.adaptor.repository.DBRecordDao;
import com.zjty.adaptationmaster.adaptor.service.DBMigrateService; import com.zjty.adaptationmaster.adaptor.service.DBMigrateService;
import com.zjty.adaptationmaster.base.response.ServerResponse; import com.zjty.adaptationmaster.base.response.ServerResponse;
import com.zjty.adaptationmaster.utils.Regular; import com.zjty.adaptationmaster.utils.Regular;
import com.zjty.adaptationmaster.utils.TimeUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -142,11 +143,7 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -142,11 +143,7 @@ public class DBMigrateServiceImpl implements DBMigrateService {
if(s.contains(";")){ if(s.contains(";")){
if(Regular.lowerAndUpper(s,"CREATE") && Regular.lowerAndUpper(s,"TABLE")){ if(Regular.lowerAndUpper(s,"CREATE") && Regular.lowerAndUpper(s,"TABLE")){
String tableName = s.substring(s.indexOf("\"") + 1,s.lastIndexOf("\"")); String tableName = s.substring(s.indexOf("\"") + 1,s.lastIndexOf("\""));
try { WebSocketServer.sendIn(uuid, TimeUtil.getNowDate() + " 数据库适配:" + tableName + "表创建");
WebSocketServer.sendIn(uuid,tableName + "表创建");
}catch (Exception e){
e.printStackTrace();
}
} }
preparedStatement1 = connection1.prepareStatement(sql); preparedStatement1 = connection1.prepareStatement(sql);
preparedStatement1.execute(); preparedStatement1.execute();
...@@ -164,14 +161,8 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -164,14 +161,8 @@ public class DBMigrateServiceImpl implements DBMigrateService {
tableName += insert.charAt(j); tableName += insert.charAt(j);
} }
} }
//String tableName = insert.substring(insert.indexOf("\"") + 1,insert.indexOf("(")); WebSocketServer.sendIn(uuid,TimeUtil.getNowDate() + " 数据库适配:" + tableName + "表中正在插入");
//tableName = tableName.replace("\"",""); SQLExecuteTask sqlExecuteTask = new SQLExecuteTask(dbManage1);
try {
WebSocketServer.sendIn(uuid,tableName + "表中正在插入");
}catch (Exception e){
e.printStackTrace();
}
SQLExecuteTask sqlExecuteTask = new SQLExecuteTask(connection1);
sqlExecuteTask.setSql(insert); sqlExecuteTask.setSql(insert);
pool.submit(sqlExecuteTask); pool.submit(sqlExecuteTask);
System.out.println("核心线程数" + pool.getPoolSize() + "\t" + "存活线程数:" + pool.getActiveCount() + "\t" + "等待数量:" + pool.getQueue().size() +"\t" + "任务数量:" + pool.getTaskCount()); System.out.println("核心线程数" + pool.getPoolSize() + "\t" + "存活线程数:" + pool.getActiveCount() + "\t" + "等待数量:" + pool.getQueue().size() +"\t" + "任务数量:" + pool.getTaskCount());
...@@ -187,10 +178,9 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -187,10 +178,9 @@ public class DBMigrateServiceImpl implements DBMigrateService {
//关闭后执行新建索引和外键的sql语句 //关闭后执行新建索引和外键的sql语句
if(elseList != null && elseList.size() != 0){ if(elseList != null && elseList.size() != 0){
for(String elseChar:elseList){ for(String elseChar:elseList){
WebSocketServer.sendIn(uuid,"正在创建索引或外键"); WebSocketServer.sendIn(uuid,TimeUtil.getNowDate() + " 数据库适配:" + "创建索引或外键");
SQLExecuteTask sqlExecuteTask = new SQLExecuteTask(connection1); preparedStatement1 = connection1.prepareStatement(elseChar);
sqlExecuteTask.setSql(elseChar); preparedStatement1.execute();
pool.submit(sqlExecuteTask);
} }
} }
System.out.println("sql执行时间为:" + (System.currentTimeMillis() - b)); System.out.println("sql执行时间为:" + (System.currentTimeMillis() - b));
...@@ -201,7 +191,7 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -201,7 +191,7 @@ public class DBMigrateServiceImpl implements DBMigrateService {
try { try {
bufferedReader.close(); bufferedReader.close();
fileReader.close(); fileReader.close();
//preparedStatement1.close(); preparedStatement1.close();
connection1.close(); connection1.close();
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); 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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论