From 31016f01ec27432295e77d1720b19cd5fd37ce72 Mon Sep 17 00:00:00 2001 From: cheng <1821349743@qq.com> Date: 星期日, 28 一月 2024 14:29:00 +0800 Subject: [PATCH] 归档限制每个表的队列数量,oracle 更改创建连接池 --- product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingQueue.java | 36 ++++++++++++++++++++++++++++++++++-- 1 files changed, 34 insertions(+), 2 deletions(-) diff --git a/product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingQueue.java b/product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingQueue.java index 5741e4a..8cccab4 100644 --- a/product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingQueue.java +++ b/product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingQueue.java @@ -17,6 +17,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; @@ -52,11 +53,12 @@ /** * 鏌ヨ + * * @param sourceDbe * @param sourceTable * @param filter * @param params - * @param uniqueField 涓婚敭锛屼笉浠呬細鐢ㄤ簬璇嗗埆杩樹細鐢ㄤ簬鎺掑簭闃叉oracle鍒嗛〉鑾峰彇鍒伴噸澶嶆暟鎹� + * @param uniqueField 涓婚敭锛屼笉浠呬細鐢ㄤ簬璇嗗埆杩樹細鐢ㄤ簬鎺掑簭闃叉oracle鍒嗛〉鑾峰彇鍒伴噸澶嶆暟鎹� * @param minID */ public void query(DataBaseEntity sourceDbe, String sourceTable, String filter, Object[] params, String uniqueField, String minID) { @@ -78,7 +80,7 @@ String tempPartMinID = minID; int partSize = partCount * QUERY_PAGE_SIZE; int count = ceilPage(totalCount, partSize); - for (int i = 1; i <= count; i++) { + for (int i = 1; i <= count; i++) { rangeSql.setLength(0); if (!StringUtils.isEmpty(filter)) { rangeSql.append(filter).append(" and "); @@ -149,6 +151,7 @@ /** * 浠庨槦鍒椾腑鑾峰彇 + * * @param tableName * @return */ @@ -165,6 +168,7 @@ /** * 鍒ゅ畾鏄惁鏌ヨ瀹屾瘯 + * * @param tableName * @return */ @@ -176,6 +180,7 @@ /** * 鍒ゅ畾鎻掑叆闃熷垪锛堟煡璇㈠畬鎴愬悗鏀惧叆鐨勯槦鍒楋級鏄惁涓虹┖ + * * @param tableName * @return */ @@ -186,6 +191,7 @@ /** * 鍏抽棴鏌ヨ绾跨▼ + * * @param tableName */ public void shutdownQueryThread(String tableName) { @@ -202,6 +208,7 @@ /** * 娓呯悊 + * * @param tableName */ public void clear(String tableName) { @@ -213,6 +220,7 @@ /** * 鎻愬彇閿欒鏃ュ織锛屽彧鑳芥彁鍙栦竴娆★紝鎻愬彇鍚庝細鐩存帴娓呯┖ + * * @param tableName * @return */ @@ -230,6 +238,7 @@ /** * 鑾峰彇鍒嗘鐨勬暟閲忥紝鏈�澶�16锛屾渶灏忎负0锛屼负0琛ㄧず鐢ㄤ笉涓婃墍鏈夌殑绾跨▼ + * * @param totalCount * @return */ @@ -253,6 +262,7 @@ /** * 鑾峰彇sql锛氭煡璇㈣寖鍥村唴鐨勬渶澶d鍊� + * * @param uniqueField * @param sourceTable * @param filter @@ -292,6 +302,7 @@ /** * 鏀惧叆闃熷垪 + * * @param tableName * @param dte */ @@ -302,13 +313,30 @@ queryQueue = new LinkedBlockingQueue<>(); queryMap.put(tableName, queryQueue); } + if (tableName.endsWith("BAK20230823")) { + //妫�鏌te涓殑source_info 鍜� pre_master_key 鏄惁涓虹┖ + for (int i = 0; i < dte.getRows(); i++) { + String sourceInfo = dte.getString(i, "source_info"); + String preMasterKey = dte.getString(i, "pre_master_key"); + if (StringUtils.isEmpty(sourceInfo) || StringUtils.isEmpty(preMasterKey)) { + dte.setFieldValue(i, "source_info", "ch-kt"); + String idFiledName = tableName.toLowerCase(Locale.ROOT).startsWith("t_wip_detail") ? "wip_detail_id" : tableName.toLowerCase(Locale.ROOT).startsWith("t_wip_product_keyp") ? "pk_id" : "wip_id"; + dte.setFieldValue(i, "pre_master_key", dte.getString(i, idFiledName)); + } + } + } + queryQueue.add(dte); WriteUtil.append("DA-鎴愬姛鏀惧叆闃熷垪-" + tableName + "-褰撳墠鍓╀綑闃熷垪鏁帮細" + queryQueue.size()); + while (queryQueue.size() >= 10) { + SpringMVCContextHolder.getSystemLogger().error("DA-闃熷垪宸叉弧-" + tableName + "-褰撳墠鍓╀綑闃熷垪鏁帮細" + queryQueue.size()); + } } } /** * 鏌ヨ寮�濮嬶紝鍚戝瓨娲籱ap涓坊鍔�1 + * * @param tableName */ private void startQuery(String tableName, String threadInfo) { @@ -320,6 +348,7 @@ /** * 鏌ヨ缁撴潫锛屽悜瀛樻椿map涓噺灏�1 + * * @param tableName */ private void finalQuery(String tableName, String threadInfo) { @@ -337,6 +366,7 @@ /** * 鍏佽鎵ц鏌ヨ锛堥伩鍏嶉槦鍒椾腑绛夊緟鎻掑叆鐨勫お澶氾紝瀵艰嚧鍐呭瓨婧㈠嚭锛� + * * @param tableName * @return */ @@ -348,6 +378,7 @@ /** * 鎻掑叆閿欒鏃ュ織 + * * @param tableName * @param error */ @@ -369,6 +400,7 @@ /** * 鑾峰彇椤垫暟锛屽悜涓婂彇鏁� + * * @param count * @param size * @return -- Gitblit v1.9.2