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