Sfoglia il codice sorgente

1.注释分表信息日志打印
2.调整分表建表逻辑

tl 8 mesi fa
parent
commit
3549aa9d7a

+ 2 - 2
cpp-admin/src/main/java/com/cpp/web/core/config/sharding/ShardingAlgorithmTool.java

@@ -64,11 +64,11 @@ public class ShardingAlgorithmTool {
      * @return 创建结果(true创建成功,false未创建)
      */
     public static boolean createShardingTable(String logicTableName, String resultTableName) {
-        // 根据日期判断,当前月份之后和之前分表不进行创建
+        // 根据日期判断,当前月份之前分表不进行创建
         String month = resultTableName.replace(logicTableName + TABLE_SPLIT_SYMBOL,"");
         if (!month.equals(logicTableName)){
             YearMonth shardingMonth = YearMonth.parse(month, DateTimeFormatter.ofPattern("yyyyMM"));
-            if (shardingMonth.isAfter(YearMonth.now())||shardingMonth.isBefore(YearMonth.now())) {
+            if (shardingMonth.isBefore(YearMonth.now())) {
                 return false;
             }
         }else {

+ 10 - 10
cpp-admin/src/main/java/com/cpp/web/core/config/sharding/TimeShardingAlgorithm.java

@@ -69,11 +69,11 @@ public final class TimeShardingAlgorithm implements StandardShardingAlgorithm<Da
 
     @Override
     public String doSharding(final Collection<String> availableTargetNames, final PreciseShardingValue<Date> preciseShardingValue) {
-        log.info(">>>>>>>>>>>>>>>>sharding开始<<<<<<<<<<<<<<<<<<<<");
+//        log.info(">>>>>>>>>>>>>>>>sharding开始<<<<<<<<<<<<<<<<<<<<");
         String logicTableName = preciseShardingValue.getLogicTableName();
 
         /// 打印分片信息
-        log.info(">>>>>>>>>> 【INFO】精确分片,节点配置表名:{}", availableTargetNames);
+//        log.info(">>>>>>>>>> 【INFO】精确分片,节点配置表名:{}", availableTargetNames);
 
         Date dateTime = preciseShardingValue.getValue();
         String resultTableName = logicTableName + "_" + DateFormatUtils.format(dateTime, PATTERN);
@@ -88,17 +88,17 @@ public final class TimeShardingAlgorithm implements StandardShardingAlgorithm<Da
 //            return resultTableName;
         }
         String shardingTableAndCreate = getShardingTableAndCreate(logicTableName, resultTableName, availableTargetNames);
-        log.info(">>>>>>>>>>>>>>>>sharding结束<<<<<<<<<<<<<<<<<<<<");
+//        log.info(">>>>>>>>>>>>>>>>sharding结束<<<<<<<<<<<<<<<<<<<<");
         return shardingTableAndCreate;
     }
 
     @Override
     public Collection<String> doSharding(final Collection<String> availableTargetNames, final RangeShardingValue<Date> rangeShardingValue) {
-        log.info(">>>>>>>>>>>>>>>>sharding开始<<<<<<<<<<<<<<<<<<<<");
+//        log.info(">>>>>>>>>>>>>>>>sharding开始<<<<<<<<<<<<<<<<<<<<");
         String logicTableName = rangeShardingValue.getLogicTableName();
 
         /// 打印分片信息
-        log.info(">>>>>>>>>> 【INFO】范围分片,节点配置表名:{}", availableTargetNames);
+//        log.info(">>>>>>>>>> 【INFO】范围分片,节点配置表名:{}", availableTargetNames);
 
         // between and 的起始值
         Range<Date> valueRange = rangeShardingValue.getValueRange();
@@ -125,7 +125,7 @@ public final class TimeShardingAlgorithm implements StandardShardingAlgorithm<Da
             min += longMonth;
         }
         Set<String> shardingTablesAndCreate = getShardingTablesAndCreate(logicTableName, resultTableNames, availableTargetNames);
-        log.info(">>>>>>>>>>>>>>>>sharding结束<<<<<<<<<<<<<<<<<<<<");
+//        log.info(">>>>>>>>>>>>>>>>sharding结束<<<<<<<<<<<<<<<<<<<<");
         return shardingTablesAndCreate;
     }
 
@@ -161,21 +161,21 @@ public final class TimeShardingAlgorithm implements StandardShardingAlgorithm<Da
     private String getShardingTableAndCreate(String logicTableName, String resultTableName, Collection<String> availableTargetNames) {
         // 缓存中有此表则返回,没有则判断创建
         if (availableTargetNames.contains(resultTableName)) {
-            log.info(">>>>>>>>>> 【INFO】范围分片结束,节点配置表名:{}", availableTargetNames);
+//            log.info(">>>>>>>>>> 【INFO】范围分片结束,节点配置表名:{}", availableTargetNames);
             return resultTableName;
         } else {
-            log.info(">>>>>>>>>> 【INFO】范围分片需要创建表,节点配置表名:{}", availableTargetNames);
+//            log.info(">>>>>>>>>> 【INFO】范围分片需要创建表,节点配置表名:{}", availableTargetNames);
             // 检查分表获取的表名不存在,需要自动建表
             boolean isSuccess = ShardingAlgorithmTool.createShardingTable(logicTableName, resultTableName);
             if (isSuccess) {
                 // 如果建表成功,需要更新缓存
                 availableTargetNames.add(resultTableName);
                 autoTablesAmount++;
-                log.info(">>>>>>>>>> 【INFO】范围分片结束,节点配置表名:{}", availableTargetNames);
+//                log.info(">>>>>>>>>> 【INFO】范围分片结束,节点配置表名:{}", availableTargetNames);
                 return resultTableName;
             } else {
                 // 如果建表失败,返回逻辑空表
-                log.info(">>>>>>>>>> 【INFO】范围分片结束,节点配置表名:{}", availableTargetNames);
+//                log.info(">>>>>>>>>> 【INFO】范围分片结束,节点配置表名:{}", availableTargetNames);
                 return logicTableName;
             }
         }