This commit is contained in:
default
2018-10-16 16:25:30 +08:00
parent 039a8df261
commit 23f608778d
7 changed files with 49 additions and 22 deletions

View File

@@ -1,6 +1,7 @@
package com.nms.interceptor;
import java.util.Date;
import java.util.List;
import org.apache.log4j.Logger;
@@ -22,7 +23,7 @@ public class SyncDataInterceptor implements Interceptor{
SyncThread target = inv.getTarget();
SyncDbInfo syncDbInfo = target.getSyncDbInfo();
String url = "jdbc:mysql://" + syncDbInfo.get("ip") + ":" + syncDbInfo.get("port") + "/"
+ syncDbInfo.get("database_name");
+ syncDbInfo.get("database_name")+"?useUnicode=true&characterEncoding=utf-8&useOldAliasMetadataBehavior=true&rewriteBatchedStatements=true";
logger.info("当前数据库连接为 "+url);
//同步数据前 取出metadata表中最后一次同步的id信息 获取新增的数据信息 方便接下来修改表结构
Record metadataTableSyncInfo = Db.use("masterDataSource").findFirst("select * from table_sync_info where table_name='metadata' and event=1 and db_id=?",syncDbInfo.getId());
@@ -91,6 +92,17 @@ public class SyncDataInterceptor implements Interceptor{
SyncStoredProcedure syncStoreProcedure=new SyncStoredProcedure("pro_createTable",checkTypeInfo.getStr("TABLE_NAME"), sql.toString(),cIndexFileds.toString());
Db.use(url).execute(syncStoreProcedure);
logger.info("创建新表操作完成");
//创建完新表结构以后 将同步信息添加到同步表 使新配置的监测数据同步到中心
Record record = new Record();
record.set("table_name", checkTypeInfo.getStr("TABLE_NAME"));
record.set("mode", 2);
record.set("id_name", "ID");
record.set("event",1);
record.set("last_id", -1);
record.set("db_id", -1);
record.set("last_date", new Date());
Db.use(url).save("table_sync_info", record);
}
}