提交 16caf071 authored 作者: zhangshuang's avatar zhangshuang

zs

上级 73c98544
package com.zjty.adaptationmaster.adaptor.entity;
import org.springframework.context.ApplicationContext;
public class SystemVariable {
public static ApplicationContext context;
}
...@@ -111,7 +111,6 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -111,7 +111,6 @@ public class DBMigrateServiceImpl implements DBMigrateService {
File file = new File(path); File file = new File(path);
FileReader fileReader = null; FileReader fileReader = null;
BufferedReader bufferedReader = null; BufferedReader bufferedReader = null;
List<String> tableList = new ArrayList<>();
List<String> insertList = new ArrayList<>(); List<String> insertList = new ArrayList<>();
List<String> elseList = new ArrayList<>(); List<String> elseList = new ArrayList<>();
PreparedStatement preparedStatement1 = null; PreparedStatement preparedStatement1 = null;
...@@ -120,7 +119,7 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -120,7 +119,7 @@ public class DBMigrateServiceImpl implements DBMigrateService {
bufferedReader = new BufferedReader(fileReader); bufferedReader = new BufferedReader(fileReader);
String s; String s;
String sql = ""; String sql = "";
ThreadPoolExecutor pool = new ThreadPoolExecutor(poolSize,poolSize,10, TimeUnit.SECONDS,new ArrayBlockingQueue<>(poolSize*2)); ThreadPoolExecutor pool = new ThreadPoolExecutor(poolSize,poolSize,10, TimeUnit.SECONDS,new ArrayBlockingQueue<>(poolSize * 2));
pool.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); pool.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
while ((s = bufferedReader.readLine()) != null){ while ((s = bufferedReader.readLine()) != null){
if(Regular.lowerAndUpper(s,"INSERT") && Regular.lowerAndUpper(s,"INTO")){ if(Regular.lowerAndUpper(s,"INSERT") && Regular.lowerAndUpper(s,"INTO")){
...@@ -144,15 +143,21 @@ public class DBMigrateServiceImpl implements DBMigrateService { ...@@ -144,15 +143,21 @@ public class DBMigrateServiceImpl implements DBMigrateService {
SQLExecuteTask sqlExecuteTask = new SQLExecuteTask(connection1); 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());
} }
if(pool.getCorePoolSize() == 0){ //数据库连接池关闭
for(String elseChar:elseList){ pool.shutdown();
SQLExecuteTask sqlExecuteTask = new SQLExecuteTask(connection1); try {
sqlExecuteTask.setSql(elseChar); pool.awaitTermination(1,TimeUnit.HOURS);
pool.submit(sqlExecuteTask); } catch (InterruptedException e) {
} e.printStackTrace();
}
//关闭后执行新建索引和外键的sql语句
for(String elseChar:elseList){
SQLExecuteTask sqlExecuteTask = new SQLExecuteTask(connection1);
sqlExecuteTask.setSql(elseChar);
pool.submit(sqlExecuteTask);
} }
System.out.println("");
System.out.println("sql执行时间为:" + (System.currentTimeMillis() - b)); System.out.println("sql执行时间为:" + (System.currentTimeMillis() - b));
log.info(databaseResponse.getSqlPath() + "执行完成"); log.info(databaseResponse.getSqlPath() + "执行完成");
} catch (Exception e) { } catch (Exception e) {
......
...@@ -98,6 +98,10 @@ public class Regular { ...@@ -98,6 +98,10 @@ public class Regular {
s = StringType(s,"double","real"); s = StringType(s,"double","real");
//插入值时boolean类型转换 //插入值时boolean类型转换
s = replaceLowerAndUpper(s,"BIT(1)","boolean"); s = replaceLowerAndUpper(s,"BIT(1)","boolean");
//替换longtext
s = replaceLowerAndUpper(s,"longtext","text");
//替换mediumtext
s = replaceLowerAndUpper(s,"mediumtext","text");
//从第一个创建表的可执行命令开始 //从第一个创建表的可执行命令开始
if(lowerAndUpper(s,"DROP") && lowerAndUpper(s,"TABLE") && executeOne){ if(lowerAndUpper(s,"DROP") && lowerAndUpper(s,"TABLE") && executeOne){
isFirstDrop = true; isFirstDrop = true;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论