Browse Source

second commit

风雨兼程 1 year ago
parent
commit
ab3d00a42a
100 changed files with 17801 additions and 0 deletions
  1. 58 0
      assembly/assembly.xml
  2. BIN
      lib/k3cloud-webapi-sdk8.0.6.jar
  3. 424 0
      logs/benyun/sys-error.2024-01-04.log
  4. 109 0
      logs/benyun/sys-error.2024-01-05.log
  5. 19 0
      logs/benyun/sys-error.2024-01-09.log
  6. 88 0
      logs/benyun/sys-error.2024-01-10.log
  7. 37 0
      logs/benyun/sys-error.log
  8. 3521 0
      logs/benyun/sys-info.2024-01-04.log
  9. 726 0
      logs/benyun/sys-info.2024-01-05.log
  10. 212 0
      logs/benyun/sys-info.2024-01-09.log
  11. 514 0
      logs/benyun/sys-info.2024-01-10.log
  12. 288 0
      logs/benyun/sys-info.log
  13. 74 0
      logs/benyun/sys-user.2024-01-04.log
  14. 5 0
      logs/benyun/sys-user.2024-01-09.log
  15. 8 0
      logs/benyun/sys-user.2024-01-10.log
  16. 5 0
      logs/benyun/sys-user.log
  17. 32 0
      src/main/java/com/benyun/BenYunApplication.java
  18. 18 0
      src/main/java/com/benyun/BenYunServletInitializer.java
  19. 49 0
      src/main/java/com/benyun/common/constant/CommonMap.java
  20. 115 0
      src/main/java/com/benyun/common/constant/Constants.java
  21. 114 0
      src/main/java/com/benyun/common/constant/GenConstants.java
  22. 27 0
      src/main/java/com/benyun/common/constant/PermissionConstants.java
  23. 50 0
      src/main/java/com/benyun/common/constant/ScheduleConstants.java
  24. 79 0
      src/main/java/com/benyun/common/constant/ShiroConstants.java
  25. 105 0
      src/main/java/com/benyun/common/constant/UserConstants.java
  26. 15 0
      src/main/java/com/benyun/common/exception/DemoModeException.java
  27. 58 0
      src/main/java/com/benyun/common/exception/GlobalException.java
  28. 57 0
      src/main/java/com/benyun/common/exception/ServiceException.java
  29. 26 0
      src/main/java/com/benyun/common/exception/UtilException.java
  30. 103 0
      src/main/java/com/benyun/common/exception/base/BaseException.java
  31. 19 0
      src/main/java/com/benyun/common/exception/file/FileException.java
  32. 16 0
      src/main/java/com/benyun/common/exception/file/FileNameLengthLimitExceededException.java
  33. 16 0
      src/main/java/com/benyun/common/exception/file/FileSizeLimitExceededException.java
  34. 81 0
      src/main/java/com/benyun/common/exception/file/InvalidExtensionException.java
  35. 34 0
      src/main/java/com/benyun/common/exception/job/TaskException.java
  36. 16 0
      src/main/java/com/benyun/common/exception/user/CaptchaException.java
  37. 17 0
      src/main/java/com/benyun/common/exception/user/RoleBlockedException.java
  38. 16 0
      src/main/java/com/benyun/common/exception/user/UserBlockedException.java
  39. 16 0
      src/main/java/com/benyun/common/exception/user/UserDeleteException.java
  40. 18 0
      src/main/java/com/benyun/common/exception/user/UserException.java
  41. 16 0
      src/main/java/com/benyun/common/exception/user/UserNotExistsException.java
  42. 16 0
      src/main/java/com/benyun/common/exception/user/UserPasswordNotMatchException.java
  43. 16 0
      src/main/java/com/benyun/common/exception/user/UserPasswordRetryLimitCountException.java
  44. 16 0
      src/main/java/com/benyun/common/exception/user/UserPasswordRetryLimitExceedException.java
  45. 43 0
      src/main/java/com/benyun/common/utils/AddressResolutionUtil.java
  46. 54 0
      src/main/java/com/benyun/common/utils/AddressUtils.java
  47. 114 0
      src/main/java/com/benyun/common/utils/Arith.java
  48. 197 0
      src/main/java/com/benyun/common/utils/CacheUtils.java
  49. 138 0
      src/main/java/com/benyun/common/utils/CookieUtils.java
  50. 84 0
      src/main/java/com/benyun/common/utils/DButil.java
  51. 699 0
      src/main/java/com/benyun/common/utils/DateUtils.java
  52. 39 0
      src/main/java/com/benyun/common/utils/ExceptionUtil.java
  53. 263 0
      src/main/java/com/benyun/common/utils/IpUtils.java
  54. 680 0
      src/main/java/com/benyun/common/utils/JsonUtil.java
  55. 134 0
      src/main/java/com/benyun/common/utils/LogUtils.java
  56. 54 0
      src/main/java/com/benyun/common/utils/MapDataUtil.java
  57. 59 0
      src/main/java/com/benyun/common/utils/MapUtils.java
  58. 67 0
      src/main/java/com/benyun/common/utils/Md5Utils.java
  59. 26 0
      src/main/java/com/benyun/common/utils/MessageUtils.java
  60. 35 0
      src/main/java/com/benyun/common/utils/PageUtils.java
  61. 176 0
      src/main/java/com/benyun/common/utils/ServletUtils.java
  62. 604 0
      src/main/java/com/benyun/common/utils/StringUtils.java
  63. 99 0
      src/main/java/com/benyun/common/utils/Threads.java
  64. 137 0
      src/main/java/com/benyun/common/utils/TreeUtils.java
  65. 110 0
      src/main/java/com/benyun/common/utils/bean/BeanUtils.java
  66. 24 0
      src/main/java/com/benyun/common/utils/bean/BeanValidators.java
  67. 76 0
      src/main/java/com/benyun/common/utils/file/FileTypeUtils.java
  68. 233 0
      src/main/java/com/benyun/common/utils/file/FileUploadUtils.java
  69. 291 0
      src/main/java/com/benyun/common/utils/file/FileUtils.java
  70. 98 0
      src/main/java/com/benyun/common/utils/file/ImageUtils.java
  71. 59 0
      src/main/java/com/benyun/common/utils/file/MimeTypeUtils.java
  72. 167 0
      src/main/java/com/benyun/common/utils/html/EscapeUtil.java
  73. 570 0
      src/main/java/com/benyun/common/utils/html/HTMLFilter.java
  74. 274 0
      src/main/java/com/benyun/common/utils/http/HttpUtils.java
  75. 19 0
      src/main/java/com/benyun/common/utils/poi/ExcelHandlerAdapter.java
  76. 1420 0
      src/main/java/com/benyun/common/utils/poi/ExcelUtil.java
  77. 410 0
      src/main/java/com/benyun/common/utils/reflect/ReflectUtils.java
  78. 30 0
      src/main/java/com/benyun/common/utils/security/AuthorizationUtils.java
  79. 36 0
      src/main/java/com/benyun/common/utils/security/CipherUtils.java
  80. 77 0
      src/main/java/com/benyun/common/utils/security/PermissionUtils.java
  81. 75 0
      src/main/java/com/benyun/common/utils/security/ShiroUtils.java
  82. 146 0
      src/main/java/com/benyun/common/utils/spring/SpringUtils.java
  83. 61 0
      src/main/java/com/benyun/common/utils/sql/SqlUtil.java
  84. 87 0
      src/main/java/com/benyun/common/utils/text/CharsetKit.java
  85. 1005 0
      src/main/java/com/benyun/common/utils/text/Convert.java
  86. 93 0
      src/main/java/com/benyun/common/utils/text/StrFormatter.java
  87. 49 0
      src/main/java/com/benyun/common/utils/uuid/IdUtils.java
  88. 86 0
      src/main/java/com/benyun/common/utils/uuid/Seq.java
  89. 484 0
      src/main/java/com/benyun/common/utils/uuid/UUID.java
  90. 27 0
      src/main/java/com/benyun/common/xss/Xss.java
  91. 74 0
      src/main/java/com/benyun/common/xss/XssFilter.java
  92. 39 0
      src/main/java/com/benyun/common/xss/XssHttpServletRequestWrapper.java
  93. 34 0
      src/main/java/com/benyun/common/xss/XssValidator.java
  94. 148 0
      src/main/java/com/benyun/framework/aspectj/DataScopeAspect.java
  95. 72 0
      src/main/java/com/benyun/framework/aspectj/DataSourceAspect.java
  96. 235 0
      src/main/java/com/benyun/framework/aspectj/LogAspect.java
  97. 28 0
      src/main/java/com/benyun/framework/aspectj/lang/annotation/DataScope.java
  98. 28 0
      src/main/java/com/benyun/framework/aspectj/lang/annotation/DataSource.java
  99. 167 0
      src/main/java/com/benyun/framework/aspectj/lang/annotation/Excel.java
  100. 18 0
      src/main/java/com/benyun/framework/aspectj/lang/annotation/Excels.java

+ 58 - 0
assembly/assembly.xml

@@ -0,0 +1,58 @@
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
+
+    <id>customAssembly</id>
+    <!-- dir -->
+    <formats>
+        <format>dir</format>
+        <!--<format>tar.gz</format>-->
+    </formats>
+
+    <includeBaseDirectory>false</includeBaseDirectory>
+
+    <fileSets>
+<!--        <fileSet>-->
+<!--            <directory>${project.basedir}/src/main/resources/</directory>-->
+<!--            <excludes>-->
+<!--                <exclude>logback.xml</exclude>-->
+<!--                <exclude>logback-*.xml</exclude>-->
+<!--            </excludes>-->
+<!--            <outputDirectory>./config</outputDirectory>-->
+<!--        </fileSet>-->
+        <fileSet>
+            <directory>${project.basedir}/src/main/resources/</directory>
+<!--            <includes>-->
+<!--                <include>logback.xml</include>-->
+<!--                <include>logback-*.xml</include>-->
+<!--            </includes>-->
+            <outputDirectory>./resources</outputDirectory>
+        </fileSet>
+        <fileSet>
+            <directory>${project.basedir}/bin/</directory>
+            <outputDirectory>./bin</outputDirectory>
+            <lineEnding>unix</lineEnding>
+            <fileMode>0755</fileMode>
+            <filtered>true</filtered>
+        </fileSet>
+    </fileSets>
+
+    <dependencySets>
+        <dependencySet>
+            <outputDirectory>./lib</outputDirectory>
+            <scope>runtime</scope>
+            <excludes>
+                <exclude>${project.groupId}:${project.artifactId}</exclude>
+                <exclude>org.projectlombok:lombok</exclude>
+                <exclude>org.springframework.boot:spring-boot-devtools</exclude>
+            </excludes>
+        </dependencySet>
+        <dependencySet>
+            <outputDirectory>./</outputDirectory>
+            <includes>
+                <include>${project.groupId}:${project.artifactId}</include>
+            </includes>
+        </dependencySet>
+    </dependencySets>
+
+</assembly>

BIN
lib/k3cloud-webapi-sdk8.0.6.jar


File diff suppressed because it is too large
+ 424 - 0
logs/benyun/sys-error.2024-01-04.log


+ 109 - 0
logs/benyun/sys-error.2024-01-05.log

@@ -0,0 +1,109 @@
+2024-01-05 10:55:30.811  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-05 10:56:56.177  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-05 11:18:08.665  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-05 11:19:10.955  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-05 14:57:36.896  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-05 14:58:28.383  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-05 16:14:18.488  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-05 16:25:50.155  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-05 16:34:06.118  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-05 16:37:59.453  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-05 16:42:57.893  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-05 16:46:59.848  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+

+ 19 - 0
logs/benyun/sys-error.2024-01-09.log

@@ -0,0 +1,19 @@
+2024-01-09 11:33:34.302  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-09 17:10:10.287  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+

+ 88 - 0
logs/benyun/sys-error.2024-01-10.log

@@ -0,0 +1,88 @@
+2024-01-10 11:38:08.923  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-10 11:42:07.379  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-10 17:20:37.088  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-10 17:21:00.864  [quartzScheduler_Worker-1] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:21:09.824  [quartzScheduler_Worker-2] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:21:49.280  [quartzScheduler_Worker-3] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:22:00.074  [quartzScheduler_Worker-4] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:23:00.066  [quartzScheduler_Worker-5] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:24:00.069  [quartzScheduler_Worker-6] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:25:03.345  [quartzScheduler_Worker-7] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:25:03.413  [quartzScheduler_Worker-8] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:27:22.370  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-10 17:28:00.194  [quartzScheduler_Worker-1] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:28:01.953  [quartzScheduler_Worker-2] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:28:22.300  [http-nio-8088-exec-51] ERROR - <0><14018340365404992> slow sql 3049 millis. SELECT count(0) FROM sys_job[] >> com.alibaba.druid.filter.stat.StatFilter:523
+2024-01-10 17:28:35.978  [http-nio-8088-exec-51] ERROR - <0><14018340365404992> slow sql 4717 millis. SELECT job_id, job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark FROM sys_job order by create_time desc
+ LIMIT ? [10] >> com.alibaba.druid.filter.stat.StatFilter:523
+2024-01-10 17:28:36.000  [schedule-pool-1] ERROR - slow sql 4741 millis. insert into sys_oper_log(title, business_type, method, request_method, operator_type, oper_name, dept_name, oper_url, oper_ip, oper_location, oper_param, json_result, status, error_msg, oper_time)
+        values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, sysdate())["定时任务",2,"com.benyun.project.monitor.job.controller.JobController.run()","POST",1,"admin",null,"/monitor/job/run","127.0.0.1","内网IP","{\"jobId\":[\"4\"]}","{\"msg\":\"操作成功\",\"code\":0}",0,null] >> com.alibaba.druid.filter.stat.StatFilter:523
+2024-01-10 17:29:21.854  [quartzScheduler_Worker-3] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:29:21.943  [quartzScheduler_Worker-4] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:29:35.412  [quartzScheduler_Worker-5] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:30:18.165  [quartzScheduler_Worker-6] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:31:36.079  [quartzScheduler_Worker-7] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:33:24.396  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-10 17:33:47.594  [quartzScheduler_Worker-1] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:34:05.187  [quartzScheduler_Worker-2] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:35:36.168  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-10 17:35:52.862  [quartzScheduler_Worker-1] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:36:06.404  [quartzScheduler_Worker-2] ERROR - LongXiangController.orderSync.error:Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.benyun.project.third.byKingdeeConfig.domain.ByKingdeeConfig] >> com.benyun.project.third.longxiang.controller.LongXiangController:45
+2024-01-10 17:36:44.671  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+

+ 37 - 0
logs/benyun/sys-error.log

@@ -0,0 +1,37 @@
+2024-01-11 15:50:29.908  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-11 15:52:33.688  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-11 15:57:55.006  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+2024-01-11 16:03:38.183  [restartedMain] ERROR - 88888888ba                     8b        d8                       
+88      "8b                     Y8,    ,8P                        
+88      ,8P                      Y8,  ,8P                         
+88aaaaaa8P'  ,adPPYba, 8b,dPPYba, "8aa8" 88       88 8b,dPPYba,   
+88""""""8b, a8P_____88 88P'   `"8a `88'  88       88 88P'   `"8a  
+88      `8b 8PP""""""" 88       88  88   88       88 88       88  
+88      a8P "8b,   ,aa 88       88  88   "8a,   ,a88 88       88  
+88888888P"   `"Ybbd8"' 88       88  88    `"YbbdP'Y8 88       88  
+ >> com.benyun.BenYunApplication:21
+

+ 3521 - 0
logs/benyun/sys-info.2024-01-04.log

@@ -0,0 +1,3521 @@
+2024-01-04 08:36:28.088  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 42316 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 08:36:28.082  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 08:36:28.090  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 08:36:29.751  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:30.543  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:31.925  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 08:36:32.087  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.090  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.091  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.091  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.091  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.092  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.092  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.092  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.093  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.093  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.210  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.534  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 08:36:32.534  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 08:36:32.534  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 08:36:32.610  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 08:36:32.793  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.793  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.793  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.793  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.794  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.794  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.794  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.794  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.794  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.795  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.795  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.795  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.795  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.796  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:36:32.876  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 08:36:32.884  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 08:36:32.884  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 08:36:32.885  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 08:36:32.885  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 08:36:32.886  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 08:36:32.886  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 08:36:32.886  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@7dde190b >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 08:36:34.998  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 08:36:35.247  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 08:36:35.256  [restartedMain] INFO  - Started BenYunApplication in 7.493 seconds (JVM running for 8.646) >> com.benyun.BenYunApplication:61
+2024-01-04 08:37:51.426  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 08:37:51.444  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 08:37:51.452  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:52.118  [http-nio-8088-exec-1] INFO  - <0><13982280719272768> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:52.455  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 08:37:52.586  [http-nio-8088-exec-8] INFO  - <0><13982280750598976> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:52.592  [http-nio-8088-exec-9] INFO  - <0><13982280750992192> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:52.613  [http-nio-8088-exec-15] INFO  - <0><13982280752368448> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:52.617  [schedule-pool-1] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:52.619  [http-nio-8088-exec-17] INFO  - <0><13982280752761664> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:52.677  [schedule-pool-1] INFO  - Finished invalidation session. [1] sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 08:37:54.051  [http-nio-8088-exec-23] INFO  - <0><13982280846609216> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:54.095  [http-nio-8088-exec-31] INFO  - <0><13982280849492800> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:54.101  [http-nio-8088-exec-32] INFO  - <0><13982280849886016> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:54.122  [http-nio-8088-exec-42] INFO  - <0><13982280851262272> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:54.126  [http-nio-8088-exec-44] INFO  - <0><13982280851524416> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:55.494  [http-nio-8088-exec-45] INFO  - <0><13982280941177664> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:55.528  [http-nio-8088-exec-53] INFO  - <0><13982280943405888> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:55.532  [http-nio-8088-exec-54] INFO  - <0><13982280943668032> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:55.544  [http-nio-8088-exec-60] INFO  - <0><13982280944454464> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:55.548  [http-nio-8088-exec-64] INFO  - <0><13982280944716608> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:57.780  [http-nio-8088-exec-67] INFO  - <0><13982281090927424> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:57.815  [http-nio-8088-exec-75] INFO  - <0><13982281093286720> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:57.820  [http-nio-8088-exec-76] INFO  - <0><13982281093548864> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:57.835  [http-nio-8088-exec-86] INFO  - <0><13982281094597440> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:37:57.839  [http-nio-8088-exec-88] INFO  - <0><13982281094859584> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:05.954  [http-nio-8088-exec-89] INFO  - <0><13982281626684224> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:05.988  [http-nio-8088-exec-97] INFO  - <0><13982281628912448> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:05.992  [http-nio-8088-exec-98] INFO  - <0><13982281629174592> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:06.007  [http-nio-8088-exec-8] INFO  - <0><13982281630157632> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:06.011  [http-nio-8088-exec-7] INFO  - <0><13982281630419776> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:11.218  [http-nio-8088-exec-12] INFO  - <0><13982281971665728> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:11.262  [http-nio-8088-exec-18] INFO  - <0><13982281974483776> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:11.265  [http-nio-8088-exec-21] INFO  - <0><13982281974745920> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:11.281  [http-nio-8088-exec-30] INFO  - <0><13982281975794496> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:11.285  [http-nio-8088-exec-32] INFO  - <0><13982281976056640> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:12.752  [http-nio-8088-exec-34] INFO  - <0><13982282072197952> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:12.789  [http-nio-8088-exec-43] INFO  - <0><13982282074622784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:12.793  [http-nio-8088-exec-42] INFO  - <0><13982282074884928> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:12.807  [http-nio-8088-exec-52] INFO  - <0><13982282075802432> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:12.811  [http-nio-8088-exec-58] INFO  - <0><13982282076064576> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:25.833  [http-nio-8088-exec-56] INFO  - <0><13982282929474368> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:25.877  [http-nio-8088-exec-65] INFO  - <0><13982282932357952> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:25.880  [http-nio-8088-exec-66] INFO  - <0><13982282932554560> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:25.896  [http-nio-8088-exec-76] INFO  - <0><13982282933603136> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:38:25.899  [http-nio-8088-exec-79] INFO  - <0><13982282933799744> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:11.992  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 08:39:12.820  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 08:39:12.820  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 08:39:12.820  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 08:39:12.821  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 08:39:12.821  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 08:39:12.822  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 08:39:12.834  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 08:39:12.838  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 08:39:15.850  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 08:39:15.855  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 41468 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 08:39:15.858  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 08:39:17.543  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:18.302  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:19.743  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 08:39:19.908  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:19.911  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:19.911  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:19.913  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:19.913  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:19.914  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:19.914  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:19.914  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:19.914  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:19.915  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:20.041  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:20.373  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 08:39:20.374  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 08:39:20.374  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 08:39:20.453  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 08:39:20.643  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:20.644  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:20.644  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:20.644  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:20.644  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:20.644  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:20.644  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:20.645  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:20.645  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:20.645  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:20.645  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:20.646  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:20.646  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:20.646  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:20.729  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 08:39:20.737  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 08:39:20.738  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 08:39:20.738  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 08:39:20.739  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 08:39:20.739  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 08:39:20.739  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 08:39:20.739  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@6e137ba5 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 08:39:22.887  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 08:39:23.137  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 08:39:23.146  [restartedMain] INFO  - Started BenYunApplication in 7.617 seconds (JVM running for 8.73) >> com.benyun.BenYunApplication:61
+2024-01-04 08:39:29.232  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 08:39:29.257  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 08:39:29.267  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:29.799  [http-nio-8088-exec-1] INFO  - <0><13982287120567104> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:30.250  [http-nio-8088-exec-9] INFO  - <0><13982287151106880> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:30.260  [http-nio-8088-exec-10] INFO  - <0><13982287151762240> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:30.268  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 08:39:30.278  [http-nio-8088-exec-19] INFO  - <0><13982287152941888> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:30.287  [http-nio-8088-exec-22] INFO  - <0><13982287153531712> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:30.298  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 08:39:34.637  [http-nio-8088-exec-23] INFO  - <0><13982287438613312> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:34.678  [http-nio-8088-exec-31] INFO  - <0><13982287441234752> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:34.684  [http-nio-8088-exec-32] INFO  - <0><13982287441693504> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:34.688  [http-nio-8088-exec-36] INFO  - <0><13982287441955648> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:34.704  [http-nio-8088-exec-44] INFO  - <0><13982287443004224> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:39:34.709  [http-nio-8088-exec-46] INFO  - <0><13982287443266368> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:40:11.368  [http-nio-8088-exec-48] INFO  - <0><13982289845816128> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:40:11.413  [http-nio-8088-exec-55] INFO  - <0><13982289848765248> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:40:11.417  [http-nio-8088-exec-56] INFO  - <0><13982289849027392> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:40:11.420  [http-nio-8088-exec-58] INFO  - <0><13982289849224000> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:40:11.439  [http-nio-8088-exec-65] INFO  - <0><13982289850403648> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:40:11.444  [http-nio-8088-exec-67] INFO  - <0><13982289850796864> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:40:40.811  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 08:40:59.201  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 08:40:59.205  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 31916 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 08:40:59.209  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 08:41:00.760  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:01.489  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:02.844  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 08:41:03.004  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.007  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.007  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.008  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.008  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.008  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.008  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.009  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.009  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.009  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.114  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.393  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 08:41:03.393  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 08:41:03.393  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 08:41:03.464  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 08:41:03.620  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.620  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.620  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.621  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.621  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.621  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.621  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.621  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.621  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.621  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.622  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.622  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.622  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.622  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:03.701  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 08:41:03.709  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 08:41:03.710  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 08:41:03.710  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 08:41:03.711  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 08:41:03.711  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 08:41:03.711  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 08:41:03.711  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@69afd6ae >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 08:41:05.599  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 08:41:05.864  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 08:41:05.873  [restartedMain] INFO  - Started BenYunApplication in 7.023 seconds (JVM running for 8.067) >> com.benyun.BenYunApplication:61
+2024-01-04 08:41:07.947  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 08:41:07.960  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 08:41:07.968  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:08.389  [http-nio-8088-exec-1] INFO  - <0><13982293582089024> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:08.721  [http-nio-8088-exec-9] INFO  - <0><13982293604502336> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:08.728  [http-nio-8088-exec-10] INFO  - <0><13982293604961088> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:08.735  [http-nio-8088-exec-12] INFO  - <0><13982293605354304> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:08.753  [http-nio-8088-exec-21] INFO  - <0><13982293606533952> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:08.759  [http-nio-8088-exec-23] INFO  - <0><13982293606927168> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:41:08.963  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 08:41:08.986  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 08:43:11.416  [Thread-14] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 08:43:11.929  [Thread-14] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 08:43:11.929  [Thread-14] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 08:43:12.016  [Thread-14] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 08:43:12.018  [Thread-14] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 08:43:12.038  [Thread-14] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 08:43:12.044  [Thread-14] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 08:43:12.056  [Thread-14] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 08:43:27.704  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 08:43:27.710  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 20788 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 08:43:27.712  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 08:43:29.721  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:30.428  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:31.772  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 08:43:31.933  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:31.935  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:31.936  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:31.936  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:31.936  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:31.937  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:31.937  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:31.937  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:31.937  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:31.938  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:32.052  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:32.349  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 08:43:32.349  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 08:43:32.349  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 08:43:32.421  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 08:43:32.584  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:32.585  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:32.585  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:32.585  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:32.585  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:32.585  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:32.586  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:32.586  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:32.586  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:32.586  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:32.587  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:32.587  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:32.587  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:32.587  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:32.674  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 08:43:32.684  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 08:43:32.684  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 08:43:32.685  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 08:43:32.685  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 08:43:32.686  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 08:43:32.686  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 08:43:32.686  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@1f7be3d2 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 08:43:34.518  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 08:43:34.752  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 08:43:34.760  [restartedMain] INFO  - Started BenYunApplication in 7.417 seconds (JVM running for 8.851) >> com.benyun.BenYunApplication:61
+2024-01-04 08:43:35.970  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 08:43:35.983  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 08:43:35.990  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:36.462  [http-nio-8088-exec-1] INFO  - <0><13982303286135616> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:36.787  [http-nio-8088-exec-9] INFO  - <0><13982303308155712> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:36.795  [http-nio-8088-exec-10] INFO  - <0><13982303308614464> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:36.807  [http-nio-8088-exec-19] INFO  - <0><13982303309466432> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:36.814  [http-nio-8088-exec-21] INFO  - <0><13982303309859648> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:43:36.999  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 08:43:37.024  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 08:48:02.068  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 08:48:02.516  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 08:48:02.516  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 08:48:02.517  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 08:48:02.517  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 08:48:02.518  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 08:48:02.518  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 08:48:02.530  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 08:48:02.537  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 08:48:08.491  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 08:48:08.495  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 39624 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 08:48:08.498  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 08:48:09.979  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:10.718  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:12.296  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 08:48:12.448  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:12.451  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:12.451  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:12.451  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:12.452  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:12.452  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:12.452  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:12.452  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:12.453  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:12.453  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:12.559  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:12.848  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 08:48:12.848  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 08:48:12.849  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 08:48:12.920  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 08:48:13.086  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:13.087  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:13.087  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:13.087  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:13.087  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:13.087  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:13.087  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:13.088  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:13.088  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:13.088  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:13.089  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:13.089  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:13.089  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:13.089  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:13.166  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 08:48:13.174  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 08:48:13.175  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 08:48:13.175  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 08:48:13.176  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 08:48:13.176  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 08:48:13.176  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 08:48:13.176  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@7056f7e4 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 08:48:15.020  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 08:48:15.255  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 08:48:15.263  [restartedMain] INFO  - Started BenYunApplication in 7.077 seconds (JVM running for 8.148) >> com.benyun.BenYunApplication:61
+2024-01-04 08:48:17.552  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 08:48:17.572  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 08:48:17.579  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:17.990  [http-nio-8088-exec-1] INFO  - <0><13982321736485696> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:18.321  [http-nio-8088-exec-10] INFO  - <0><13982321758767936> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:18.340  [http-nio-8088-exec-18] INFO  - <0><13982321759947584> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:18.346  [http-nio-8088-exec-20] INFO  - <0><13982321760406336> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:18.579  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 08:48:18.607  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 08:48:18.911  [http-nio-8088-exec-23] INFO  - <0><13982321797368640> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:18.956  [http-nio-8088-exec-32] INFO  - <0><13982321800383296> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:18.974  [http-nio-8088-exec-40] INFO  - <0><13982321801562944> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:18.979  [http-nio-8088-exec-43] INFO  - <0><13982321801825088> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:19.982  [http-nio-8088-exec-44] INFO  - <0><13982321867557696> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:20.024  [http-nio-8088-exec-53] INFO  - <0><13982321870375744> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:20.057  [http-nio-8088-exec-61] INFO  - <0><13982321872538432> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:20.061  [http-nio-8088-exec-64] INFO  - <0><13982321872800576> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:21.115  [http-nio-8088-exec-65] INFO  - <0><13982321941809984> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:21.155  [http-nio-8088-exec-75] INFO  - <0><13982321944496960> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:21.172  [http-nio-8088-exec-83] INFO  - <0><13982321945611072> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:21.176  [http-nio-8088-exec-85] INFO  - <0><13982321945807680> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:21.307  [http-nio-8088-exec-86] INFO  - <0><13982321954458432> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:21.351  [http-nio-8088-exec-95] INFO  - <0><13982321957342016> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:21.371  [http-nio-8088-exec-4] INFO  - <0><13982321958587200> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:21.375  [http-nio-8088-exec-7] INFO  - <0><13982321958914880> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:45.640  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 08:48:45.979  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 08:48:45.979  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 08:48:45.979  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 08:48:45.980  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 08:48:45.980  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 08:48:45.981  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 08:48:45.994  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 08:48:46.000  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 08:48:49.100  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 08:48:49.105  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 44764 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 08:48:49.107  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 08:48:50.784  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:51.558  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:52.966  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 08:48:53.134  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.138  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.138  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.138  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.139  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.139  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.139  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.139  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.140  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.140  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.274  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.639  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 08:48:53.639  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 08:48:53.639  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 08:48:53.718  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 08:48:53.910  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.910  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.910  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.910  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.911  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.911  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.911  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.911  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.911  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.911  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.912  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.912  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.912  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.912  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:48:53.993  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 08:48:54.002  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 08:48:54.002  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 08:48:54.003  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 08:48:54.003  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 08:48:54.003  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 08:48:54.003  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 08:48:54.003  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@5137c18 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 08:48:56.266  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 08:48:56.518  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 08:48:56.528  [restartedMain] INFO  - Started BenYunApplication in 7.749 seconds (JVM running for 8.877) >> com.benyun.BenYunApplication:61
+2024-01-04 08:48:59.604  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 08:48:59.620  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 08:48:59.627  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:49:04.030  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 08:49:07.541  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 08:49:07.518  [http-nio-8088-exec-1] INFO  - <0><13982324491750208> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:49:22.635  [http-nio-8088-exec-11] INFO  - <0><13982325753121600> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:49:32.161  [http-nio-8088-exec-15] INFO  - <0><13982325974829888> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:49:32.762  [http-nio-8088-exec-23] INFO  - <0><13982326598601536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:49:33.239  [http-nio-8088-exec-22] INFO  - <0><13982326598601537> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:49:33.645  [http-nio-8088-exec-31] INFO  - <0><13982326672067392> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:49:34.005  [http-nio-8088-exec-36] INFO  - <0><13982326696184640> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:49:34.305  [http-nio-8088-exec-39] INFO  - <0><13982326719122240> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:49:38.686  [http-nio-8088-exec-45] INFO  - <0><13982326974778176> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:49:39.556  [http-nio-8088-exec-52] INFO  - <0><13982327028910912> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:49:40.027  [http-nio-8088-exec-58] INFO  - <0><13982327083436864> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:49:40.666  [http-nio-8088-exec-61] INFO  - <0><13982327113780032> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:03.843  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 08:51:04.328  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 08:51:04.328  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 08:51:04.329  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 08:51:04.329  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 08:51:04.329  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 08:51:04.330  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 08:51:04.344  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 08:51:04.352  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 08:51:08.960  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 08:51:08.966  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 10772 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 08:51:08.968  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 08:51:10.602  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:11.386  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.067  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 08:51:13.237  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.240  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.241  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.241  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.241  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.242  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.242  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.242  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.242  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.243  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.361  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.702  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 08:51:13.703  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 08:51:13.703  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 08:51:13.781  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 08:51:13.969  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.969  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.970  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.970  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.970  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.970  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.970  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.970  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.971  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.971  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.971  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.972  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.972  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:13.972  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:14.052  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 08:51:14.060  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 08:51:14.061  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 08:51:14.061  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 08:51:14.062  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 08:51:14.062  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 08:51:14.062  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 08:51:14.062  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@7d933e55 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 08:51:16.337  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 08:51:16.585  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 08:51:16.593  [restartedMain] INFO  - Started BenYunApplication in 7.954 seconds (JVM running for 9.048) >> com.benyun.BenYunApplication:61
+2024-01-04 08:51:19.844  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 08:51:19.860  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 08:51:19.866  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:22.608  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 08:51:22.607  [http-nio-8088-exec-1] INFO  - <0><13982333682322240> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:51:22.635  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 08:51:29.323  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 08:53:39.178  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 39864 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 08:53:39.173  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 08:53:39.180  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 08:53:40.828  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:41.646  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.085  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 08:53:43.263  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.266  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.267  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.267  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.268  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.268  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.268  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.269  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.269  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.269  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.400  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.720  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 08:53:43.720  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 08:53:43.720  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 08:53:43.797  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 08:53:43.990  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.990  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.990  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.991  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.991  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.991  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.991  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.991  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.992  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.992  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.992  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.992  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.992  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:43.993  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:44.075  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 08:53:44.083  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 08:53:44.083  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 08:53:44.084  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 08:53:44.084  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 08:53:44.085  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 08:53:44.085  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 08:53:44.085  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@51b65235 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 08:53:46.649  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 08:53:46.910  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 08:53:46.918  [restartedMain] INFO  - Started BenYunApplication in 8.109 seconds (JVM running for 9.367) >> com.benyun.BenYunApplication:61
+2024-01-04 08:53:50.599  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 08:53:50.614  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 08:53:50.620  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:53.524  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 08:53:53.523  [http-nio-8088-exec-1] INFO  - <0><13982343562726208> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:53.550  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 08:53:54.704  [http-nio-8088-exec-11] INFO  - <0><13982343754353472> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:54.724  [http-nio-8088-exec-15] INFO  - <0><13982343805274944> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:54.730  [http-nio-8088-exec-17] INFO  - <0><13982343805668160> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:57.059  [http-nio-8088-exec-22] INFO  - <0><13982343958301504> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:57.118  [http-nio-8088-exec-30] INFO  - <0><13982343962102592> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:57.163  [http-nio-8088-exec-39] INFO  - <0><13982343965117248> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:57.172  [http-nio-8088-exec-42] INFO  - <0><13982343965641536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:58.373  [http-nio-8088-exec-43] INFO  - <0><13982344044415808> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:58.413  [http-nio-8088-exec-52] INFO  - <0><13982344047037248> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:58.428  [http-nio-8088-exec-61] INFO  - <0><13982344048020288> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:53:58.432  [http-nio-8088-exec-63] INFO  - <0><13982344048282432> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:02.338  [http-nio-8088-exec-70] INFO  - <0><13982352168586048> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:02.382  [http-nio-8088-exec-79] INFO  - <0><13982352171469632> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:02.397  [http-nio-8088-exec-87] INFO  - <0><13982352172452672> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:02.401  [http-nio-8088-exec-90] INFO  - <0><13982352172714816> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:03.415  [http-nio-8088-exec-91] INFO  - <0><13982352239102784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:03.456  [http-nio-8088-exec-100] INFO  - <0><13982352241855296> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:03.471  [http-nio-8088-exec-9] INFO  - <0><13982352242838336> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:03.474  [http-nio-8088-exec-11] INFO  - <0><13982352243034944> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:03.954  [http-nio-8088-exec-13] INFO  - <0><13982352274426688> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.000  [http-nio-8088-exec-21] INFO  - <0><13982352277506880> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.016  [http-nio-8088-exec-31] INFO  - <0><13982352278555456> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.020  [http-nio-8088-exec-34] INFO  - <0><13982352278817600> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.205  [http-nio-8088-exec-35] INFO  - <0><13982352290876224> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.244  [http-nio-8088-exec-42] INFO  - <0><13982352293497664> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.260  [http-nio-8088-exec-50] INFO  - <0><13982352294546240> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.263  [http-nio-8088-exec-52] INFO  - <0><13982352294742848> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.383  [http-nio-8088-exec-55] INFO  - <0><13982352302607168> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.420  [http-nio-8088-exec-63] INFO  - <0><13982352304966464> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.431  [http-nio-8088-exec-65] INFO  - <0><13982352305752896> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.434  [http-nio-8088-exec-70] INFO  - <0><13982352305883968> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.558  [http-nio-8088-exec-76] INFO  - <0><13982352314075968> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.594  [http-nio-8088-exec-85] INFO  - <0><13982352316435264> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.604  [http-nio-8088-exec-87] INFO  - <0><13982352317090624> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.608  [http-nio-8088-exec-90] INFO  - <0><13982352317352768> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.730  [http-nio-8088-exec-95] INFO  - <0><13982352325348160> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.766  [http-nio-8088-exec-6] INFO  - <0><13982352327707456> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.776  [http-nio-8088-exec-9] INFO  - <0><13982352328362816> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.779  [http-nio-8088-exec-11] INFO  - <0><13982352328559424> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.914  [http-nio-8088-exec-14] INFO  - <0><13982352337406784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.951  [http-nio-8088-exec-25] INFO  - <0><13982352339766080> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.962  [http-nio-8088-exec-31] INFO  - <0><13982352340552512> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:04.965  [http-nio-8088-exec-35] INFO  - <0><13982352340749120> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:05.089  [http-nio-8088-exec-37] INFO  - <0><13982352348875584> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:05.127  [http-nio-8088-exec-44] INFO  - <0><13982352351300416> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:05.142  [http-nio-8088-exec-60] INFO  - <0><13982352352348992> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:56:05.145  [http-nio-8088-exec-53] INFO  - <0><13982352352480064> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:59:08.927  [http-nio-8088-exec-66] INFO  - <0><13982364396882752> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:59:09.002  [http-nio-8088-exec-75] INFO  - <0><13982364401797952> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:59:09.017  [http-nio-8088-exec-78] INFO  - <0><13982364402780992> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 08:59:09.020  [http-nio-8088-exec-74] INFO  - <0><13982364402977600> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:03:51.623  [schedule-pool-2] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 09:03:51.924  [schedule-pool-2] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 09:13:51.623  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 09:13:51.921  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 09:19:24.354  [http-nio-8088-exec-90] INFO  - <0><13982444051041088> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:19:24.507  [http-nio-8088-exec-100] INFO  - <0><13982444061133632> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:19:24.521  [http-nio-8088-exec-8] INFO  - <0><13982444062051136> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:19:24.524  [http-nio-8088-exec-5] INFO  - <0><13982444062247744> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:19:33.466  [http-nio-8088-exec-17] INFO  - <0><13982444648270656> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:19:33.512  [http-nio-8088-exec-22] INFO  - <0><13982444651285312> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:19:33.555  [http-nio-8088-exec-31] INFO  - <0><13982444654103360> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:19:33.558  [http-nio-8088-exec-34] INFO  - <0><13982444654299968> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:14.521  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 09:24:14.527  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 7256 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 09:24:14.528  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 09:24:22.182  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:29.019  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.075  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 09:24:31.244  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.247  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.247  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.248  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.248  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.248  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.248  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.249  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.249  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.249  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.367  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.676  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:24:31.677  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 09:24:31.677  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 09:24:31.744  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:24:31.905  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.905  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.906  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.906  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.906  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.906  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.907  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.907  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.907  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.907  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.908  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.908  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.908  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.909  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:24:31.990  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 09:24:31.999  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 09:24:31.999  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 09:24:31.999  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 09:24:32.000  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 09:24:32.000  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 09:24:32.000  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 09:24:32.000  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@58d20fad >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 09:24:33.778  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:24:33.995  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 09:24:34.004  [restartedMain] INFO  - Started BenYunApplication in 19.903 seconds (JVM running for 22.052) >> com.benyun.BenYunApplication:61
+2024-01-04 09:27:05.976  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:27:05.989  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 09:27:06.305  [http-nio-8088-exec-1] INFO  - <0><13982474324937536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:27:06.621  [http-nio-8088-exec-5] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:27:06.657  [http-nio-8088-exec-10] INFO  - <0><13982474348530496> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:27:06.675  [http-nio-8088-exec-16] INFO  - <0><13982474349775680> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:27:06.681  [http-nio-8088-exec-20] INFO  - <0><13982474350168896> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:27:07.005  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 09:27:07.293  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 09:27:08.566  [http-nio-8088-exec-23] INFO  - <0><13982474473704256> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:27:08.608  [http-nio-8088-exec-31] INFO  - <0><13982474476456768> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:27:08.618  [http-nio-8088-exec-37] INFO  - <0><13982474477112128> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:27:08.622  [http-nio-8088-exec-39] INFO  - <0><13982474477374272> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:27:18.052  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 09:31:13.777  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 09:31:13.784  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 14904 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 09:31:13.786  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 09:31:15.883  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:16.663  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:18.767  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 09:31:18.928  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:18.931  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:18.932  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:18.932  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:18.932  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:18.933  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:18.933  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:18.933  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:18.933  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:18.934  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:19.045  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:19.353  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:31:19.354  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 09:31:19.354  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 09:31:19.418  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:31:19.591  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:19.591  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:19.591  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:19.592  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:19.592  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:19.592  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:19.592  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:19.592  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:19.593  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:19.593  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:19.593  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:19.594  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:19.594  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:19.594  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:31:19.674  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 09:31:19.682  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 09:31:19.682  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 09:31:19.683  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 09:31:19.683  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 09:31:19.683  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 09:31:19.683  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 09:31:19.684  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@1dc72a5f >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 09:31:20.714  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 09:31:20.714  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 09:31:20.715  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 09:31:20.715  [restartedMain] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 09:31:20.715  [restartedMain] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 09:31:20.726  [restartedMain] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 09:31:20.730  [restartedMain] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 09:31:20.732  [restartedMain] INFO  - Stopping service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 09:32:01.557  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 10760 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 09:32:01.555  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 09:32:01.561  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 09:32:02.975  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:03.684  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.052  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 09:32:05.233  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.236  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.237  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.237  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.238  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.238  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.238  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.239  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.240  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.240  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.368  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.665  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:32:05.665  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 09:32:05.665  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 09:32:05.730  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:32:05.889  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.890  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.890  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.890  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.890  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.890  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.891  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.891  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.891  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.891  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.893  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.894  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.894  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.894  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:05.987  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 09:32:05.994  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 09:32:05.994  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 09:32:05.994  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 09:32:05.995  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 09:32:05.995  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 09:32:05.995  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 09:32:05.995  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@3c011f06 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 09:32:07.883  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:32:08.108  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 09:32:08.116  [restartedMain] INFO  - Started BenYunApplication in 6.847 seconds (JVM running for 7.766) >> com.benyun.BenYunApplication:61
+2024-01-04 09:32:14.926  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:32:14.938  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 09:32:15.243  [http-nio-8088-exec-1] INFO  - <0><13982494571498304> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:15.546  [http-nio-8088-exec-3] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:15.576  [http-nio-8088-exec-2] INFO  - <0><13982494593846080> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:15.582  [http-nio-8088-exec-10] INFO  - <0><13982494594304832> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:15.588  [http-nio-8088-exec-7] INFO  - <0><13982494594698048> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:15.942  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 09:32:15.970  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 09:32:17.145  [http-nio-8088-exec-8] INFO  - <0><13982494696737600> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:17.189  [http-nio-8088-exec-12] INFO  - <0><13982494699621184> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:17.194  [http-nio-8088-exec-13] INFO  - <0><13982494699948864> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:17.198  [http-nio-8088-exec-14] INFO  - <0><13982494700211008> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:22.328  [http-nio-8088-exec-16] INFO  - <0><13982495036410688> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:22.369  [http-nio-8088-exec-19] INFO  - <0><13982495039097664> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:22.373  [http-nio-8088-exec-20] INFO  - <0><13982495039359808> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:32:22.377  [http-nio-8088-exec-21] INFO  - <0><13982495039621952> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:20.285  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 09:33:20.844  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 09:33:20.844  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 09:33:20.844  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 09:33:20.845  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 09:33:20.845  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 09:33:20.846  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 09:33:20.860  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 09:33:20.868  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 09:33:23.772  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 09:33:23.775  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 17864 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 09:33:23.779  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 09:33:25.134  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:25.761  [restartedMain] INFO  - {dataSource-0} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 09:33:48.310  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 09:33:48.318  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 9312 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 09:33:48.323  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 09:33:50.320  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:51.255  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:52.656  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 09:33:52.823  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:52.826  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:52.827  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:52.828  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:52.828  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:52.828  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:52.829  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:52.829  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:52.829  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:52.829  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:52.957  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:53.328  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:33:53.329  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 09:33:53.329  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 09:33:53.403  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:33:53.585  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:53.585  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:53.586  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:53.586  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:53.586  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:53.586  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:53.586  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:53.587  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:53.587  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:53.587  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:53.588  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:53.588  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:53.588  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:53.588  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:53.666  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 09:33:53.674  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 09:33:53.675  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 09:33:53.675  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 09:33:53.676  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 09:33:53.676  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 09:33:53.676  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 09:33:53.676  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@3042a004 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 09:33:55.462  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:33:55.686  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 09:33:55.694  [restartedMain] INFO  - Started BenYunApplication in 7.782 seconds (JVM running for 8.692) >> com.benyun.BenYunApplication:61
+2024-01-04 09:33:56.556  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:33:56.568  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 09:33:56.573  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:57.000  [http-nio-8088-exec-1] INFO  - <0><13982501240048448> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:57.395  [http-nio-8088-exec-5] INFO  - <0><13982501266721600> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:57.402  [http-nio-8088-exec-6] INFO  - <0><13982501267180352> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:57.409  [http-nio-8088-exec-7] INFO  - <0><13982501267573568> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:57.580  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 09:33:57.608  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 09:33:58.751  [http-nio-8088-exec-8] INFO  - <0><13982501355588416> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:58.793  [http-nio-8088-exec-12] INFO  - <0><13982501358340928> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:58.798  [http-nio-8088-exec-13] INFO  - <0><13982501358668608> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:33:58.803  [http-nio-8088-exec-14] INFO  - <0><13982501358930752> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:00.789  [http-nio-8088-exec-15] INFO  - <0><13982501489150784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:00.829  [http-nio-8088-exec-19] INFO  - <0><13982501491772224> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:00.834  [http-nio-8088-exec-20] INFO  - <0><13982501492099904> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:00.838  [http-nio-8088-exec-21] INFO  - <0><13982501492362048> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:02.019  [http-nio-8088-exec-22] INFO  - <0><13982501569694528> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:02.057  [http-nio-8088-exec-26] INFO  - <0><13982501572250432> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:02.062  [http-nio-8088-exec-27] INFO  - <0><13982501572578112> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:02.066  [http-nio-8088-exec-28] INFO  - <0><13982501572774720> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:05.278  [http-nio-8088-exec-29] INFO  - <0><13982501783341888> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:05.315  [http-nio-8088-exec-33] INFO  - <0><13982501785766720> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:05.320  [http-nio-8088-exec-34] INFO  - <0><13982501786094400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:05.324  [http-nio-8088-exec-35] INFO  - <0><13982501786356544> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:09.039  [http-nio-8088-exec-36] INFO  - <0><13982502029822784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:09.081  [http-nio-8088-exec-40] INFO  - <0><13982502032509760> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:09.085  [http-nio-8088-exec-41] INFO  - <0><13982502032837440> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:09.089  [http-nio-8088-exec-42] INFO  - <0><13982502033099584> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:17.269  [http-nio-8088-exec-44] INFO  - <0><13982502569184064> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:24.066  [http-nio-8088-exec-45] INFO  - <0><13982503014632256> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:24.127  [http-nio-8088-exec-49] INFO  - <0><13982503018629952> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:24.131  [http-nio-8088-exec-50] INFO  - <0><13982503018892096> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:34:24.135  [http-nio-8088-exec-51] INFO  - <0><13982503019088704> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:37:21.869  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 09:37:22.248  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 09:37:22.248  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 09:37:22.249  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 09:37:22.249  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 09:37:22.249  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 09:37:22.249  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 09:37:22.260  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 09:37:22.266  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 09:39:30.144  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 6444 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 09:39:30.141  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 09:39:30.148  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 09:39:31.498  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:32.177  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:33.480  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 09:39:33.628  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:33.630  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:33.630  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:33.631  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:33.631  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:33.631  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:33.632  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:33.632  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:33.632  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:33.632  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:33.730  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:34.002  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:39:34.002  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 09:39:34.003  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 09:39:34.065  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:39:34.225  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:34.226  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:34.226  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:34.227  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:34.227  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:34.227  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:34.227  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:34.227  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:34.227  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:34.228  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:34.228  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:34.228  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:34.228  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:34.228  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:34.309  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 09:39:34.317  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 09:39:34.317  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 09:39:34.318  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 09:39:34.319  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 09:39:34.319  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 09:39:34.319  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 09:39:34.319  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@5a8123ae >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 09:39:36.366  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:39:36.622  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:39:36.645  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 09:39:36.654  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:36.727  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 09:39:36.742  [restartedMain] INFO  - Started BenYunApplication in 6.895 seconds (JVM running for 7.816) >> com.benyun.BenYunApplication:61
+2024-01-04 09:39:37.186  [http-nio-8088-exec-1] INFO  - <0><13982523534412608> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:37.666  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 09:39:37.698  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 09:39:41.528  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 09:39:41.624  [http-nio-8088-exec-6] INFO  - <0><13982523824343872> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:41.625  [http-nio-8088-exec-6] INFO  - <0><13982523824343872> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:41.625  [http-nio-8088-exec-6] INFO  - <0><13982523824343872> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:41.625  [http-nio-8088-exec-6] INFO  - <0><13982523824343872> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:41.625  [http-nio-8088-exec-6] INFO  - <0><13982523824343872> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:41.625  [http-nio-8088-exec-6] INFO  - <0><13982523824343872> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:39:41.625  [http-nio-8088-exec-6] INFO  - <0><13982523824343872> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:40:46.044  [http-nio-8088-exec-31] INFO  - <0><13982528045976384> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:40:46.046  [http-nio-8088-exec-31] INFO  - <0><13982528045976384> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:40:46.056  [http-nio-8088-exec-31] INFO  - <0><13982528045976384> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:41:55.053  [http-nio-8088-exec-49] INFO  - <0><13982532570254144> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:41:55.057  [http-nio-8088-exec-49] INFO  - <0><13982532570254144> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:41:56.917  [http-nio-8088-exec-69] INFO  - <0><13982532692085568> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:43:58.074  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 09:43:58.484  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 09:43:58.484  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 09:43:58.484  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 09:43:58.484  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 09:43:58.485  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 09:43:58.485  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 09:43:58.495  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 09:43:58.498  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 09:44:02.609  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 09:44:02.613  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 14872 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 09:44:02.615  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 09:44:03.976  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:04.666  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.014  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 09:44:06.158  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.161  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.161  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.161  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.162  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.162  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.162  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.162  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.163  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.163  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.260  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.532  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:44:06.532  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 09:44:06.532  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 09:44:06.593  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:44:06.744  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.744  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.744  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.745  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.745  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.745  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.745  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.745  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.745  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.746  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.746  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.746  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.746  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.746  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:06.828  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 09:44:06.835  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 09:44:06.835  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 09:44:06.836  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 09:44:06.836  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 09:44:06.837  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 09:44:06.837  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 09:44:06.837  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@3dbcc27 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 09:44:08.539  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:44:08.753  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 09:44:08.761  [restartedMain] INFO  - Started BenYunApplication in 6.439 seconds (JVM running for 7.323) >> com.benyun.BenYunApplication:61
+2024-01-04 09:44:10.406  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:44:10.418  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 09:44:10.424  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:11.073  [http-nio-8088-exec-2] INFO  - <0><13982541484067648> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:11.434  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 09:44:11.457  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 09:44:12.406  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 09:44:12.499  [http-nio-8088-exec-7] INFO  - <0><13982541576276800> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:12.499  [http-nio-8088-exec-7] INFO  - <0><13982541576276800> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:12.500  [http-nio-8088-exec-7] INFO  - <0><13982541576276800> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:12.500  [http-nio-8088-exec-7] INFO  - <0><13982541576276800> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:12.500  [http-nio-8088-exec-7] INFO  - <0><13982541576276800> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:12.500  [http-nio-8088-exec-7] INFO  - <0><13982541576276800> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:44:12.500  [http-nio-8088-exec-7] INFO  - <0><13982541576276800> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:45:12.217  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 09:45:12.594  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 09:45:12.594  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 09:45:12.594  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 09:45:12.594  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 09:45:12.595  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 09:45:12.595  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 09:45:12.606  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 09:45:12.612  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 09:48:17.305  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 16936 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 09:48:17.300  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 09:48:17.307  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 09:48:18.821  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:19.552  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:20.914  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 09:48:21.072  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.075  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.075  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.076  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.076  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.077  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.077  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.077  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.077  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.078  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.188  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.492  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:48:21.493  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 09:48:21.493  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 09:48:21.556  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:48:21.731  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.731  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.731  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.732  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.732  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.732  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.732  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.732  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.733  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.733  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.733  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.734  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.734  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.734  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:21.815  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 09:48:21.823  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 09:48:21.823  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 09:48:21.823  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 09:48:21.824  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 09:48:21.824  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 09:48:21.824  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 09:48:21.824  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@729ba0a5 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 09:48:23.849  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:48:23.937  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:48:23.950  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 09:48:23.956  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:24.199  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 09:48:24.210  [restartedMain] INFO  - Started BenYunApplication in 7.223 seconds (JVM running for 8.215) >> com.benyun.BenYunApplication:61
+2024-01-04 09:48:24.684  [http-nio-8088-exec-2] INFO  - <0><13982558104718144> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:24.964  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 09:48:24.990  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 09:48:25.979  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 09:48:26.077  [http-nio-8088-exec-7] INFO  - <0><13982558194633536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:26.077  [http-nio-8088-exec-7] INFO  - <0><13982558194633536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:26.077  [http-nio-8088-exec-7] INFO  - <0><13982558194633536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:26.077  [http-nio-8088-exec-7] INFO  - <0><13982558194633536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:26.078  [http-nio-8088-exec-7] INFO  - <0><13982558194633536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:26.078  [http-nio-8088-exec-7] INFO  - <0><13982558194633536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:26.078  [http-nio-8088-exec-7] INFO  - <0><13982558194633536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:30.171  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 09:48:51.576  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 09:48:51.580  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 16556 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 09:48:51.583  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 09:48:53.137  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:53.853  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.210  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 09:48:55.359  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.360  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.361  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.361  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.361  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.362  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.362  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.362  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.362  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.362  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.459  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.738  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:48:55.738  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 09:48:55.738  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 09:48:55.800  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:48:55.951  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.952  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.952  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.952  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.952  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.952  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.953  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.953  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.953  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.953  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.954  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.954  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.954  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:55.954  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:56.038  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 09:48:56.045  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 09:48:56.045  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 09:48:56.046  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 09:48:56.047  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 09:48:56.047  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 09:48:56.047  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 09:48:56.047  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@4806471e >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 09:48:57.792  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:48:57.870  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:48:57.883  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 09:48:57.888  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:58.030  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 09:48:58.039  [restartedMain] INFO  - Started BenYunApplication in 6.75 seconds (JVM running for 7.665) >> com.benyun.BenYunApplication:61
+2024-01-04 09:48:58.452  [http-nio-8088-exec-2] INFO  - <0><13982560317803328> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:48:58.892  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 09:48:58.916  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 09:49:00.214  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 09:49:00.296  [http-nio-8088-exec-7] INFO  - <0><13982560437406528> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:49:00.297  [http-nio-8088-exec-7] INFO  - <0><13982560437406528> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:49:00.297  [http-nio-8088-exec-7] INFO  - <0><13982560437406528> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:49:00.297  [http-nio-8088-exec-7] INFO  - <0><13982560437406528> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:49:00.297  [http-nio-8088-exec-7] INFO  - <0><13982560437406528> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:49:00.297  [http-nio-8088-exec-7] INFO  - <0><13982560437406528> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:49:00.297  [http-nio-8088-exec-7] INFO  - <0><13982560437406528> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:09.038  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 09:55:09.430  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 09:55:09.430  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 09:55:09.430  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 09:55:09.430  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 09:55:09.431  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 09:55:09.431  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 09:55:09.440  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 09:55:09.445  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 09:55:13.820  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 09:55:13.826  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 5880 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 09:55:13.828  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 09:55:15.335  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:16.065  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:17.421  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 09:55:17.578  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:17.581  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:17.582  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:17.582  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:17.582  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:17.583  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:17.583  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:17.583  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:17.584  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:17.584  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:17.694  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:17.993  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:55:17.993  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 09:55:17.993  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 09:55:18.058  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:55:18.228  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:18.228  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:18.228  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:18.228  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:18.229  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:18.229  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:18.229  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:18.229  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:18.229  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:18.230  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:18.230  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:18.230  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:18.231  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:18.231  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:55:18.311  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 09:55:18.318  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 09:55:18.319  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 09:55:18.320  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 09:55:18.320  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 09:55:18.320  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 09:55:18.320  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 09:55:18.321  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@64a79f08 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 09:55:20.312  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:55:20.552  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 09:55:20.560  [restartedMain] INFO  - Started BenYunApplication in 7.049 seconds (JVM running for 8.011) >> com.benyun.BenYunApplication:61
+2024-01-04 09:56:33.622  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:56:33.635  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 09:56:33.655  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:56:33.986  [http-nio-8088-exec-4] INFO  - <0><13982590171679552> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:56:34.643  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 09:56:35.141  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 09:57:00.805  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 09:58:38.549  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 09:58:38.996  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 09:58:38.996  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 09:58:38.996  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 09:58:38.996  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 09:58:38.997  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 09:58:38.998  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 09:58:39.008  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 09:58:39.012  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 09:58:42.835  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 09:58:42.839  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 9504 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 09:58:42.842  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 09:58:44.371  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:45.107  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:46.454  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 09:58:46.619  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:46.622  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:46.622  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:46.623  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:46.623  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:46.623  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:46.623  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:46.624  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:46.624  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:46.624  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:46.736  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:47.041  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:58:47.042  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 09:58:47.042  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 09:58:47.106  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:58:47.276  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:47.277  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:47.277  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:47.277  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:47.277  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:47.277  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:47.277  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:47.278  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:47.278  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:47.278  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:47.279  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:47.279  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:47.279  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:47.279  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:58:47.360  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 09:58:47.368  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 09:58:47.368  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 09:58:47.368  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 09:58:47.369  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 09:58:47.369  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 09:58:47.369  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 09:58:47.369  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@37b23083 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 09:58:49.673  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 09:58:49.916  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 09:58:49.925  [restartedMain] INFO  - Started BenYunApplication in 7.393 seconds (JVM running for 8.371) >> com.benyun.BenYunApplication:61
+2024-01-04 09:59:03.245  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 09:59:03.259  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 09:59:03.264  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:59:03.840  [http-nio-8088-exec-3] INFO  - <0><13982599992380224> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 09:59:04.276  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 09:59:04.300  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 09:59:34.766  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:00:15.779  [http-nio-8088-exec-5] INFO  - <0><13982602319891264> KingdeeDictServiceImpl.syncKingdeeDict.查询所有单据类型: [{"number":"YSTZB01_SYS","billTypeId":"607d00162753de","billFormId":"BM_ReportAdjust","createTime":"Jan 4, 2024, 10:00:12 AM"}] >> com.benyun.project.third.kingdeeDict.service.impl.KingdeeDictServiceImpl:134
+2024-01-04 10:05:15.015  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 10:05:15.432  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 10:05:15.432  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 10:05:15.432  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 10:05:15.432  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 10:05:15.434  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 10:05:15.434  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 10:05:15.447  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 10:05:15.453  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 10:05:18.203  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 19328 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 10:05:18.199  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 10:05:18.206  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 10:05:19.601  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:20.283  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:21.660  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 10:05:21.812  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:21.815  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:21.815  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:21.815  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:21.816  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:21.816  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:21.816  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:21.816  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:21.817  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:21.817  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:21.912  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:22.181  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 10:05:22.182  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 10:05:22.182  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 10:05:22.243  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 10:05:22.392  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:22.392  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:22.392  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:22.392  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:22.393  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:22.393  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:22.393  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:22.393  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:22.393  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:22.394  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:22.394  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:22.394  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:22.394  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:22.394  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:22.473  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 10:05:22.481  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 10:05:22.482  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 10:05:22.482  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 10:05:22.483  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 10:05:22.483  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 10:05:22.483  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 10:05:22.483  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@39296939 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 10:05:24.189  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 10:05:24.406  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 10:05:24.414  [restartedMain] INFO  - Started BenYunApplication in 6.532 seconds (JVM running for 7.424) >> com.benyun.BenYunApplication:61
+2024-01-04 10:05:29.113  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 10:05:29.126  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 10:05:29.132  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:29.687  [http-nio-8088-exec-3] INFO  - <0><13982625279052608> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:30.134  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 10:05:30.161  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 10:05:31.939  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:05:32.021  [http-nio-8088-exec-7] INFO  - <0><13982625431030592> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:32.021  [http-nio-8088-exec-7] INFO  - <0><13982625431030592> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:32.021  [http-nio-8088-exec-7] INFO  - <0><13982625431030592> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:32.022  [http-nio-8088-exec-7] INFO  - <0><13982625431030592> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:32.022  [http-nio-8088-exec-7] INFO  - <0><13982625431030592> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:32.022  [http-nio-8088-exec-7] INFO  - <0><13982625431030592> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:05:32.022  [http-nio-8088-exec-7] INFO  - <0><13982625431030592> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:07:04.355  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 10:08:27.157  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 10:08:27.160  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 10572 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 10:08:27.163  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 10:08:28.552  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:29.220  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:30.549  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 10:08:30.699  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:30.702  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:30.703  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:30.703  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:30.704  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:30.704  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:30.704  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:30.704  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:30.705  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:30.705  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:30.798  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:31.065  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 10:08:31.065  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 10:08:31.065  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 10:08:31.127  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 10:08:31.279  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:31.279  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:31.279  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:31.279  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:31.279  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:31.280  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:31.280  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:31.280  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:31.280  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:31.280  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:31.281  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:31.281  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:31.281  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:31.281  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:31.362  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 10:08:31.369  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 10:08:31.369  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 10:08:31.370  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 10:08:31.370  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 10:08:31.370  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 10:08:31.370  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 10:08:31.371  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@24d63de9 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 10:08:33.096  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 10:08:33.316  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 10:08:33.325  [restartedMain] INFO  - Started BenYunApplication in 6.457 seconds (JVM running for 7.363) >> com.benyun.BenYunApplication:61
+2024-01-04 10:08:41.573  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 10:08:41.585  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 10:08:41.590  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:42.131  [http-nio-8088-exec-2] INFO  - <0><13982637891455808> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:42.595  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 10:08:42.619  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 10:08:43.403  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:08:43.495  [http-nio-8088-exec-7] INFO  - <0><13982637979667264> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:43.496  [http-nio-8088-exec-7] INFO  - <0><13982637979667264> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:43.496  [http-nio-8088-exec-7] INFO  - <0><13982637979667264> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:43.496  [http-nio-8088-exec-7] INFO  - <0><13982637979667264> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:43.496  [http-nio-8088-exec-7] INFO  - <0><13982637979667264> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:43.496  [http-nio-8088-exec-7] INFO  - <0><13982637979667264> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:43.496  [http-nio-8088-exec-7] INFO  - <0><13982637979667264> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:08:48.562  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 10:19:48.739  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 10:19:48.744  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 19444 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 10:19:48.746  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 10:19:50.322  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:51.081  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:52.491  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 10:19:52.646  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:52.649  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:52.649  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:52.650  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:52.650  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:52.650  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:52.650  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:52.651  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:52.651  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:52.651  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:52.761  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:53.065  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 10:19:53.066  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 10:19:53.066  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 10:19:53.130  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 10:19:53.301  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:53.301  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:53.302  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:53.302  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:53.302  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:53.302  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:53.302  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:53.303  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:53.303  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:53.303  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:53.304  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:53.304  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:53.304  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:53.305  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:19:53.385  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 10:19:53.393  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 10:19:53.393  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 10:19:53.393  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 10:19:53.394  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 10:19:53.394  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 10:19:53.394  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 10:19:53.394  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@60b82563 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 10:19:55.406  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 10:19:55.652  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 10:19:55.661  [restartedMain] INFO  - Started BenYunApplication in 7.257 seconds (JVM running for 8.291) >> com.benyun.BenYunApplication:61
+2024-01-04 10:20:14.197  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 10:20:14.212  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 10:20:14.217  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:20:14.837  [schedule-pool-1] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:20:15.215  [schedule-pool-2] INFO  - <0><13982683283131200> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 10:20:15.238  [schedule-pool-2] INFO  - <0><13982683283131200> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 10:21:22.303  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 10:22:09.692  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 10:22:09.696  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 17144 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 10:22:09.699  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 10:22:11.210  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:11.930  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:13.330  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 10:22:13.489  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:13.492  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:13.493  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:13.493  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:13.493  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:13.494  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:13.494  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:13.494  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:13.494  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:13.495  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:13.607  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:13.918  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 10:22:13.918  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 10:22:13.918  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 10:22:13.986  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 10:22:14.165  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:14.165  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:14.166  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:14.166  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:14.166  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:14.166  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:14.167  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:14.167  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:14.167  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:14.167  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:14.168  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:14.168  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:14.168  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:14.168  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:14.247  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 10:22:14.255  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 10:22:14.255  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 10:22:14.256  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 10:22:14.256  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 10:22:14.256  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 10:22:14.256  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 10:22:14.256  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@53c1a48f >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 10:22:16.268  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 10:22:16.518  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 10:22:16.527  [restartedMain] INFO  - Started BenYunApplication in 7.139 seconds (JVM running for 8.109) >> com.benyun.BenYunApplication:61
+2024-01-04 10:22:20.048  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 10:22:20.061  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 10:22:20.066  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:22:20.704  [schedule-pool-1] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:22:21.063  [schedule-pool-2] INFO  - <0><13982691531819840> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 10:22:21.088  [schedule-pool-2] INFO  - <0><13982691531819840> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 10:25:11.528  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 10:25:24.890  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 10:25:24.893  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 13584 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 10:25:24.896  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 10:25:26.405  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:27.149  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:28.511  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 10:25:28.669  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:28.672  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:28.672  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:28.673  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:28.673  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:28.673  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:28.674  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:28.674  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:28.674  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:28.675  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:28.781  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:29.079  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 10:25:29.079  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 10:25:29.079  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 10:25:29.143  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 10:25:29.313  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:29.314  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:29.314  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:29.314  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:29.314  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:29.315  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:29.315  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:29.315  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:29.315  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:29.316  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:29.316  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:29.316  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:29.317  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:29.317  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:29.397  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 10:25:29.405  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 10:25:29.405  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 10:25:29.405  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 10:25:29.406  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 10:25:29.406  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 10:25:29.406  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 10:25:29.406  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@3525f449 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 10:25:31.408  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 10:25:31.653  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 10:25:31.661  [restartedMain] INFO  - Started BenYunApplication in 7.076 seconds (JVM running for 8.028) >> com.benyun.BenYunApplication:61
+2024-01-04 10:25:35.480  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 10:25:35.494  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 10:25:35.500  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:36.064  [http-nio-8088-exec-3] INFO  - <0><13982704340437824> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:25:36.504  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 10:25:36.529  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 10:25:41.190  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:30:20.444  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 10:30:20.826  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 10:30:20.827  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 10:30:20.827  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 10:30:20.827  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 10:30:20.827  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 10:30:20.828  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 10:30:20.840  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 10:30:20.846  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 10:30:23.633  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 10:30:23.637  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 16756 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 10:30:23.640  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 10:30:25.165  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:25.911  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:27.296  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 10:30:27.453  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:27.456  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:27.456  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:27.456  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:27.457  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:27.457  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:27.457  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:27.457  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:27.458  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:27.458  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:27.567  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:27.865  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 10:30:27.866  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 10:30:27.866  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 10:30:27.931  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 10:30:28.101  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:28.101  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:28.101  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:28.102  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:28.102  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:28.102  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:28.102  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:28.102  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:28.103  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:28.103  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:28.103  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:28.104  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:28.104  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:28.104  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:28.185  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 10:30:28.193  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 10:30:28.193  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 10:30:28.193  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 10:30:28.194  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 10:30:28.194  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 10:30:28.194  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 10:30:28.194  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@5ef6d0f6 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 10:30:30.189  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 10:30:30.430  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 10:30:30.438  [restartedMain] INFO  - Started BenYunApplication in 7.107 seconds (JVM running for 8.079) >> com.benyun.BenYunApplication:61
+2024-01-04 10:30:49.616  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 10:30:49.630  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 10:30:49.636  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:30:50.260  [schedule-pool-1] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:30:50.633  [schedule-pool-2] INFO  - <0><13982724926147392> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 10:30:50.657  [schedule-pool-2] INFO  - <0><13982724926147392> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 10:41:35.371  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 10:41:35.392  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 10:41:35.699  [schedule-pool-1] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:35.806  [schedule-pool-1] INFO  - Finished invalidation session. [1] sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 10:41:35.920  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 10:41:35.920  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 10:41:35.921  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 10:41:35.921  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 10:41:35.922  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 10:41:35.922  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 10:41:35.935  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 10:41:35.939  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 10:41:39.272  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 10:41:39.279  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 14664 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 10:41:39.280  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 10:41:40.985  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:41.744  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:43.196  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 10:41:43.356  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:43.358  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:43.359  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:43.359  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:43.359  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:43.360  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:43.360  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:43.360  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:43.360  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:43.361  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:43.474  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:43.773  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 10:41:43.773  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 10:41:43.773  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 10:41:43.838  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 10:41:44.014  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:44.014  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:44.015  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:44.015  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:44.015  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:44.015  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:44.015  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:44.016  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:44.016  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:44.016  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:44.017  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:44.017  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:44.017  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:44.017  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:44.099  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 10:41:44.107  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 10:41:44.107  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 10:41:44.107  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 10:41:44.108  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 10:41:44.108  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 10:41:44.108  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 10:41:44.108  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@7df89c8a >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 10:41:46.143  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 10:41:46.392  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 10:41:46.401  [restartedMain] INFO  - Started BenYunApplication in 7.52 seconds (JVM running for 8.829) >> com.benyun.BenYunApplication:61
+2024-01-04 10:41:50.344  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 10:41:50.357  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 10:41:50.363  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:41:51.026  [schedule-pool-1] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:41:51.369  [schedule-pool-2] INFO  - <0><13982768229780288> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 10:41:51.393  [schedule-pool-2] INFO  - <0><13982768229780288> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 10:42:27.535  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 10:42:57.488  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 17016 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 10:42:57.485  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 10:42:57.491  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 10:42:58.836  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:42:59.528  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.136  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 10:43:01.293  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.295  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.295  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.296  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.296  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.296  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.297  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.297  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.297  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.297  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.395  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.660  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 10:43:01.661  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 10:43:01.661  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 10:43:01.720  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 10:43:01.871  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.872  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.872  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.872  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.872  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.872  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.872  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.873  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.873  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.873  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.874  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.874  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.874  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.874  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:01.951  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 10:43:01.959  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 10:43:01.959  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 10:43:01.959  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 10:43:01.960  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 10:43:01.960  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 10:43:01.960  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 10:43:01.960  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@2ada7c45 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 10:43:03.866  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 10:43:04.098  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 10:43:04.106  [restartedMain] INFO  - Started BenYunApplication in 6.909 seconds (JVM running for 7.791) >> com.benyun.BenYunApplication:61
+2024-01-04 10:43:06.969  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 10:43:06.982  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 10:43:06.987  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 10:43:07.619  [schedule-pool-1] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:43:07.997  [schedule-pool-2] INFO  - <0><13982773249903424> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 10:43:08.020  [schedule-pool-2] INFO  - <0><13982773249903424> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 10:43:30.111  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:06:31.728  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 15300 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 11:06:31.723  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 11:06:31.730  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 11:06:33.318  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:34.043  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:35.453  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 11:06:35.615  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:35.618  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:35.618  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:35.619  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:35.619  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:35.619  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:35.620  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:35.620  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:35.620  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:35.620  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:35.736  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:36.046  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:06:36.046  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 11:06:36.046  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 11:06:36.130  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:06:36.317  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:36.317  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:36.317  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:36.317  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:36.318  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:36.318  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:36.318  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:36.318  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:36.319  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:36.319  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:36.319  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:36.319  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:36.320  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:36.320  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:06:36.400  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 11:06:36.408  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 11:06:36.408  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 11:06:36.409  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 11:06:36.410  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 11:06:36.410  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 11:06:36.410  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 11:06:36.410  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@4b02d1a5 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 11:06:38.444  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:06:38.686  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 11:06:38.694  [restartedMain] INFO  - Started BenYunApplication in 7.297 seconds (JVM running for 8.456) >> com.benyun.BenYunApplication:61
+2024-01-04 11:07:01.701  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:07:01.717  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 11:07:01.721  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:29.027  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 11:07:29.044  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:07:29.052  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 11:07:29.448  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 11:07:29.448  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:07:29.449  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 11:07:29.449  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 11:07:29.449  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 11:07:29.450  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 11:07:29.463  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 11:07:29.474  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 11:07:33.853  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 11:07:33.858  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 18496 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 11:07:33.860  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 11:07:35.384  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:36.130  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:37.534  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 11:07:37.690  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:37.693  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:37.693  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:37.694  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:37.694  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:37.695  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:37.695  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:37.695  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:37.696  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:37.696  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:37.801  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:38.103  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:07:38.103  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 11:07:38.103  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 11:07:38.169  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:07:38.337  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:38.337  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:38.337  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:38.338  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:38.338  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:38.338  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:38.338  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:38.338  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:38.339  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:38.339  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:38.339  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:38.340  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:38.340  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:38.340  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:38.421  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 11:07:38.429  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 11:07:38.429  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 11:07:38.430  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 11:07:38.430  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 11:07:38.430  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 11:07:38.430  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 11:07:38.430  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@40803207 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 11:07:40.419  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:07:40.660  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 11:07:40.670  [restartedMain] INFO  - Started BenYunApplication in 7.125 seconds (JVM running for 8.084) >> com.benyun.BenYunApplication:61
+2024-01-04 11:07:45.482  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:07:45.497  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 11:07:45.503  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:07:46.508  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 11:07:46.533  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 11:08:40.475  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:10:19.132  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 11:10:19.136  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 17944 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 11:10:19.139  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 11:10:21.134  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:21.936  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:23.334  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 11:10:23.522  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:23.527  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:23.527  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:23.528  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:23.528  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:23.528  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:23.529  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:23.529  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:23.529  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:23.530  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:23.648  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:23.961  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:10:23.962  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 11:10:23.962  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 11:10:24.030  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:10:24.205  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:24.206  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:24.206  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:24.206  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:24.206  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:24.207  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:24.207  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:24.207  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:24.207  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:24.207  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:24.208  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:24.208  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:24.208  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:24.208  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:10:24.286  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 11:10:24.294  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 11:10:24.294  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 11:10:24.295  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 11:10:24.295  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 11:10:24.295  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 11:10:24.296  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 11:10:24.296  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@6dde2e4f >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 11:10:26.331  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:10:26.593  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 11:10:26.602  [restartedMain] INFO  - Started BenYunApplication in 7.796 seconds (JVM running for 9.165) >> com.benyun.BenYunApplication:61
+2024-01-04 11:18:20.773  [Thread-14] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:18:21.178  [Thread-14] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 11:18:21.178  [Thread-14] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:18:21.178  [Thread-14] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 11:18:21.178  [Thread-14] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 11:18:21.179  [Thread-14] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 11:18:21.194  [Thread-14] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 11:18:21.203  [Thread-14] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 11:18:21.415  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 17944 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 11:18:21.416  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 11:18:22.171  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:22.737  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:23.890  [restartedMain] INFO  - {dataSource-2} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 11:18:23.912  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:23.913  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:23.913  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:23.913  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:23.913  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:23.913  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:23.914  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:23.914  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:23.914  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:23.915  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:23.985  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:24.089  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:18:24.089  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 11:18:24.089  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 11:18:24.106  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:18:24.220  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:24.220  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:24.220  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:24.220  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:24.220  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:24.221  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:24.221  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:24.221  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:24.221  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:24.221  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:24.222  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:24.222  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:24.222  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:24.222  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:24.276  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 11:18:24.276  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 11:18:24.277  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 11:18:24.277  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 11:18:24.277  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 11:18:24.277  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 11:18:24.277  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 11:18:24.277  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@5b88d9d2 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 11:18:24.480  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 11:18:24.480  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:18:24.480  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 11:18:24.481  [restartedMain] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 11:18:24.481  [restartedMain] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 11:18:24.486  [restartedMain] INFO  - {dataSource-2} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 11:18:24.487  [restartedMain] INFO  - {dataSource-2} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 11:18:24.488  [restartedMain] INFO  - Stopping service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 11:18:26.169  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 17944 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 11:18:26.169  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 11:18:26.712  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:27.150  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.312  [restartedMain] INFO  - {dataSource-3} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 11:18:28.335  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.335  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.335  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.336  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.336  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.336  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.336  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.336  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.337  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.337  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.401  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.504  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:18:28.504  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 11:18:28.504  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 11:18:28.520  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat-1].[localhost].[/]:173
+2024-01-04 11:18:28.630  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.630  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.630  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.631  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.631  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.631  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.631  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.631  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.631  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.631  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.631  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.632  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.632  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.632  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:18:28.679  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 11:18:28.680  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 11:18:28.680  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 11:18:28.680  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 11:18:28.680  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 11:18:28.680  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 11:18:28.680  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 11:18:28.680  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@26004d85 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 11:18:29.885  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:18:30.002  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 11:18:30.005  [restartedMain] INFO  - Started BenYunApplication in 3.876 seconds (JVM running for 492.568) >> com.benyun.BenYunApplication:61
+2024-01-04 11:22:26.754  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:22:33.748  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 15480 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 11:22:33.743  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 11:22:33.751  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 11:22:35.341  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:36.110  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:37.471  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 11:22:37.629  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:37.632  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:37.633  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:37.633  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:37.633  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:37.634  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:37.634  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:37.634  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:37.635  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:37.635  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:37.742  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:38.041  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:22:38.041  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 11:22:38.041  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 11:22:38.108  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:22:38.291  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:38.291  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:38.291  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:38.292  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:38.292  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:38.292  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:38.293  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:38.293  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:38.293  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:38.293  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:38.294  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:38.294  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:38.294  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:38.294  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:38.381  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 11:22:38.389  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 11:22:38.389  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 11:22:38.390  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 11:22:38.390  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 11:22:38.390  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 11:22:38.390  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 11:22:38.391  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@7f9b1223 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 11:22:40.510  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:22:40.762  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 11:22:40.771  [restartedMain] INFO  - Started BenYunApplication in 7.364 seconds (JVM running for 8.349) >> com.benyun.BenYunApplication:61
+2024-01-04 11:22:48.271  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:22:48.286  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 11:22:48.291  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:49.297  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 11:22:49.324  [schedule-pool-1] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:22:49.395  [schedule-pool-1] INFO  - Finished invalidation session. [1] sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 11:22:59.726  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:24:36.035  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 11:24:36.040  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 9248 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 11:24:36.043  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 11:24:37.562  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:38.281  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:39.716  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 11:24:39.878  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:39.881  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:39.881  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:39.881  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:39.882  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:39.882  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:39.882  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:39.882  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:39.883  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:39.883  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:39.999  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:40.319  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:24:40.320  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 11:24:40.320  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 11:24:40.392  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:24:40.589  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:40.590  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:40.590  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:40.590  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:40.591  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:40.591  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:40.591  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:40.591  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:40.592  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:40.592  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:40.592  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:40.592  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:40.593  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:40.593  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:40.676  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 11:24:40.684  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 11:24:40.684  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 11:24:40.684  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 11:24:40.685  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 11:24:40.685  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 11:24:40.685  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 11:24:40.685  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@7d8cc99 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 11:24:42.746  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:24:42.998  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 11:24:43.006  [restartedMain] INFO  - Started BenYunApplication in 7.308 seconds (JVM running for 8.303) >> com.benyun.BenYunApplication:61
+2024-01-04 11:24:47.259  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:24:47.286  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 11:24:47.293  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:24:48.322  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 11:24:48.355  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 11:24:54.826  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:25:10.505  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 17752 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 11:25:10.501  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 11:25:10.508  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 11:25:12.014  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:12.757  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.143  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 11:25:14.302  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.305  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.306  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.306  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.307  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.307  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.307  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.307  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.308  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.308  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.419  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.725  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:25:14.726  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 11:25:14.726  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 11:25:14.790  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:25:14.963  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.963  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.963  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.963  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.964  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.964  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.964  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.964  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.965  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.965  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.965  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.965  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.966  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:14.966  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:15.046  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 11:25:15.054  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 11:25:15.054  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 11:25:15.054  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 11:25:15.055  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 11:25:15.055  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 11:25:15.055  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 11:25:15.055  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@77d9ff79 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 11:25:17.387  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:25:17.632  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 11:25:17.641  [restartedMain] INFO  - Started BenYunApplication in 7.445 seconds (JVM running for 8.405) >> com.benyun.BenYunApplication:61
+2024-01-04 11:25:33.510  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:25:33.529  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 11:25:33.535  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:25:34.543  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 11:25:34.571  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 11:26:58.440  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:28:49.730  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 11:28:49.738  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 4344 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 11:28:49.739  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 11:28:51.364  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:52.133  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:53.500  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 11:28:53.668  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:53.671  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:53.671  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:53.672  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:53.672  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:53.673  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:53.673  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:53.673  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:53.673  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:53.674  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:53.786  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:54.086  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:28:54.086  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 11:28:54.087  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 11:28:54.151  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:28:54.318  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:54.319  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:54.319  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:54.319  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:54.319  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:54.320  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:54.320  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:54.320  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:54.320  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:54.320  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:54.321  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:54.321  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:54.321  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:54.322  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:28:54.405  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 11:28:54.413  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 11:28:54.413  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 11:28:54.413  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 11:28:54.414  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 11:28:54.414  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 11:28:54.414  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 11:28:54.414  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@a159c22 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 11:28:56.411  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:28:56.649  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 11:28:56.657  [restartedMain] INFO  - Started BenYunApplication in 7.383 seconds (JVM running for 8.858) >> com.benyun.BenYunApplication:61
+2024-01-04 11:29:02.822  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:29:02.838  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 11:29:02.844  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:29:25.844  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 11:29:25.862  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:29:25.867  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 11:29:56.329  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 18072 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 11:29:56.324  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 11:29:56.332  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 11:29:57.891  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:29:58.928  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:00.363  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 11:30:00.521  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:00.523  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:00.524  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:00.525  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:00.525  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:00.525  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:00.525  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:00.526  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:00.526  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:00.526  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:00.637  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:00.936  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:30:00.937  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 11:30:00.937  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 11:30:01.002  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:30:01.180  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:01.180  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:01.180  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:01.181  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:01.181  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:01.181  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:01.181  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:01.182  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:01.182  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:01.182  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:01.182  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:01.183  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:01.183  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:01.183  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:01.263  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 11:30:01.271  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 11:30:01.271  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 11:30:01.272  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 11:30:01.272  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 11:30:01.272  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 11:30:01.272  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 11:30:01.272  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@26e674fb >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 11:30:03.290  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:30:03.541  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 11:30:03.550  [restartedMain] INFO  - Started BenYunApplication in 7.532 seconds (JVM running for 8.504) >> com.benyun.BenYunApplication:61
+2024-01-04 11:30:04.610  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:30:04.633  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 11:30:04.640  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:30:05.641  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 11:30:05.665  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 11:31:14.664  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:31:15.784  [http-nio-8088-exec-2] INFO  - <0><13982957893782336> wmsMemberIdResponseWmsCustomer(wmsCustomerId=0, wmsMemberNo=044, wmsSex=男, wmsEmail=aaa@qq.com, isDeleted=0, wmsCategory=0, wmsDayAmount=10, wmsPhone=18566666666, id=15, wmsContact=小李, wmsMemberId=44, wmsMemberName=货主小冯, wmsLevel=1, wmsAddress=xxx, updateTime=2023-12-08 14:58:09, wmsTenantId=501041, version=1, wmsEnableStatus=1, wmsUserId=1, wmsWarehouseIdList=17, wmsCompanyId=501129, wmsSys=GEEKPLUS, tenantId=000009) >> com.benyun.project.third.longxiang.service.impl.LongXiangServiceImpl:1467
+2024-01-04 11:31:16.337  [http-nio-8088-exec-2] INFO  - <0><13982957893782336> LongXiangServiceImpl.QTCK000014订单创建成功 >> com.benyun.project.third.longxiang.service.impl.LongXiangServiceImpl:1282
+2024-01-04 11:31:16.646  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 11:31:16.646  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:31:16.646  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 11:31:16.647  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 11:31:16.647  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 11:31:16.647  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 11:31:16.681  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 11:31:16.683  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 11:33:26.042  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 6260 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 11:33:26.037  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 11:33:26.044  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 11:33:27.569  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:28.332  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:29.736  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 11:33:29.894  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:29.897  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:29.897  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:29.898  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:29.898  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:29.898  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:29.899  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:29.899  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:29.899  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:29.900  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:30.007  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:30.312  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:33:30.312  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 11:33:30.312  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 11:33:30.376  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:33:30.548  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:30.548  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:30.549  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:30.549  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:30.549  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:30.549  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:30.549  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:30.550  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:30.550  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:30.550  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:30.551  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:30.551  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:30.551  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:30.552  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:30.632  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 11:33:30.640  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 11:33:30.640  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 11:33:30.641  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 11:33:30.641  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 11:33:30.642  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 11:33:30.642  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 11:33:30.642  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@57250da3 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 11:33:32.651  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:33:32.902  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 11:33:32.911  [restartedMain] INFO  - Started BenYunApplication in 7.192 seconds (JVM running for 8.167) >> com.benyun.BenYunApplication:61
+2024-01-04 11:33:34.933  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:33:34.947  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 11:33:34.952  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:33:35.957  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 11:33:35.983  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 11:35:38.240  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:35:47.353  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 11:35:47.357  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 19224 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 11:35:47.360  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 11:35:48.889  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:49.662  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.107  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 11:35:51.265  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.268  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.268  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.269  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.269  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.269  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.269  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.270  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.270  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.270  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.378  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.677  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:35:51.678  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 11:35:51.678  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 11:35:51.741  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:35:51.912  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.913  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.913  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.913  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.913  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.914  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.914  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.914  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.914  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.915  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.915  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.916  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.916  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.916  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:35:51.997  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 11:35:52.004  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 11:35:52.005  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 11:35:52.005  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 11:35:52.006  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 11:35:52.006  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 11:35:52.006  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 11:35:52.006  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@6b967c00 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 11:35:53.978  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:35:54.219  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 11:35:54.228  [restartedMain] INFO  - Started BenYunApplication in 7.183 seconds (JVM running for 8.151) >> com.benyun.BenYunApplication:61
+2024-01-04 11:36:00.491  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:36:00.507  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 11:36:00.513  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:36:51.401  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 11:36:51.419  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:36:51.427  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 11:36:51.893  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-04 11:36:51.893  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 11:36:52.038  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-04 11:36:52.039  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 11:36:52.039  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 11:36:52.109  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 11:36:52.304  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-04 11:36:52.367  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-04 11:36:57.308  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 18324 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 11:36:57.304  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 11:36:57.311  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 11:36:58.823  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:36:59.541  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:00.930  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 11:37:01.091  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.094  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.095  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.095  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.095  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.096  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.096  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.096  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.096  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.097  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.212  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.527  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:37:01.527  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 11:37:01.528  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 11:37:01.598  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:37:01.776  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.777  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.777  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.777  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.777  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.777  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.778  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.778  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.778  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.778  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.779  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.779  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.779  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.779  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:01.858  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 11:37:01.866  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 11:37:01.866  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 11:37:01.866  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 11:37:01.867  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 11:37:01.867  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 11:37:01.867  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 11:37:01.867  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@8b69193 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 11:37:03.893  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 11:37:04.141  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 11:37:04.149  [restartedMain] INFO  - Started BenYunApplication in 7.151 seconds (JVM running for 8.118) >> com.benyun.BenYunApplication:61
+2024-01-04 11:37:05.528  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 11:37:05.544  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 11:37:05.549  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 11:37:06.555  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 11:37:06.582  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 11:39:53.088  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 15:01:28.751  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 19100 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 15:01:28.747  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 15:01:28.755  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 15:01:30.322  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:31.055  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:32.443  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 15:01:32.597  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:32.600  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:32.600  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:32.601  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:32.601  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:32.601  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:32.602  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:32.602  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:32.602  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:32.602  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:32.711  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:33.011  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:01:33.012  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 15:01:33.012  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 15:01:33.074  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:01:33.246  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:33.246  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:33.247  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:33.247  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:33.247  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:33.247  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:33.247  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:33.247  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:33.248  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:33.248  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:33.248  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:33.249  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:33.249  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:33.249  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:33.333  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 15:01:33.341  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 15:01:33.341  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 15:01:33.341  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 15:01:33.342  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 15:01:33.342  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 15:01:33.342  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 15:01:33.342  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@a2419e7 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 15:01:35.360  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:01:35.608  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 15:01:35.616  [restartedMain] INFO  - Started BenYunApplication in 7.212 seconds (JVM running for 8.235) >> com.benyun.BenYunApplication:61
+2024-01-04 15:01:37.678  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:01:37.692  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 15:01:37.697  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:01:38.703  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 15:01:38.730  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 15:01:54.685  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 15:02:03.208  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 20172 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 15:02:03.204  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 15:02:03.211  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 15:02:04.709  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:05.416  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:06.806  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 15:02:06.967  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:06.970  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:06.971  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:06.971  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:06.971  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:06.972  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:06.972  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:06.972  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:06.973  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:06.973  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:07.087  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:07.411  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:02:07.411  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 15:02:07.411  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 15:02:07.478  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:02:07.668  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:07.668  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:07.669  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:07.669  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:07.669  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:07.669  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:07.669  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:07.670  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:07.670  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:07.670  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:07.671  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:07.671  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:07.671  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:07.671  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:07.748  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 15:02:07.756  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 15:02:07.756  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 15:02:07.756  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 15:02:07.757  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 15:02:07.757  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 15:02:07.757  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 15:02:07.757  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@7a12bb55 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 15:02:09.740  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:02:09.980  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 15:02:09.989  [restartedMain] INFO  - Started BenYunApplication in 7.089 seconds (JVM running for 8.035) >> com.benyun.BenYunApplication:61
+2024-01-04 15:02:14.083  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:02:14.097  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 15:02:14.103  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:02:15.103  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 15:02:15.132  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 15:04:01.973  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 15:04:13.787  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 15348 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 15:04:13.783  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 15:04:13.790  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 15:04:15.294  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:16.024  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:17.346  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 15:04:17.502  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:17.505  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:17.506  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:17.506  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:17.507  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:17.507  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:17.507  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:17.508  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:17.508  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:17.508  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:17.617  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:17.914  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:04:17.915  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 15:04:17.915  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 15:04:17.978  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:04:18.146  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:18.146  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:18.147  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:18.147  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:18.147  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:18.147  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:18.147  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:18.148  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:18.148  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:18.148  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:18.148  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:18.149  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:18.149  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:18.149  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:18.231  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 15:04:18.238  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 15:04:18.238  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 15:04:18.239  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 15:04:18.240  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 15:04:18.240  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 15:04:18.240  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 15:04:18.240  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@4e17cc40 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 15:04:20.236  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:04:20.503  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 15:04:20.512  [restartedMain] INFO  - Started BenYunApplication in 7.036 seconds (JVM running for 8.056) >> com.benyun.BenYunApplication:61
+2024-01-04 15:04:21.351  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:04:21.367  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 15:04:21.372  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:04:22.383  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 15:04:22.406  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 15:05:28.444  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 15:05:59.714  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 19112 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 15:05:59.710  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 15:05:59.717  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 15:06:01.250  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:02.000  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:03.395  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 15:06:03.561  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:03.565  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:03.565  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:03.566  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:03.566  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:03.566  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:03.566  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:03.567  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:03.567  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:03.567  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:03.675  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:03.979  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:06:03.979  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 15:06:03.980  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 15:06:04.047  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:06:04.220  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:04.220  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:04.220  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:04.221  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:04.221  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:04.221  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:04.221  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:04.221  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:04.222  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:04.222  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:04.222  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:04.222  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:04.223  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:04.223  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:04.301  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 15:06:04.309  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 15:06:04.309  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 15:06:04.310  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 15:06:04.311  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 15:06:04.311  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 15:06:04.311  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 15:06:04.311  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@663b038d >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 15:06:06.345  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:06:06.595  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 15:06:06.606  [restartedMain] INFO  - Started BenYunApplication in 7.203 seconds (JVM running for 8.191) >> com.benyun.BenYunApplication:61
+2024-01-04 15:06:06.615  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:06:06.628  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 15:06:06.634  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:06:07.639  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 15:06:07.674  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 15:06:23.013  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 15:07:37.504  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 14432 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 15:07:37.500  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 15:07:37.506  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 15:07:39.021  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:39.762  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.135  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 15:07:41.290  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.294  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.294  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.294  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.295  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.295  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.295  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.295  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.296  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.296  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.403  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.700  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:07:41.701  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 15:07:41.701  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 15:07:41.766  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:07:41.939  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.939  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.939  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.940  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.940  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.940  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.940  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.941  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.941  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.941  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.941  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.942  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.942  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:41.942  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:42.022  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 15:07:42.029  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 15:07:42.030  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 15:07:42.030  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 15:07:42.031  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 15:07:42.031  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 15:07:42.031  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 15:07:42.031  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@7f9b1223 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 15:07:44.041  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:07:44.295  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 15:07:44.304  [restartedMain] INFO  - Started BenYunApplication in 7.114 seconds (JVM running for 8.082) >> com.benyun.BenYunApplication:61
+2024-01-04 15:07:46.275  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:07:46.301  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 15:07:46.309  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:07:47.304  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 15:07:47.331  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 15:08:30.956  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 15:08:39.485  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 15:08:39.488  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 16956 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 15:08:39.492  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 15:08:41.011  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:41.751  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.144  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 15:08:43.304  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.306  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.307  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.307  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.308  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.308  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.308  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.308  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.309  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.309  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.418  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.720  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:08:43.720  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 15:08:43.720  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 15:08:43.785  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:08:43.968  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.968  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.968  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.968  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.969  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.969  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.969  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.969  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.970  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.970  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.970  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.971  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.971  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:43.971  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:44.050  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 15:08:44.058  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 15:08:44.058  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 15:08:44.059  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 15:08:44.059  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 15:08:44.059  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 15:08:44.060  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 15:08:44.060  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@7010c260 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 15:08:46.084  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:08:46.326  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 15:08:46.335  [restartedMain] INFO  - Started BenYunApplication in 7.156 seconds (JVM running for 8.109) >> com.benyun.BenYunApplication:61
+2024-01-04 15:08:51.080  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:08:51.096  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 15:08:51.102  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:08:52.102  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 15:08:52.127  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 15:09:01.428  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 15:09:10.101  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 5872 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 15:09:10.097  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 15:09:10.104  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 15:09:11.636  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:12.392  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:13.952  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 15:09:14.110  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.113  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.114  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.114  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.115  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.115  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.115  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.115  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.116  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.116  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.227  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.529  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:09:14.529  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 15:09:14.530  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 15:09:14.604  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:09:14.799  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.800  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.800  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.801  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.801  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.801  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.801  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.802  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.802  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.802  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.803  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.803  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.804  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.804  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:09:14.900  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 15:09:14.911  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 15:09:14.912  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 15:09:14.913  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 15:09:14.913  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 15:09:14.913  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 15:09:14.913  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 15:09:14.913  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@3da5a42b >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 15:09:17.162  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:09:17.419  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 15:09:17.427  [restartedMain] INFO  - Started BenYunApplication in 7.638 seconds (JVM running for 8.595) >> com.benyun.BenYunApplication:61
+2024-01-04 15:10:11.921  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:10:11.943  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 15:10:11.951  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:10:23.744  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 15:10:23.782  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 15:10:23.784  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 15:16:22.212  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 15:16:22.216  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 19768 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 15:16:22.219  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 15:16:23.759  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:24.504  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:25.906  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 15:16:26.066  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.069  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.069  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.070  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.070  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.070  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.071  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.071  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.071  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.072  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.181  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.483  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:16:26.483  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 15:16:26.483  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 15:16:26.546  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:16:26.718  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.719  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.719  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.719  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.720  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.720  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.720  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.720  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.720  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.721  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.721  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.721  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.722  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.722  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:26.805  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 15:16:26.812  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 15:16:26.813  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 15:16:26.813  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 15:16:26.814  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 15:16:26.814  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 15:16:26.814  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 15:16:26.814  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@22ba119d >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 15:16:28.840  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:16:29.090  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 15:16:29.098  [restartedMain] INFO  - Started BenYunApplication in 7.195 seconds (JVM running for 8.172) >> com.benyun.BenYunApplication:61
+2024-01-04 15:16:31.962  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:16:31.978  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 15:16:31.983  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:16:32.983  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 15:16:33.011  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 15:16:44.022  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 15:20:09.956  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 14920 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 15:20:09.952  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 15:20:09.959  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 15:20:11.477  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:12.220  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:13.634  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 15:20:13.795  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:13.798  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:13.798  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:13.799  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:13.799  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:13.800  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:13.800  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:13.800  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:13.801  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:13.801  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:13.916  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:14.242  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:20:14.242  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 15:20:14.243  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 15:20:14.309  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:20:14.495  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:14.496  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:14.496  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:14.497  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:14.497  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:14.497  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:14.498  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:14.498  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:14.498  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:14.499  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:14.500  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:14.500  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:14.500  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:14.501  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:14.638  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 15:20:14.649  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 15:20:14.650  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 15:20:14.650  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 15:20:14.651  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 15:20:14.651  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 15:20:14.651  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 15:20:14.652  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@57250da3 >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 15:20:16.903  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:20:17.144  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 15:20:17.152  [restartedMain] INFO  - Started BenYunApplication in 7.51 seconds (JVM running for 8.476) >> com.benyun.BenYunApplication:61
+2024-01-04 15:20:22.035  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:20:22.050  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 15:20:22.055  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:20:23.060  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 15:20:23.088  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 15:21:21.190  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 15:21:50.031  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 15:21:50.036  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 20364 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 15:21:50.038  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 15:21:51.808  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:52.560  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:53.972  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 15:21:54.131  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.134  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.134  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.135  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.135  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.135  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.135  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.136  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.136  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.136  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.245  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.547  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:21:54.547  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 15:21:54.547  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 15:21:54.614  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:21:54.785  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.785  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.785  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.785  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.786  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.786  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.786  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.786  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.787  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.787  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.787  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.788  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.788  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.788  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:21:54.869  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 15:21:54.877  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 15:21:54.877  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 15:21:54.877  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 15:21:54.878  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 15:21:54.878  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 15:21:54.878  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 15:21:54.878  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@7dbb322f >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 15:21:56.888  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 15:21:57.132  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 15:21:57.141  [restartedMain] INFO  - Started BenYunApplication in 7.452 seconds (JVM running for 8.444) >> com.benyun.BenYunApplication:61
+2024-01-04 15:22:21.480  [http-nio-8088-exec-2] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 15:22:21.496  [http-nio-8088-exec-2] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 15:22:21.502  [http-nio-8088-exec-2] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 15:22:35.319  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 15:22:38.119  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 15:27:12.487  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 16:50:27.731  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 16:50:27.735  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 2224 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 16:50:27.741  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 16:50:29.269  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:29.952  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:31.336  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 16:50:31.497  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:31.500  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:31.500  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:31.501  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:31.501  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:31.501  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:31.502  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:31.502  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:31.502  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:31.503  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:31.612  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:31.895  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 16:50:31.896  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 16:50:31.896  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 16:50:31.960  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 16:50:32.127  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:32.127  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:32.127  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:32.128  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:32.128  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:32.128  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:32.128  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:32.128  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:32.129  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:32.129  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:32.129  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:32.129  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:32.130  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:32.130  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:32.208  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 16:50:32.216  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 16:50:32.216  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 16:50:32.216  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 16:50:32.217  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 16:50:32.217  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 16:50:32.217  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 16:50:32.217  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@b7695fc >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 16:50:34.008  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 16:50:34.231  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 16:50:34.239  [restartedMain] INFO  - Started BenYunApplication in 6.943 seconds (JVM running for 8.168) >> com.benyun.BenYunApplication:61
+2024-01-04 16:50:40.109  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 16:50:40.122  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 16:50:40.127  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:40.454  [http-nio-8088-exec-1] INFO  - <0><13984218509806400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:41.132  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 16:50:41.157  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 16:50:43.938  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 16:50:44.039  [http-nio-8088-exec-6] INFO  - <0><13984218743311168> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:44.039  [http-nio-8088-exec-6] INFO  - <0><13984218743311168> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:44.040  [http-nio-8088-exec-6] INFO  - <0><13984218743311168> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:44.040  [http-nio-8088-exec-6] INFO  - <0><13984218743311168> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:44.040  [http-nio-8088-exec-6] INFO  - <0><13984218743311168> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:44.040  [http-nio-8088-exec-6] INFO  - <0><13984218743311168> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:50:44.040  [http-nio-8088-exec-6] INFO  - <0><13984218743311168> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 16:53:50.124  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 17:10:10.402  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 17:10:10.406  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 22440 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 17:10:10.409  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 17:10:11.763  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:12.458  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:13.838  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 17:10:13.994  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:13.996  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:13.997  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:13.997  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:13.997  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:13.998  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:13.998  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:13.998  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:13.998  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:13.999  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:14.098  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:14.368  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 17:10:14.369  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 17:10:14.369  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 17:10:14.428  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 17:10:14.580  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:14.580  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:14.581  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:14.581  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:14.581  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:14.581  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:14.581  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:14.581  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:14.581  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:14.582  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:14.582  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:14.582  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:14.582  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:14.583  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:14.662  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 17:10:14.669  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 17:10:14.670  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 17:10:14.670  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 17:10:14.671  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 17:10:14.671  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 17:10:14.671  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 17:10:14.671  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@652ecb4d >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 17:10:16.384  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 17:10:16.610  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 17:10:16.618  [restartedMain] INFO  - Started BenYunApplication in 6.512 seconds (JVM running for 7.408) >> com.benyun.BenYunApplication:61
+2024-01-04 17:10:17.853  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 17:10:17.866  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 17:10:17.871  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:18.599  [http-nio-8088-exec-2] INFO  - <0><13984295720717120> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:18.879  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 17:10:18.905  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 17:10:20.344  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 17:10:20.452  [http-nio-8088-exec-4] INFO  - <0><13984295840779072> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:20.452  [http-nio-8088-exec-4] INFO  - <0><13984295840779072> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:20.452  [http-nio-8088-exec-4] INFO  - <0><13984295840779072> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:20.453  [http-nio-8088-exec-4] INFO  - <0><13984295840779072> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:20.453  [http-nio-8088-exec-4] INFO  - <0><13984295840779072> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:20.453  [http-nio-8088-exec-4] INFO  - <0><13984295840779072> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:10:20.453  [http-nio-8088-exec-4] INFO  - <0><13984295840779072> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:12:04.703  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-04 17:31:46.697  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-04 17:31:46.700  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 20760 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-04 17:31:46.704  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-04 17:31:48.107  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:48.786  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:50.111  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-04 17:31:50.302  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:50.306  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:50.307  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:50.308  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:50.308  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:50.308  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:50.309  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:50.309  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:50.309  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:50.310  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:50.486  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:50.928  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 17:31:50.928  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-04 17:31:50.928  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-04 17:31:51.001  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 17:31:51.170  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:51.171  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:51.171  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:51.171  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:51.171  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:51.171  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:51.171  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:51.172  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:51.172  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:51.172  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:51.172  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:51.173  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:51.173  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:51.173  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:51.251  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-04 17:31:51.260  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-04 17:31:51.260  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-04 17:31:51.261  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-04 17:31:51.261  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-04 17:31:51.261  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-04 17:31:51.261  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-04 17:31:51.262  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@7ac9bd2b >> org.quartz.core.QuartzScheduler:2293
+2024-01-04 17:31:52.970  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-04 17:31:53.194  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-04 17:31:53.202  [restartedMain] INFO  - Started BenYunApplication in 6.801 seconds (JVM running for 7.689) >> com.benyun.BenYunApplication:61
+2024-01-04 17:31:54.277  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-04 17:31:54.289  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-04 17:31:54.295  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:54.799  [http-nio-8088-exec-2] INFO  - <0><13984380668545856> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:55.296  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-04 17:31:55.317  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-04 17:31:56.101  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 17:31:56.195  [http-nio-8088-exec-4] INFO  - <0><13984380758526784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:56.195  [http-nio-8088-exec-4] INFO  - <0><13984380758526784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:56.195  [http-nio-8088-exec-4] INFO  - <0><13984380758526784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:56.195  [http-nio-8088-exec-4] INFO  - <0><13984380758526784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:56.195  [http-nio-8088-exec-4] INFO  - <0><13984380758526784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:56.195  [http-nio-8088-exec-4] INFO  - <0><13984380758526784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:31:56.196  [http-nio-8088-exec-4] INFO  - <0><13984380758526784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-04 17:32:01.539  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+

File diff suppressed because it is too large
+ 726 - 0
logs/benyun/sys-info.2024-01-05.log


+ 212 - 0
logs/benyun/sys-info.2024-01-09.log

@@ -0,0 +1,212 @@
+2024-01-09 11:33:27.386  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 25384 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-09 11:33:27.381  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-09 11:33:27.388  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-09 11:33:28.915  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:29.673  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.111  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-09 11:33:31.275  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.278  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.278  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.279  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.279  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.279  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.280  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.280  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.280  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.280  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.388  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.684  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-09 11:33:31.684  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-09 11:33:31.684  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-09 11:33:31.750  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-09 11:33:31.922  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.922  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.923  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.923  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.923  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.923  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.923  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.924  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.924  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.924  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.925  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.925  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.925  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:31.925  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:32.007  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-09 11:33:32.014  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-09 11:33:32.015  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-09 11:33:32.015  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-09 11:33:32.016  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-09 11:33:32.016  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-09 11:33:32.016  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-09 11:33:32.016  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@23538061 >> org.quartz.core.QuartzScheduler:2293
+2024-01-09 11:33:34.040  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-09 11:33:34.290  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-09 11:33:34.298  [restartedMain] INFO  - Started BenYunApplication in 7.225 seconds (JVM running for 8.192) >> com.benyun.BenYunApplication:61
+2024-01-09 11:33:52.061  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-09 11:33:52.075  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-09 11:33:52.392  [http-nio-8088-exec-1] INFO  - <0><14011284349455168> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:53.087  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 11:33:53.119  [schedule-pool-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:53.142  [schedule-pool-1] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:53.208  [schedule-pool-1] INFO  - Finished invalidation session. [1] sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 11:33:53.813  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-09 11:33:53.919  [http-nio-8088-exec-20] INFO  - <0><14011284448152384> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:53.919  [http-nio-8088-exec-20] INFO  - <0><14011284448152384> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:53.919  [http-nio-8088-exec-20] INFO  - <0><14011284448152384> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:53.919  [http-nio-8088-exec-20] INFO  - <0><14011284448152384> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:53.919  [http-nio-8088-exec-20] INFO  - <0><14011284448152384> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:53.919  [http-nio-8088-exec-20] INFO  - <0><14011284448152384> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:33:53.919  [http-nio-8088-exec-20] INFO  - <0><14011284448152384> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:34:08.569  [quartzScheduler_Worker-1] INFO  - LongXiangServiceImpl.XSCKD003336订单创建成功 >> com.benyun.project.third.longxiang.service.impl.LongXiangServiceImpl:1232
+2024-01-09 11:34:09.286  [quartzScheduler_Worker-1] INFO  - LongXiangServiceImpl.XSCKD003337订单创建成功 >> com.benyun.project.third.longxiang.service.impl.LongXiangServiceImpl:1232
+2024-01-09 11:34:10.084  [quartzScheduler_Worker-1] INFO  - LongXiangServiceImpl.QTCK000016订单创建成功 >> com.benyun.project.third.longxiang.service.impl.LongXiangServiceImpl:1232
+2024-01-09 11:34:10.221  [quartzScheduler_Worker-1] INFO  - 调入仓库是134628的调拨单 >> com.benyun.project.third.longxiang.service.impl.LongXiangServiceImpl:1387
+2024-01-09 11:34:10.546  [http-nio-8088-exec-10] INFO  - <0><14011285538933568> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:34:10.547  [http-nio-8088-exec-10] INFO  - <0><14011285538933568> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:34:10.552  [http-nio-8088-exec-10] INFO  - <0><14011285538933568> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 11:34:11.365  [quartzScheduler_Worker-1] INFO  - LongXiangServiceImpl.修改wms库存成功 >> com.benyun.project.third.longxiang.service.impl.LongXiangServiceImpl:1624
+2024-01-09 11:43:53.084  [schedule-pool-3] INFO  - <0><14011284437797696> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 11:43:53.380  [schedule-pool-3] INFO  - <0><14011284437797696> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 11:53:53.087  [schedule-pool-5] INFO  - <0><14011285812218688> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 11:53:53.370  [schedule-pool-5] INFO  - <0><14011285812218688> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 12:03:53.087  [schedule-pool-2] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 12:03:53.368  [schedule-pool-2] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 12:13:53.078  [schedule-pool-6] INFO  - <0><14011285914454848> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 12:13:53.317  [schedule-pool-6] INFO  - <0><14011285914454848> Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 12:13:53.372  [schedule-pool-6] INFO  - <0><14011285914454848> Finished invalidation session. [1] sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 12:23:53.092  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 12:23:53.688  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 12:33:53.090  [schedule-pool-4] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 12:33:53.373  [schedule-pool-4] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 12:43:53.080  [schedule-pool-3] INFO  - <0><14011284437797696> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 12:43:53.361  [schedule-pool-3] INFO  - <0><14011284437797696> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 12:53:53.081  [schedule-pool-7] INFO  - <0><14011284437797696> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 12:53:53.340  [schedule-pool-7] INFO  - <0><14011284437797696> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 13:03:53.087  [schedule-pool-5] INFO  - <0><14011285812218688> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 13:03:53.338  [schedule-pool-5] INFO  - <0><14011285812218688> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 13:13:53.087  [schedule-pool-8] INFO  - <0><14011285812218688> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 13:13:53.314  [schedule-pool-8] INFO  - <0><14011285812218688> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 13:23:53.086  [schedule-pool-2] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 13:23:53.350  [schedule-pool-2] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 13:33:53.087  [schedule-pool-9] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 13:33:53.379  [schedule-pool-9] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 13:43:53.089  [schedule-pool-6] INFO  - <0><14011285914454848> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 13:43:53.346  [schedule-pool-6] INFO  - <0><14011285914454848> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 13:53:53.080  [schedule-pool-10] INFO  - <0><14011285914454848> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 13:53:53.326  [schedule-pool-10] INFO  - <0><14011285914454848> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 14:03:53.077  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 14:03:53.368  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 14:13:53.089  [schedule-pool-11] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 14:13:53.371  [schedule-pool-11] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 14:23:53.090  [schedule-pool-4] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 14:23:53.356  [schedule-pool-4] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 14:33:53.079  [schedule-pool-12] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 14:33:53.333  [schedule-pool-12] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 14:43:53.091  [schedule-pool-3] INFO  - <0><14011284437797696> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 14:43:53.370  [schedule-pool-3] INFO  - <0><14011284437797696> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 14:53:53.088  [schedule-pool-13] INFO  - <0><14011284437797696> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 14:53:53.359  [schedule-pool-13] INFO  - <0><14011284437797696> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 15:03:53.085  [schedule-pool-7] INFO  - <0><14011284437797696> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 15:03:53.372  [schedule-pool-7] INFO  - <0><14011284437797696> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 15:13:53.080  [schedule-pool-14] INFO  - <0><14011284437797696> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 15:13:53.359  [schedule-pool-14] INFO  - <0><14011284437797696> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 15:23:53.083  [schedule-pool-5] INFO  - <0><14011285812218688> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 15:23:53.350  [schedule-pool-5] INFO  - <0><14011285812218688> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 15:33:53.083  [schedule-pool-15] INFO  - <0><14011285812218688> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 15:33:53.364  [schedule-pool-15] INFO  - <0><14011285812218688> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 15:43:53.090  [schedule-pool-8] INFO  - <0><14011285812218688> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 15:43:53.329  [schedule-pool-8] INFO  - <0><14011285812218688> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 15:53:53.082  [schedule-pool-16] INFO  - <0><14011285812218688> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 15:53:53.352  [schedule-pool-16] INFO  - <0><14011285812218688> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 16:03:53.085  [schedule-pool-2] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 16:03:53.416  [schedule-pool-2] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 16:13:53.083  [schedule-pool-17] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 16:13:53.358  [schedule-pool-17] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 16:23:53.089  [schedule-pool-9] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 16:23:53.322  [schedule-pool-9] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 16:33:53.085  [schedule-pool-18] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 16:33:53.337  [schedule-pool-18] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 16:43:53.080  [schedule-pool-6] INFO  - <0><14011285914454848> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 16:43:53.356  [schedule-pool-6] INFO  - <0><14011285914454848> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 16:53:53.084  [schedule-pool-19] INFO  - <0><14011285914454848> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 16:53:53.347  [schedule-pool-19] INFO  - <0><14011285914454848> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 17:03:53.083  [schedule-pool-10] INFO  - <0><14011285914454848> invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 17:03:53.343  [schedule-pool-10] INFO  - <0><14011285914454848> Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 17:09:59.732  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-09 17:10:00.308  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. >> org.quartz.core.QuartzScheduler:666
+2024-01-09 17:10:00.309  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-09 17:10:00.309  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. >> org.quartz.core.QuartzScheduler:740
+2024-01-09 17:10:00.310  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-09 17:10:00.315  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-09 17:10:00.315  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-09 17:10:00.328  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closing ... >> com.alibaba.druid.pool.DruidDataSource:2071
+2024-01-09 17:10:00.332  [SpringApplicationShutdownHook] INFO  - {dataSource-1} closed >> com.alibaba.druid.pool.DruidDataSource:2144
+2024-01-09 17:10:03.471  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 2548 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-09 17:10:03.466  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-09 17:10:03.474  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-09 17:10:05.008  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:05.737  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.068  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-09 17:10:07.230  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.233  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.234  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.234  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.235  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.235  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.235  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.235  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.235  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.235  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.348  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.662  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-09 17:10:07.663  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-09 17:10:07.663  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-09 17:10:07.733  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-09 17:10:07.908  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.908  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.908  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.909  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.909  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.909  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.909  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.909  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.909  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.910  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.910  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.910  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.911  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.911  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:07.990  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-09 17:10:07.997  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-09 17:10:07.998  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-09 17:10:07.998  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-09 17:10:07.999  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-09 17:10:07.999  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-09 17:10:07.999  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-09 17:10:07.999  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@7ed2284a >> org.quartz.core.QuartzScheduler:2293
+2024-01-09 17:10:10.024  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-09 17:10:10.275  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-09 17:10:10.284  [restartedMain] INFO  - Started BenYunApplication in 7.121 seconds (JVM running for 8.142) >> com.benyun.BenYunApplication:61
+2024-01-09 17:10:14.517  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-09 17:10:14.530  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-09 17:10:14.836  [http-nio-8088-exec-1] INFO  - <0><14012607026105152> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-09 17:10:15.544  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-09 17:10:15.573  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-09 17:15:29.919  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+

+ 514 - 0
logs/benyun/sys-info.2024-01-10.log

@@ -0,0 +1,514 @@
+2024-01-10 11:38:02.080  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-10 11:38:02.085  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 29200 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-10 11:38:02.088  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-10 11:38:03.659  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:04.404  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:05.744  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-10 11:38:05.900  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:05.903  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:05.904  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:05.904  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:05.904  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:05.905  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:05.905  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:05.905  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:05.905  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:05.906  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:06.014  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:06.317  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-10 11:38:06.317  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-10 11:38:06.317  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-10 11:38:06.380  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-10 11:38:06.550  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:06.551  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:06.551  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:06.551  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:06.551  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:06.552  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:06.552  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:06.552  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:06.552  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:06.552  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:06.553  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:06.553  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:06.553  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:06.554  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:06.634  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-10 11:38:06.642  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-10 11:38:06.642  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-10 11:38:06.642  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-10 11:38:06.643  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-10 11:38:06.643  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-10 11:38:06.643  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-10 11:38:06.643  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@5cc2ea0e >> org.quartz.core.QuartzScheduler:2293
+2024-01-10 11:38:08.667  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-10 11:38:08.911  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-10 11:38:08.920  [restartedMain] INFO  - Started BenYunApplication in 7.151 seconds (JVM running for 8.149) >> com.benyun.BenYunApplication:61
+2024-01-10 11:38:26.374  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-10 11:38:26.390  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-10 11:38:26.704  [http-nio-8088-exec-1] INFO  - <0><14016964637166400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:27.396  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-10 11:38:27.425  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-10 11:38:29.903  [http-nio-8088-exec-8] INFO  - <0><14016964843670336> Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:29.929  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-10 11:38:30.248  [http-nio-8088-exec-9] INFO  - <0><14016964868115264> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:30.248  [http-nio-8088-exec-9] INFO  - <0><14016964868115264> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:30.248  [http-nio-8088-exec-9] INFO  - <0><14016964868115264> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:30.248  [http-nio-8088-exec-9] INFO  - <0><14016964868115264> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:30.248  [http-nio-8088-exec-9] INFO  - <0><14016964868115264> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:30.248  [http-nio-8088-exec-9] INFO  - <0><14016964868115264> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:30.249  [http-nio-8088-exec-9] INFO  - <0><14016964868115264> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:53.020  [http-nio-8088-exec-77] INFO  - <0><14016966360828736> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:53.020  [http-nio-8088-exec-77] INFO  - <0><14016966360828736> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:53.020  [http-nio-8088-exec-77] INFO  - <0><14016966360828736> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:53.021  [http-nio-8088-exec-77] INFO  - <0><14016966360828736> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:53.021  [http-nio-8088-exec-77] INFO  - <0><14016966360828736> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:53.021  [http-nio-8088-exec-77] INFO  - <0><14016966360828736> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:38:53.021  [http-nio-8088-exec-77] INFO  - <0><14016966360828736> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:40:16.136  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-10 11:42:00.390  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 31628 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-10 11:42:00.386  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-10 11:42:00.393  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-10 11:42:01.919  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:02.687  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.058  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-10 11:42:04.215  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.218  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.218  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.219  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.219  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.219  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.220  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.220  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.220  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.221  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.335  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.639  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-10 11:42:04.640  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-10 11:42:04.640  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-10 11:42:04.707  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-10 11:42:04.882  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.882  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.883  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.883  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.883  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.883  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.884  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.884  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.884  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.884  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.885  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.885  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.886  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.886  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:04.966  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-10 11:42:04.974  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-10 11:42:04.974  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-10 11:42:04.974  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-10 11:42:04.975  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-10 11:42:04.975  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-10 11:42:04.975  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-10 11:42:04.975  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@434af189 >> org.quartz.core.QuartzScheduler:2293
+2024-01-10 11:42:07.116  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-10 11:42:07.368  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-10 11:42:07.376  [restartedMain] INFO  - Started BenYunApplication in 7.296 seconds (JVM running for 8.278) >> com.benyun.BenYunApplication:61
+2024-01-10 11:42:11.405  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-10 11:42:11.419  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-10 11:42:11.425  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:12.011  [http-nio-8088-exec-2] INFO  - <0><14016979402885952> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:12.426  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-10 11:42:12.452  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-10 11:42:12.898  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-10 11:42:12.988  [http-nio-8088-exec-8] INFO  - <0><14016979465734976> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:12.988  [http-nio-8088-exec-8] INFO  - <0><14016979465734976> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:12.988  [http-nio-8088-exec-8] INFO  - <0><14016979465734976> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:12.988  [http-nio-8088-exec-8] INFO  - <0><14016979465734976> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:12.988  [http-nio-8088-exec-8] INFO  - <0><14016979465734976> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:12.989  [http-nio-8088-exec-8] INFO  - <0><14016979465734976> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:42:12.989  [http-nio-8088-exec-8] INFO  - <0><14016979465734976> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:43:11.294  [http-nio-8088-exec-49] INFO  - <0><14016983286876992> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:43:11.294  [http-nio-8088-exec-49] INFO  - <0><14016983286876992> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:43:11.294  [http-nio-8088-exec-49] INFO  - <0><14016983286876992> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:43:11.295  [http-nio-8088-exec-49] INFO  - <0><14016983286876992> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:43:11.295  [http-nio-8088-exec-49] INFO  - <0><14016983286876992> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:43:11.295  [http-nio-8088-exec-49] INFO  - <0><14016983286876992> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:43:11.295  [http-nio-8088-exec-49] INFO  - <0><14016983286876992> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:43:13.541  [http-nio-8088-exec-90] INFO  - <0><14016983434267456> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:43:13.542  [http-nio-8088-exec-90] INFO  - <0><14016983434267456> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:43:13.542  [http-nio-8088-exec-90] INFO  - <0><14016983434267456> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:43:13.542  [http-nio-8088-exec-90] INFO  - <0><14016983434267456> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:43:13.542  [http-nio-8088-exec-90] INFO  - <0><14016983434267456> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:43:13.542  [http-nio-8088-exec-90] INFO  - <0><14016983434267456> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:43:13.542  [http-nio-8088-exec-90] INFO  - <0><14016983434267456> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 11:43:40.988  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-10 17:20:29.347  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-10 17:20:29.352  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 21484 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-10 17:20:29.354  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-10 17:20:30.974  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:31.770  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:33.593  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-10 17:20:33.753  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:33.756  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:33.757  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:33.757  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:33.758  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:33.758  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:33.758  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:33.758  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:33.759  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:33.759  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:33.864  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:34.165  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-10 17:20:34.166  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-10 17:20:34.166  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-10 17:20:34.234  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-10 17:20:34.409  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:34.409  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:34.410  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:34.410  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:34.410  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:34.410  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:34.410  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:34.411  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:34.411  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:34.411  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:34.412  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:34.412  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:34.412  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:34.412  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:34.492  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-10 17:20:34.500  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-10 17:20:34.500  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-10 17:20:34.501  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-10 17:20:34.501  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-10 17:20:34.501  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-10 17:20:34.502  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-10 17:20:34.502  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@283d7f7e >> org.quartz.core.QuartzScheduler:2293
+2024-01-10 17:20:36.816  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-10 17:20:37.077  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-10 17:20:37.085  [restartedMain] INFO  - Started BenYunApplication in 8.076 seconds (JVM running for 9.108) >> com.benyun.BenYunApplication:61
+2024-01-10 17:20:38.244  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-10 17:20:38.258  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-10 17:20:38.264  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:38.799  [http-nio-8088-exec-1] INFO  - <0><14018310228478784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:39.264  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-10 17:20:39.289  [schedule-pool-1] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:39.354  [schedule-pool-1] INFO  - Finished invalidation session. [1] sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-10 17:20:41.624  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-10 17:20:41.950  [http-nio-8088-exec-8] INFO  - <0><14018310433737536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:41.950  [http-nio-8088-exec-8] INFO  - <0><14018310433737536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:41.951  [http-nio-8088-exec-8] INFO  - <0><14018310433737536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:41.951  [http-nio-8088-exec-8] INFO  - <0><14018310433737536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:41.951  [http-nio-8088-exec-8] INFO  - <0><14018310433737536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:41.951  [http-nio-8088-exec-8] INFO  - <0><14018310433737536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:41.951  [http-nio-8088-exec-8] INFO  - <0><14018310433737536> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:56.189  [http-nio-8088-exec-21] INFO  - <0><14018311368018752> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:56.190  [http-nio-8088-exec-21] INFO  - <0><14018311368018752> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:20:56.195  [http-nio-8088-exec-21] INFO  - <0><14018311368018752> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:25:03.367  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-10 17:27:15.293  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-10 17:27:15.298  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 21724 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-10 17:27:15.300  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-10 17:27:16.843  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:17.603  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.042  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-10 17:27:19.207  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.211  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.212  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.212  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.212  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.213  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.213  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.213  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.213  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.214  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.333  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.740  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-10 17:27:19.741  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-10 17:27:19.741  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-10 17:27:19.809  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-10 17:27:19.985  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.986  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.986  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.986  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.986  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.986  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.987  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.987  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.987  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.987  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.988  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.988  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.988  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:19.988  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:20.066  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-10 17:27:20.075  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-10 17:27:20.075  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-10 17:27:20.075  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-10 17:27:20.076  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-10 17:27:20.076  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-10 17:27:20.076  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-10 17:27:20.076  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@7ef6d6be >> org.quartz.core.QuartzScheduler:2293
+2024-01-10 17:27:22.114  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-10 17:27:22.359  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-10 17:27:22.367  [restartedMain] INFO  - Started BenYunApplication in 7.398 seconds (JVM running for 8.498) >> com.benyun.BenYunApplication:61
+2024-01-10 17:27:32.965  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-10 17:27:32.980  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-10 17:27:32.986  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:33.588  [http-nio-8088-exec-2] INFO  - <0><14018337412090688> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:33.991  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-10 17:27:34.017  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-10 17:27:34.816  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-10 17:27:34.908  [http-nio-8088-exec-8] INFO  - <0><14018337497287488> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:34.908  [http-nio-8088-exec-8] INFO  - <0><14018337497287488> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:34.908  [http-nio-8088-exec-8] INFO  - <0><14018337497287488> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:34.909  [http-nio-8088-exec-8] INFO  - <0><14018337497287488> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:34.909  [http-nio-8088-exec-8] INFO  - <0><14018337497287488> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:34.909  [http-nio-8088-exec-8] INFO  - <0><14018337497287488> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:34.909  [http-nio-8088-exec-8] INFO  - <0><14018337497287488> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:38.878  [http-nio-8088-exec-24] INFO  - <0><14018337757727552> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:38.880  [http-nio-8088-exec-24] INFO  - <0><14018337757727552> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:27:38.889  [http-nio-8088-exec-24] INFO  - <0><14018337757727552> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:31:36.104  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-10 17:33:17.378  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-10 17:33:17.383  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 12980 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-10 17:33:17.386  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-10 17:33:18.978  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:19.754  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.132  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-10 17:33:21.293  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.296  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.296  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.297  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.297  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.297  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.298  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.298  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.298  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.298  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.414  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.724  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-10 17:33:21.724  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-10 17:33:21.724  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-10 17:33:21.790  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-10 17:33:21.967  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.967  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.968  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.968  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.968  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.968  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.968  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.969  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.969  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.969  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.970  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.970  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.970  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:21.971  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:22.053  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-10 17:33:22.062  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-10 17:33:22.062  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-10 17:33:22.062  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-10 17:33:22.063  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-10 17:33:22.063  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-10 17:33:22.063  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-10 17:33:22.063  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@578bd65b >> org.quartz.core.QuartzScheduler:2293
+2024-01-10 17:33:24.135  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-10 17:33:24.384  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-10 17:33:24.393  [restartedMain] INFO  - Started BenYunApplication in 7.337 seconds (JVM running for 8.349) >> com.benyun.BenYunApplication:61
+2024-01-10 17:33:32.396  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-10 17:33:32.419  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-10 17:33:32.427  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:33.007  [http-nio-8088-exec-2] INFO  - <0><14018360966974272> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:33.423  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-10 17:33:33.450  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-10 17:33:34.518  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-10 17:33:34.620  [http-nio-8088-exec-8] INFO  - <0><14018361071307584> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:34.620  [http-nio-8088-exec-8] INFO  - <0><14018361071307584> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:34.620  [http-nio-8088-exec-8] INFO  - <0><14018361071307584> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:34.620  [http-nio-8088-exec-8] INFO  - <0><14018361071307584> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:34.621  [http-nio-8088-exec-8] INFO  - <0><14018361071307584> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:34.621  [http-nio-8088-exec-8] INFO  - <0><14018361071307584> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:34.621  [http-nio-8088-exec-8] INFO  - <0><14018361071307584> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:37.453  [http-nio-8088-exec-24] INFO  - <0><14018361257298752> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:37.455  [http-nio-8088-exec-24] INFO  - <0><14018361257298752> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:33:37.464  [http-nio-8088-exec-24] INFO  - <0><14018361257298752> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:34:05.167  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-10 17:35:29.238  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 14168 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-10 17:35:29.234  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-10 17:35:29.241  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-10 17:35:30.793  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:31.558  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:32.923  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-10 17:35:33.083  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.085  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.086  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.086  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.087  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.087  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.087  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.087  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.087  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.088  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.202  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.525  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-10 17:35:33.525  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-10 17:35:33.525  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-10 17:35:33.593  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-10 17:35:33.768  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.768  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.768  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.769  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.769  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.769  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.769  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.770  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.770  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.770  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.770  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.771  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.771  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.771  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:33.851  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-10 17:35:33.858  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-10 17:35:33.859  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-10 17:35:33.859  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-10 17:35:33.860  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-10 17:35:33.860  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-10 17:35:33.860  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-10 17:35:33.860  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@4976757f >> org.quartz.core.QuartzScheduler:2293
+2024-01-10 17:35:35.910  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-10 17:35:36.157  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-10 17:35:36.165  [restartedMain] INFO  - Started BenYunApplication in 7.247 seconds (JVM running for 8.235) >> com.benyun.BenYunApplication:61
+2024-01-10 17:35:40.253  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-10 17:35:40.267  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-10 17:35:40.273  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:40.817  [http-nio-8088-exec-2] INFO  - <0><14018369343195968> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:41.271  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-10 17:35:41.297  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-10 17:35:42.000  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-10 17:35:42.100  [http-nio-8088-exec-8] INFO  - <0><14018369425902400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:42.100  [http-nio-8088-exec-8] INFO  - <0><14018369425902400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:42.100  [http-nio-8088-exec-8] INFO  - <0><14018369425902400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:42.101  [http-nio-8088-exec-8] INFO  - <0><14018369425902400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:42.101  [http-nio-8088-exec-8] INFO  - <0><14018369425902400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:42.101  [http-nio-8088-exec-8] INFO  - <0><14018369425902400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:42.101  [http-nio-8088-exec-8] INFO  - <0><14018369425902400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:43.629  [http-nio-8088-exec-25] INFO  - <0><14018369526172480> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:43.631  [http-nio-8088-exec-25] INFO  - <0><14018369526172480> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:35:43.640  [http-nio-8088-exec-25] INFO  - <0><14018369526172480> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:08.169  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-10 17:36:37.695  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-10 17:36:37.701  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 23716 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-10 17:36:37.703  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-10 17:36:39.272  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:40.024  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:41.368  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-10 17:36:41.530  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:41.533  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:41.533  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:41.534  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:41.534  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:41.534  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:41.535  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:41.535  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:41.535  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:41.536  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:41.656  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:41.976  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-10 17:36:41.976  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-10 17:36:41.976  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-10 17:36:42.048  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-10 17:36:42.227  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:42.228  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:42.228  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:42.228  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:42.228  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:42.229  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:42.229  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:42.229  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:42.229  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:42.229  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:42.230  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:42.230  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:42.230  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:42.230  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:42.309  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-10 17:36:42.317  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-10 17:36:42.318  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-10 17:36:42.318  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-10 17:36:42.319  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-10 17:36:42.319  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-10 17:36:42.319  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-10 17:36:42.319  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@12aba16 >> org.quartz.core.QuartzScheduler:2293
+2024-01-10 17:36:44.402  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-10 17:36:44.659  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-10 17:36:44.668  [restartedMain] INFO  - Started BenYunApplication in 7.397 seconds (JVM running for 8.478) >> com.benyun.BenYunApplication:61
+2024-01-10 17:36:46.480  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-10 17:36:46.495  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-10 17:36:46.501  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:47.034  [http-nio-8088-exec-2] INFO  - <0><14018373682727744> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:47.501  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-10 17:36:47.523  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-10 17:36:48.115  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-10 17:36:48.671  [http-nio-8088-exec-8] INFO  - <0><14018373758552896> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:48.671  [http-nio-8088-exec-8] INFO  - <0><14018373758552896> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:48.671  [http-nio-8088-exec-8] INFO  - <0><14018373758552896> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:48.671  [http-nio-8088-exec-8] INFO  - <0><14018373758552896> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:48.672  [http-nio-8088-exec-8] INFO  - <0><14018373758552896> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:48.672  [http-nio-8088-exec-8] INFO  - <0><14018373758552896> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:48.672  [http-nio-8088-exec-8] INFO  - <0><14018373758552896> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:52.475  [http-nio-8088-exec-25] INFO  - <0><14018374038129472> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:52.477  [http-nio-8088-exec-25] INFO  - <0><14018374038129472> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:36:52.486  [http-nio-8088-exec-25] INFO  - <0><14018374038129472> Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-10 17:37:17.561  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+

+ 288 - 0
logs/benyun/sys-info.log

@@ -0,0 +1,288 @@
+2024-01-11 15:50:21.625  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 15212 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-11 15:50:21.621  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-11 15:50:21.628  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-11 15:50:23.655  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:24.725  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:26.158  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-11 15:50:26.384  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:26.388  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:26.390  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:26.391  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:26.391  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:26.392  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:26.392  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:26.392  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:26.393  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:26.393  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:26.545  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:26.944  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-11 15:50:26.944  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-11 15:50:26.944  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-11 15:50:27.025  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-11 15:50:27.240  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:27.240  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:27.240  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:27.241  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:27.241  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:27.241  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:27.241  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:27.242  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:27.242  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:27.242  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:27.243  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:27.243  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:27.243  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:27.243  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:27.338  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-11 15:50:27.347  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-11 15:50:27.347  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-11 15:50:27.348  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-11 15:50:27.348  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-11 15:50:27.348  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-11 15:50:27.348  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-11 15:50:27.349  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@4ae5e236 >> org.quartz.core.QuartzScheduler:2293
+2024-01-11 15:50:29.618  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-11 15:50:29.895  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-11 15:50:29.904  [restartedMain] INFO  - Started BenYunApplication in 8.681 seconds (JVM running for 10.073) >> com.benyun.BenYunApplication:61
+2024-01-11 15:50:35.293  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-11 15:50:35.307  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-11 15:50:35.613  [http-nio-8088-exec-1] INFO  - <0><14023618435746624> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:36.320  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-11 15:50:36.350  [schedule-pool-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:36.371  [schedule-pool-1] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:36.435  [schedule-pool-1] INFO  - Finished invalidation session. [1] sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-11 15:50:37.997  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-11 15:50:38.328  [http-nio-8088-exec-8] INFO  - <0><14023618612300608> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:38.328  [http-nio-8088-exec-8] INFO  - <0><14023618612300608> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:38.328  [http-nio-8088-exec-8] INFO  - <0><14023618612300608> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:38.328  [http-nio-8088-exec-8] INFO  - <0><14023618612300608> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:38.329  [http-nio-8088-exec-8] INFO  - <0><14023618612300608> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:38.329  [http-nio-8088-exec-8] INFO  - <0><14023618612300608> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:50:38.329  [http-nio-8088-exec-8] INFO  - <0><14023618612300608> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:51:33.480  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-11 15:52:26.359  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-11 15:52:26.365  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 27956 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-11 15:52:26.366  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-11 15:52:28.252  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:29.080  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:30.511  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-11 15:52:30.666  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:30.669  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:30.669  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:30.670  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:30.670  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:30.670  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:30.670  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:30.671  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:30.671  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:30.671  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:30.781  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:31.088  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-11 15:52:31.088  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-11 15:52:31.088  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-11 15:52:31.155  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-11 15:52:31.326  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:31.327  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:31.327  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:31.327  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:31.327  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:31.328  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:31.328  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:31.328  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:31.328  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:31.329  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:31.329  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:31.329  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:31.330  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:31.330  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:31.412  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-11 15:52:31.420  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-11 15:52:31.420  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-11 15:52:31.421  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-11 15:52:31.422  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-11 15:52:31.422  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-11 15:52:31.422  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-11 15:52:31.422  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@2590b1d6 >> org.quartz.core.QuartzScheduler:2293
+2024-01-11 15:52:33.422  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-11 15:52:33.677  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-11 15:52:33.685  [restartedMain] INFO  - Started BenYunApplication in 7.661 seconds (JVM running for 8.771) >> com.benyun.BenYunApplication:61
+2024-01-11 15:52:35.798  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-11 15:52:35.813  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-11 15:52:35.819  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:36.376  [http-nio-8088-exec-2] INFO  - <0><14023626350005056> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:36.830  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-11 15:52:36.855  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-11 15:52:37.843  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-11 15:52:37.946  [http-nio-8088-exec-8] INFO  - <0><14023626451454784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:37.946  [http-nio-8088-exec-8] INFO  - <0><14023626451454784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:37.946  [http-nio-8088-exec-8] INFO  - <0><14023626451454784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:37.946  [http-nio-8088-exec-8] INFO  - <0><14023626451454784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:37.946  [http-nio-8088-exec-8] INFO  - <0><14023626451454784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:37.946  [http-nio-8088-exec-8] INFO  - <0><14023626451454784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:52:37.946  [http-nio-8088-exec-8] INFO  - <0><14023626451454784> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:53:45.440  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-11 15:57:47.290  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 3888 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-11 15:57:47.286  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-11 15:57:47.294  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-11 15:57:49.184  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:50.151  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:51.655  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-11 15:57:51.831  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:51.835  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:51.835  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:51.836  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:51.836  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:51.836  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:51.837  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:51.837  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:51.837  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:51.837  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:51.969  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:52.324  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-11 15:57:52.324  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-11 15:57:52.325  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-11 15:57:52.401  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-11 15:57:52.602  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:52.602  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:52.603  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:52.603  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:52.603  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:52.603  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:52.603  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:52.604  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:52.604  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:52.604  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:52.604  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:52.605  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:52.605  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:52.605  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:52.699  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-11 15:57:52.708  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-11 15:57:52.708  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-11 15:57:52.709  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-11 15:57:52.709  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-11 15:57:52.709  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-11 15:57:52.709  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-11 15:57:52.709  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@2df71f78 >> org.quartz.core.QuartzScheduler:2293
+2024-01-11 15:57:54.753  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-11 15:57:54.995  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-11 15:57:55.003  [restartedMain] INFO  - Started BenYunApplication in 8.059 seconds (JVM running for 9.203) >> com.benyun.BenYunApplication:61
+2024-01-11 15:57:58.777  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-11 15:57:58.791  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-11 15:57:58.796  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:59.349  [http-nio-8088-exec-2] INFO  - <0><14023647516429120> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:57:59.805  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-11 15:57:59.830  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-11 15:58:00.666  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-11 15:58:00.757  [http-nio-8088-exec-8] INFO  - <0><14023647607327552> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:58:00.757  [http-nio-8088-exec-8] INFO  - <0><14023647607327552> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:58:00.757  [http-nio-8088-exec-8] INFO  - <0><14023647607327552> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:58:00.757  [http-nio-8088-exec-8] INFO  - <0><14023647607327552> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:58:00.758  [http-nio-8088-exec-8] INFO  - <0><14023647607327552> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:58:00.758  [http-nio-8088-exec-8] INFO  - <0><14023647607327552> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:58:00.758  [http-nio-8088-exec-8] INFO  - <0><14023647607327552> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:58:52.526  [http-nio-8088-exec-51] INFO  - <0><14023651000322880> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:58:52.526  [http-nio-8088-exec-51] INFO  - <0><14023651000322880> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:58:52.526  [http-nio-8088-exec-51] INFO  - <0><14023651000322880> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:58:52.526  [http-nio-8088-exec-51] INFO  - <0><14023651000322880> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:58:52.526  [http-nio-8088-exec-51] INFO  - <0><14023651000322880> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:58:52.526  [http-nio-8088-exec-51] INFO  - <0><14023651000322880> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:58:52.527  [http-nio-8088-exec-51] INFO  - <0><14023651000322880> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:59:48.474  [http-nio-8088-exec-95] INFO  - <0><14023654666734400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:59:48.474  [http-nio-8088-exec-95] INFO  - <0><14023654666734400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:59:48.474  [http-nio-8088-exec-95] INFO  - <0><14023654666734400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:59:48.474  [http-nio-8088-exec-95] INFO  - <0><14023654666734400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:59:48.474  [http-nio-8088-exec-95] INFO  - <0><14023654666734400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:59:48.474  [http-nio-8088-exec-95] INFO  - <0><14023654666734400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 15:59:48.474  [http-nio-8088-exec-95] INFO  - <0><14023654666734400> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:01:59.292  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+2024-01-11 16:03:30.932  [background-preinit] INFO  - HV000001: Hibernate Validator 6.2.3.Final >> org.hibernate.validator.internal.util.Version:21
+2024-01-11 16:03:30.937  [restartedMain] INFO  - Starting BenYunApplication using Java 11.0.21 on SKY-20210222AMR with PID 15008 (D:\java\code\benyun-2-kingdee\target\classes started by Administrator in D:\java\code\benyun-2-kingdee) >> com.benyun.BenYunApplication:55
+2024-01-11 16:03:30.939  [restartedMain] INFO  - The following 1 profile is active: "dev" >> com.benyun.BenYunApplication:681
+2024-01-11 16:03:32.583  [restartedMain] INFO  - Using existing EHCache named [sys-authCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:33.355  [restartedMain] INFO  - Using existing EHCache named [loginRecordCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:34.782  [restartedMain] INFO  - {dataSource-1} inited >> com.alibaba.druid.pool.DruidDataSource:998
+2024-01-11 16:03:34.953  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:34.955  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:34.956  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:34.956  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:34.957  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:34.957  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:34.957  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:34.957  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:34.958  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:34.958  [restartedMain] INFO  - Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:35.085  [restartedMain] INFO  - Using existing EHCache named [sys-userCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:35.414  [restartedMain] INFO  - Initializing ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-11 16:03:35.415  [restartedMain] INFO  - Starting service [Tomcat] >> org.apache.catalina.core.StandardService:173
+2024-01-11 16:03:35.415  [restartedMain] INFO  - Starting Servlet engine: [Apache Tomcat/9.0.62] >> org.apache.catalina.core.StandardEngine:173
+2024-01-11 16:03:35.493  [restartedMain] INFO  - Initializing Spring embedded WebApplicationContext >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-11 16:03:35.684  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:35.684  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:35.684  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:35.686  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:35.686  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:35.686  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:35.686  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:35.686  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:35.687  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:35.687  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:35.688  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:35.688  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:35.688  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:35.689  [restartedMain] INFO  - Using existing EHCache named [sys-dict] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:03:35.769  [restartedMain] INFO  - Using default implementation for ThreadExecutor >> org.quartz.impl.StdSchedulerFactory:1220
+2024-01-11 16:03:35.777  [restartedMain] INFO  - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl >> org.quartz.core.SchedulerSignalerImpl:61
+2024-01-11 16:03:35.777  [restartedMain] INFO  - Quartz Scheduler v.2.3.2 created. >> org.quartz.core.QuartzScheduler:229
+2024-01-11 16:03:35.778  [restartedMain] INFO  - RAMJobStore initialized. >> org.quartz.simpl.RAMJobStore:155
+2024-01-11 16:03:35.778  [restartedMain] INFO  - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED'
+  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
+  NOT STARTED.
+  Currently in standby mode.
+  Number of jobs executed: 0
+  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
+  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
+ >> org.quartz.core.QuartzScheduler:294
+2024-01-11 16:03:35.778  [restartedMain] INFO  - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. >> org.quartz.impl.StdSchedulerFactory:1374
+2024-01-11 16:03:35.778  [restartedMain] INFO  - Quartz scheduler version: 2.3.2 >> org.quartz.impl.StdSchedulerFactory:1378
+2024-01-11 16:03:35.779  [restartedMain] INFO  - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@5d990f2 >> org.quartz.core.QuartzScheduler:2293
+2024-01-11 16:03:37.924  [restartedMain] INFO  - Starting ProtocolHandler ["http-nio-8088"] >> org.apache.coyote.http11.Http11NioProtocol:173
+2024-01-11 16:03:38.172  [restartedMain] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED started. >> org.quartz.core.QuartzScheduler:547
+2024-01-11 16:03:38.181  [restartedMain] INFO  - Started BenYunApplication in 7.623 seconds (JVM running for 8.758) >> com.benyun.BenYunApplication:61
+2024-01-11 16:04:02.441  [http-nio-8088-exec-1] INFO  - Initializing Spring DispatcherServlet 'dispatcherServlet' >> org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173
+2024-01-11 16:04:02.455  [http-nio-8088-exec-1] INFO  - Enabling session validation scheduler... >> org.apache.shiro.session.mgt.AbstractValidatingSessionManager:233
+2024-01-11 16:04:02.460  [http-nio-8088-exec-1] INFO  - Using existing EHCache named [shiro-activeSessionCache] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:04:03.026  [http-nio-8088-exec-2] INFO  - <0><14023671350299456> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:04:03.471  [schedule-pool-1] INFO  - invalidation sessions... >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:100
+2024-01-11 16:04:03.497  [schedule-pool-1] INFO  - Finished invalidation session. No sessions were stopped. >> com.benyun.framework.shiro.web.session.OnlineWebSessionManager:165
+2024-01-11 16:04:12.095  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-11 16:04:12.196  [http-nio-8088-exec-8] INFO  - <0><14023671950150464> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:04:12.196  [http-nio-8088-exec-8] INFO  - <0><14023671950150464> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:04:12.196  [http-nio-8088-exec-8] INFO  - <0><14023671950150464> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:04:12.196  [http-nio-8088-exec-8] INFO  - <0><14023671950150464> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:04:12.196  [http-nio-8088-exec-8] INFO  - <0><14023671950150464> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:04:12.196  [http-nio-8088-exec-8] INFO  - <0><14023671950150464> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:04:12.196  [http-nio-8088-exec-8] INFO  - <0><14023671950150464> Using existing EHCache named [sys-config] >> org.apache.shiro.cache.ehcache.EhCacheManager:169
+2024-01-11 16:04:45.682  [SpringApplicationShutdownHook] INFO  - Scheduler quartzScheduler_$_NON_CLUSTERED paused. >> org.quartz.core.QuartzScheduler:585
+

+ 74 - 0
logs/benyun/sys-user.2024-01-04.log

@@ -0,0 +1,74 @@
+2024-01-04 08:39:12.821  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 08:39:12.821  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 08:39:12.822  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 08:43:12.018  [Thread-14] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 08:43:12.038  [Thread-14] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 08:48:02.517  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 08:48:02.518  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 08:48:02.518  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 08:48:45.980  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 08:48:45.980  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 08:48:45.981  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 08:51:04.329  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 08:51:04.329  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 08:51:04.330  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 09:31:20.715  [restartedMain] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 09:31:20.715  [restartedMain] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 09:33:20.845  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 09:33:20.845  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 09:33:20.846  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 09:37:22.249  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 09:37:22.249  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 09:37:22.249  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 09:39:41.528  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 09:43:58.484  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 09:43:58.485  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 09:43:58.485  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 09:44:12.406  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 09:45:12.594  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 09:45:12.595  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 09:45:12.595  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 09:48:25.979  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 09:49:00.214  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 09:55:09.430  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 09:55:09.431  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 09:55:09.431  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 09:57:00.805  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 09:58:38.996  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 09:58:38.997  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 09:58:38.998  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 09:59:34.766  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:05:15.432  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 10:05:15.434  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 10:05:15.434  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 10:05:31.939  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:08:43.403  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:20:14.837  [schedule-pool-1] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:22:20.704  [schedule-pool-1] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:25:41.190  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:30:20.827  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 10:30:20.827  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 10:30:20.828  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 10:30:50.260  [schedule-pool-1] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:41:35.921  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 10:41:35.922  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 10:41:35.922  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 10:41:51.026  [schedule-pool-1] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 10:43:07.619  [schedule-pool-1] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 11:07:29.449  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 11:07:29.449  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 11:07:29.450  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 11:18:21.178  [Thread-14] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 11:18:21.179  [Thread-14] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 11:18:24.481  [restartedMain] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 11:18:24.481  [restartedMain] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 11:31:16.647  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 11:31:16.647  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 11:31:16.647  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 11:36:52.039  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-04 11:36:52.039  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-04 11:36:52.109  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+2024-01-04 16:50:43.938  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 17:10:20.344  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-04 17:31:56.101  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+

+ 5 - 0
logs/benyun/sys-user.2024-01-09.log

@@ -0,0 +1,5 @@
+2024-01-09 11:33:53.813  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-09 17:10:00.310  [SpringApplicationShutdownHook] INFO  - ====关闭会话验证任务==== >> sys-user:45
+2024-01-09 17:10:00.315  [SpringApplicationShutdownHook] INFO  - ====关闭后台任务任务线程池==== >> sys-user:62
+2024-01-09 17:10:00.315  [SpringApplicationShutdownHook] INFO  - ====关闭缓存==== >> sys-user:75
+

+ 8 - 0
logs/benyun/sys-user.2024-01-10.log

@@ -0,0 +1,8 @@
+2024-01-10 11:38:29.929  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-10 11:42:12.898  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-10 17:20:41.624  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-10 17:27:34.816  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-10 17:33:34.518  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-10 17:35:42.000  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-10 17:36:48.115  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+

+ 5 - 0
logs/benyun/sys-user.log

@@ -0,0 +1,5 @@
+2024-01-11 15:50:37.997  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-11 15:52:37.843  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-11 15:58:00.666  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+2024-01-11 16:04:12.095  [schedule-pool-2] INFO  - [127.0.0.1]内网IP[admin][Success][登录成功] >> sys-user:110
+

+ 32 - 0
src/main/java/com/benyun/BenYunApplication.java

@@ -0,0 +1,32 @@
+package com.benyun;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+
+/**
+ * 启动程序
+ *
+ * @author liugang
+ */
+@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
+@Slf4j
+public class BenYunApplication
+{
+    public static void main(String[] args)
+    {
+        // System.setProperty("spring.devtools.restart.enabled", "false");
+        SpringApplication.run(BenYunApplication.class, args);
+        log.error("88888888ba                     8b        d8                       \n" +
+                "88      \"8b                     Y8,    ,8P                        \n" +
+                "88      ,8P                      Y8,  ,8P                         \n" +
+                "88aaaaaa8P'  ,adPPYba, 8b,dPPYba, \"8aa8\" 88       88 8b,dPPYba,   \n" +
+                "88\"\"\"\"\"\"8b, a8P_____88 88P'   `\"8a `88'  88       88 88P'   `\"8a  \n" +
+                "88      `8b 8PP\"\"\"\"\"\"\" 88       88  88   88       88 88       88  \n" +
+                "88      a8P \"8b,   ,aa 88       88  88   \"8a,   ,a88 88       88  \n" +
+                "88888888P\"   `\"Ybbd8\"' 88       88  88    `\"YbbdP'Y8 88       88  \n");
+
+
+    }
+}

+ 18 - 0
src/main/java/com/benyun/BenYunServletInitializer.java

@@ -0,0 +1,18 @@
+package com.benyun;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+/**
+ * web容器中进行部署
+ *
+ * @author liugang
+ */
+public class BenYunServletInitializer extends SpringBootServletInitializer
+{
+    @Override
+    protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
+    {
+        return application.sources(BenYunApplication.class);
+    }
+}

+ 49 - 0
src/main/java/com/benyun/common/constant/CommonMap.java

@@ -0,0 +1,49 @@
+package com.benyun.common.constant;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 通用数据库映射Map数据
+ *
+ * @author liugang
+ */
+public class CommonMap
+{
+    /** 状态编码转换 */
+    public static Map<String, String> javaTypeMap = new HashMap<String, String>();
+
+    static
+    {
+        initJavaTypeMap();
+    }
+
+    /**
+     * 返回状态映射
+     */
+    public static void initJavaTypeMap()
+    {
+        javaTypeMap.put("tinyint", "Integer");
+        javaTypeMap.put("smallint", "Integer");
+        javaTypeMap.put("mediumint", "Integer");
+        javaTypeMap.put("int", "Integer");
+        javaTypeMap.put("number", "Integer");
+        javaTypeMap.put("integer", "integer");
+        javaTypeMap.put("bigint", "Long");
+        javaTypeMap.put("float", "Float");
+        javaTypeMap.put("double", "Double");
+        javaTypeMap.put("decimal", "BigDecimal");
+        javaTypeMap.put("bit", "Boolean");
+        javaTypeMap.put("char", "String");
+        javaTypeMap.put("varchar", "String");
+        javaTypeMap.put("varchar2", "String");
+        javaTypeMap.put("tinytext", "String");
+        javaTypeMap.put("text", "String");
+        javaTypeMap.put("mediumtext", "String");
+        javaTypeMap.put("longtext", "String");
+        javaTypeMap.put("time", "Date");
+        javaTypeMap.put("date", "Date");
+        javaTypeMap.put("datetime", "Date");
+        javaTypeMap.put("timestamp", "Date");
+    }
+}

+ 115 - 0
src/main/java/com/benyun/common/constant/Constants.java

@@ -0,0 +1,115 @@
+package com.benyun.common.constant;
+
+/**
+ * 通用常量信息
+ *
+ * @author liugang
+ */
+public class Constants
+{
+    /**
+     * UTF-8 字符集
+     */
+    public static final String UTF8 = "UTF-8";
+
+    /**
+     * GBK 字符集
+     */
+    public static final String GBK = "GBK";
+
+    /**
+     * http请求
+     */
+    public static final String HTTP = "http://";
+
+    /**
+     * https请求
+     */
+    public static final String HTTPS = "https://";
+
+    /**
+     * 通用成功标识
+     */
+    public static final String SUCCESS = "0";
+
+    /**
+     * 通用失败标识
+     */
+    public static final String FAIL = "1";
+
+    /**
+     * 登录成功
+     */
+    public static final String LOGIN_SUCCESS = "Success";
+
+    /**
+     * 注销
+     */
+    public static final String LOGOUT = "Logout";
+
+    /**
+     * 注册
+     */
+    public static final String REGISTER = "Register";
+
+    /**
+     * 登录失败
+     */
+    public static final String LOGIN_FAIL = "Error";
+
+    /**
+     * 系统用户授权缓存
+     */
+    public static final String SYS_AUTH_CACHE = "sys-authCache";
+
+    /**
+     * 参数管理 cache name
+     */
+    public static final String SYS_CONFIG_CACHE = "sys-config";
+
+    /**
+     * 参数管理 cache key
+     */
+    public static final String SYS_CONFIG_KEY = "sys_config:";
+
+    /**
+     * 字典管理 cache name
+     */
+    public static final String SYS_DICT_CACHE = "sys-dict";
+
+    /**
+     * 字典管理 cache key
+     */
+    public static final String SYS_DICT_KEY = "sys_dict:";
+
+    /**
+     * 资源映射路径 前缀
+     */
+    public static final String RESOURCE_PREFIX = "/profile";
+
+    /**
+     * RMI 远程方法调用
+     */
+    public static final String LOOKUP_RMI = "rmi:";
+
+    /**
+     * LDAP 远程方法调用
+     */
+    public static final String LOOKUP_LDAP = "ldap:";
+
+    /**
+     * LDAPS 远程方法调用
+     */
+    public static final String LOOKUP_LDAPS = "ldaps:";
+
+    /**
+     * 定时任务白名单配置(仅允许访问的包名,如其他需要可以自行添加)
+     */
+    public static final String[] JOB_WHITELIST_STR = { "com.benyun" };
+
+    /**
+     * 定时任务违规的字符
+     */
+    public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml",
+            "org.springframework", "com.liugang.common.utils.file" };
+}

+ 114 - 0
src/main/java/com/benyun/common/constant/GenConstants.java

@@ -0,0 +1,114 @@
+package com.benyun.common.constant;
+
+/**
+ * 代码生成通用常量
+ *
+ * @author liugang
+ */
+public class GenConstants
+{
+    /** 单表(增删改查) */
+    public static final String TPL_CRUD = "crud";
+
+    /** 树表(增删改查) */
+    public static final String TPL_TREE = "tree";
+
+    /** 主子表(增删改查) */
+    public static final String TPL_SUB = "sub";
+
+    /** 树编码字段 */
+    public static final String TREE_CODE = "treeCode";
+
+    /** 树父编码字段 */
+    public static final String TREE_PARENT_CODE = "treeParentCode";
+
+    /** 树名称字段 */
+    public static final String TREE_NAME = "treeName";
+
+    /** 上级菜单ID字段 */
+    public static final String PARENT_MENU_ID = "parentMenuId";
+
+    /** 上级菜单名称字段 */
+    public static final String PARENT_MENU_NAME = "parentMenuName";
+
+    /** 数据库字符串类型 */
+    public static final String[] COLUMNTYPE_STR = { "char", "varchar", "nvarchar", "varchar2" };
+
+    /** 数据库文本类型 */
+    public static final String[] COLUMNTYPE_TEXT = { "tinytext", "text", "mediumtext", "longtext" };
+
+    /** 数据库时间类型 */
+    public static final String[] COLUMNTYPE_TIME = { "datetime", "time", "date", "timestamp" };
+
+    /** 数据库数字类型 */
+    public static final String[] COLUMNTYPE_NUMBER = { "tinyint", "smallint", "mediumint", "int", "number", "integer",
+            "bit", "bigint", "float", "double", "decimal" };
+
+    /** 页面不需要编辑字段 */
+    public static final String[] COLUMNNAME_NOT_EDIT = { "id", "create_by", "create_time", "del_flag" };
+
+    /** 页面不需要显示的列表字段 */
+    public static final String[] COLUMNNAME_NOT_LIST = { "id", "create_by", "create_time", "del_flag", "update_by",
+            "update_time" };
+
+    /** 页面不需要查询字段 */
+    public static final String[] COLUMNNAME_NOT_QUERY = { "id", "create_by", "create_time", "del_flag", "update_by",
+            "update_time", "remark" };
+
+    /** Entity基类字段 */
+    public static final String[] BASE_ENTITY = { "createBy", "createTime", "updateBy", "updateTime", "remark" };
+
+    /** Tree基类字段 */
+    public static final String[] TREE_ENTITY = { "parentName", "parentId", "orderNum", "ancestors" };
+
+    /** 文本框 */
+    public static final String HTML_INPUT = "input";
+
+    /** 文本域 */
+    public static final String HTML_TEXTAREA = "textarea";
+
+    /** 下拉框 */
+    public static final String HTML_SELECT = "select";
+
+    /** 单选框 */
+    public static final String HTML_RADIO = "radio";
+
+    /** 复选框 */
+    public static final String HTML_CHECKBOX = "checkbox";
+
+    /** 日期控件 */
+    public static final String HTML_DATETIME = "datetime";
+
+    /** 上传控件 */
+    public static final String HTML_UPLOAD = "upload";
+
+    /** 富文本控件 */
+    public static final String HTML_SUMMERNOTE = "summernote";
+
+    /** 字符串类型 */
+    public static final String TYPE_STRING = "String";
+
+    /** 整型 */
+    public static final String TYPE_INTEGER = "Integer";
+
+    /** 长整型 */
+    public static final String TYPE_LONG = "Long";
+
+    /** 浮点型 */
+    public static final String TYPE_DOUBLE = "Double";
+
+    /** 高精度计算类型 */
+    public static final String TYPE_BIGDECIMAL = "BigDecimal";
+
+    /** 时间类型 */
+    public static final String TYPE_DATE = "Date";
+
+    /** 模糊查询 */
+    public static final String QUERY_LIKE = "LIKE";
+
+    /** 相等查询 */
+    public static final String QUERY_EQ = "EQ";
+
+    /** 需要 */
+    public static final String REQUIRE = "1";
+}

+ 27 - 0
src/main/java/com/benyun/common/constant/PermissionConstants.java

@@ -0,0 +1,27 @@
+package com.benyun.common.constant;
+
+/**
+ * 权限通用常量
+ *
+ * @author liugang
+ */
+public class PermissionConstants
+{
+    /** 新增权限 */
+    public static final String ADD_PERMISSION = "add";
+
+    /** 修改权限 */
+    public static final String EDIT_PERMISSION = "edit";
+
+    /** 删除权限 */
+    public static final String REMOVE_PERMISSION = "remove";
+
+    /** 导出权限 */
+    public static final String EXPORT_PERMISSION = "export";
+
+    /** 显示权限 */
+    public static final String VIEW_PERMISSION = "view";
+
+    /** 查询权限 */
+    public static final String LIST_PERMISSION = "list";
+}

+ 50 - 0
src/main/java/com/benyun/common/constant/ScheduleConstants.java

@@ -0,0 +1,50 @@
+package com.benyun.common.constant;
+
+/**
+ * 任务调度通用常量
+ *
+ * @author liugang
+ */
+public class ScheduleConstants
+{
+    public static final String TASK_CLASS_NAME = "TASK_CLASS_NAME";
+
+    /** 执行目标key */
+    public static final String TASK_PROPERTIES = "TASK_PROPERTIES";
+
+    /** 默认 */
+    public static final String MISFIRE_DEFAULT = "0";
+
+    /** 立即触发执行 */
+    public static final String MISFIRE_IGNORE_MISFIRES = "1";
+
+    /** 触发一次执行 */
+    public static final String MISFIRE_FIRE_AND_PROCEED = "2";
+
+    /** 不触发立即执行 */
+    public static final String MISFIRE_DO_NOTHING = "3";
+
+    public enum Status
+    {
+        /**
+         * 正常
+         */
+        NORMAL("0"),
+        /**
+         * 暂停
+         */
+        PAUSE("1");
+
+        private String value;
+
+        private Status(String value)
+        {
+            this.value = value;
+        }
+
+        public String getValue()
+        {
+            return value;
+        }
+    }
+}

+ 79 - 0
src/main/java/com/benyun/common/constant/ShiroConstants.java

@@ -0,0 +1,79 @@
+package com.benyun.common.constant;
+
+/**
+ * Shiro通用常量
+ *
+ * @author liugang
+ */
+public class ShiroConstants
+{
+    /**
+     * 当前登录的用户
+     */
+    public static final String CURRENT_USER = "currentUser";
+
+    /**
+     * 用户名字段
+     */
+    public static final String CURRENT_USERNAME = "username";
+
+    /**
+     * 锁定屏幕字段
+     */
+    public static final String LOCK_SCREEN = "lockscreen";
+
+    /**
+     * 消息key
+     */
+    public static final String MESSAGE = "message";
+
+    /**
+     * 错误key
+     */
+    public static final String ERROR = "errorMsg";
+
+    /**
+     * 编码格式
+     */
+    public static final String ENCODING = "UTF-8";
+
+    /**
+     * 当前在线会话
+     */
+    public static final String ONLINE_SESSION = "online_session";
+
+    /**
+     * 验证码key
+     */
+    public static final String CURRENT_CAPTCHA = "captcha";
+
+    /**
+     * 验证码开关
+     */
+    public static final String CURRENT_ENABLED = "captchaEnabled";
+
+    /**
+     * 验证码类型
+     */
+    public static final String CURRENT_TYPE = "captchaType";
+
+    /**
+     * 验证码
+     */
+    public static final String CURRENT_VALIDATECODE = "validateCode";
+
+    /**
+     * 验证码错误
+     */
+    public static final String CAPTCHA_ERROR = "captchaError";
+
+    /**
+     * 登录记录缓存
+     */
+    public static final String LOGINRECORDCACHE = "loginRecordCache";
+
+    /**
+     * 系统活跃用户缓存
+     */
+    public static final String SYS_USERCACHE = "sys-userCache";
+}

+ 105 - 0
src/main/java/com/benyun/common/constant/UserConstants.java

@@ -0,0 +1,105 @@
+package com.benyun.common.constant;
+
+/**
+ * 用户常量信息
+ *
+ * @author liugang
+ */
+public class UserConstants
+{
+    /** 正常状态 */
+    public static final String NORMAL = "0";
+
+    /** 异常状态 */
+    public static final String EXCEPTION = "1";
+
+    /** 用户封禁状态 */
+    public static final String USER_DISABLE = "1";
+
+    /** 角色封禁状态 */
+    public static final String ROLE_DISABLE = "1";
+
+    /** 部门正常状态 */
+    public static final String DEPT_NORMAL = "0";
+
+    /** 部门停用状态 */
+    public static final String DEPT_DISABLE = "1";
+
+    /** 字典正常状态 */
+    public static final String DICT_NORMAL = "0";
+
+    /** 是否为系统默认(是) */
+    public static final String YES = "Y";
+
+    /**
+     * 用户名长度限制
+     */
+    public static final int USERNAME_MIN_LENGTH = 2;
+    public static final int USERNAME_MAX_LENGTH = 20;
+
+    /** 登录名称是否唯一的返回结果码 */
+    public final static String USER_NAME_UNIQUE = "0";
+    public final static String USER_NAME_NOT_UNIQUE = "1";
+
+    /** 手机号码是否唯一的返回结果 */
+    public final static String USER_PHONE_UNIQUE = "0";
+    public final static String USER_PHONE_NOT_UNIQUE = "1";
+
+    /** e-mail 是否唯一的返回结果 */
+    public final static String USER_EMAIL_UNIQUE = "0";
+    public final static String USER_EMAIL_NOT_UNIQUE = "1";
+
+    /** 部门名称是否唯一的返回结果码 */
+    public final static String DEPT_NAME_UNIQUE = "0";
+    public final static String DEPT_NAME_NOT_UNIQUE = "1";
+
+    /** 角色名称是否唯一的返回结果码 */
+    public final static String ROLE_NAME_UNIQUE = "0";
+    public final static String ROLE_NAME_NOT_UNIQUE = "1";
+
+    /** 岗位名称是否唯一的返回结果码 */
+    public final static String POST_NAME_UNIQUE = "0";
+    public final static String POST_NAME_NOT_UNIQUE = "1";
+
+    /** 角色权限是否唯一的返回结果码 */
+    public final static String ROLE_KEY_UNIQUE = "0";
+    public final static String ROLE_KEY_NOT_UNIQUE = "1";
+
+    /** 岗位编码是否唯一的返回结果码 */
+    public final static String POST_CODE_UNIQUE = "0";
+    public final static String POST_CODE_NOT_UNIQUE = "1";
+
+    /** 菜单名称是否唯一的返回结果码 */
+    public final static String MENU_NAME_UNIQUE = "0";
+    public final static String MENU_NAME_NOT_UNIQUE = "1";
+
+    /** 字典类型是否唯一的返回结果码 */
+    public final static String DICT_TYPE_UNIQUE = "0";
+    public final static String DICT_TYPE_NOT_UNIQUE = "1";
+
+    /** 参数键名是否唯一的返回结果码 */
+    public final static String CONFIG_KEY_UNIQUE = "0";
+    public final static String CONFIG_KEY_NOT_UNIQUE = "1";
+
+    /**
+     * 密码长度限制
+     */
+    public static final int PASSWORD_MIN_LENGTH = 5;
+    public static final int PASSWORD_MAX_LENGTH = 20;
+
+    /**
+     * 用户类型
+     */
+    public static final String SYSTEM_USER_TYPE = "00";
+    public static final String REGISTER_USER_TYPE = "01";
+
+    /**
+     * 手机号码格式限制
+     */
+    public static final String MOBILE_PHONE_NUMBER_PATTERN = "^0{0,1}(13[0-9]|15[0-9]|14[0-9]|18[0-9])[0-9]{8}$";
+
+    /**
+     * 邮箱格式限制
+     */
+    public static final String EMAIL_PATTERN = "^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?";
+}

+ 15 - 0
src/main/java/com/benyun/common/exception/DemoModeException.java

@@ -0,0 +1,15 @@
+package com.benyun.common.exception;
+
+/**
+ * 演示模式异常
+ *
+ * @author liugang
+ */
+public class DemoModeException extends RuntimeException
+{
+    private static final long serialVersionUID = 1L;
+
+    public DemoModeException()
+    {
+    }
+}

+ 58 - 0
src/main/java/com/benyun/common/exception/GlobalException.java

@@ -0,0 +1,58 @@
+package com.benyun.common.exception;
+
+/**
+ * 全局异常
+ *
+ * @author liugang
+ */
+public class GlobalException extends RuntimeException
+{
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 错误提示
+     */
+    private String message;
+
+    /**
+     * 错误明细,内部调试错误
+     *
+     * 和 {@link CommonResult#getDetailMessage()} 一致的设计
+     */
+    private String detailMessage;
+
+    /**
+     * 空构造方法,避免反序列化问题
+     */
+    public GlobalException()
+    {
+    }
+
+    public GlobalException(String message)
+    {
+        this.message = message;
+    }
+
+    public String getDetailMessage()
+    {
+        return detailMessage;
+    }
+
+    public GlobalException setDetailMessage(String detailMessage)
+    {
+        this.detailMessage = detailMessage;
+        return this;
+    }
+
+    public String getMessage()
+    {
+        return message;
+    }
+
+    public GlobalException setMessage(String message)
+    {
+        this.message = message;
+        return this;
+    }
+}

+ 57 - 0
src/main/java/com/benyun/common/exception/ServiceException.java

@@ -0,0 +1,57 @@
+package com.benyun.common.exception;
+
+/**
+ * 业务异常
+ *
+ * @author liugang
+ */
+public final class ServiceException extends RuntimeException
+{
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 错误提示
+     */
+    private String message;
+
+    /**
+     * 错误明细,内部调试错误
+     *
+     * 和 {@link CommonResult#getDetailMessage()} 一致的设计
+     */
+    private String detailMessage;
+
+    /**
+     * 空构造方法,避免反序列化问题
+     */
+    public ServiceException()
+    {
+    }
+
+    public ServiceException(String message)
+    {
+        this.message = message;
+    }
+
+    public String getDetailMessage()
+    {
+        return detailMessage;
+    }
+
+    public ServiceException setDetailMessage(String detailMessage)
+    {
+        this.detailMessage = detailMessage;
+        return this;
+    }
+
+    public String getMessage()
+    {
+        return message;
+    }
+
+    public ServiceException setMessage(String message)
+    {
+        this.message = message;
+        return this;
+    }
+}

+ 26 - 0
src/main/java/com/benyun/common/exception/UtilException.java

@@ -0,0 +1,26 @@
+package com.benyun.common.exception;
+
+/**
+ * 工具类异常
+ *
+ * @author liugang
+ */
+public class UtilException extends RuntimeException
+{
+    private static final long serialVersionUID = 8247610319171014183L;
+
+    public UtilException(Throwable e)
+    {
+        super(e.getMessage(), e);
+    }
+
+    public UtilException(String message)
+    {
+        super(message);
+    }
+
+    public UtilException(String message, Throwable throwable)
+    {
+        super(message, throwable);
+    }
+}

+ 103 - 0
src/main/java/com/benyun/common/exception/base/BaseException.java

@@ -0,0 +1,103 @@
+package com.benyun.common.exception.base;
+
+import com.benyun.common.utils.MessageUtils;
+import com.benyun.common.utils.StringUtils;
+
+/**
+ * 基础异常
+ *
+ * @author liugang
+ */
+public class BaseException extends RuntimeException
+{
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 所属模块
+     */
+    private String module;
+
+    /**
+     * 错误码
+     */
+    private String code;
+
+    /**
+     * 错误码对应的参数
+     */
+    private Object[] args;
+
+    /**
+     * 错误消息
+     */
+    private String defaultMessage;
+
+    public BaseException(String module, String code, Object[] args, String defaultMessage)
+    {
+        this.module = module;
+        this.code = code;
+        this.args = args;
+        this.defaultMessage = defaultMessage;
+    }
+
+    public BaseException(String module, String code, Object[] args)
+    {
+        this(module, code, args, null);
+    }
+
+    public BaseException(String module, String defaultMessage)
+    {
+        this(module, null, null, defaultMessage);
+    }
+
+    public BaseException(String code, Object[] args)
+    {
+        this(null, code, args, null);
+    }
+
+    public BaseException(String defaultMessage)
+    {
+        this(null, null, null, defaultMessage);
+    }
+
+    @Override
+    public String getMessage()
+    {
+        String message = null;
+        if (!StringUtils.isEmpty(code))
+        {
+            message = MessageUtils.message(code, args);
+        }
+        if (message == null)
+        {
+            message = defaultMessage;
+        }
+        return message;
+    }
+
+    public String getModule()
+    {
+        return module;
+    }
+
+    public String getCode()
+    {
+        return code;
+    }
+
+    public Object[] getArgs()
+    {
+        return args;
+    }
+
+    public String getDefaultMessage()
+    {
+        return defaultMessage;
+    }
+
+    @Override
+    public String toString()
+    {
+        return this.getClass() + "{" + "module='" + module + '\'' + ", message='" + getMessage() + '\'' + '}';
+    }
+}

+ 19 - 0
src/main/java/com/benyun/common/exception/file/FileException.java

@@ -0,0 +1,19 @@
+package com.benyun.common.exception.file;
+
+import com.benyun.common.exception.base.BaseException;
+
+/**
+ * 文件信息异常类
+ *
+ * @author liugang
+ */
+public class FileException extends BaseException
+{
+    private static final long serialVersionUID = 1L;
+
+    public FileException(String code, Object[] args)
+    {
+        super("file", code, args, null);
+    }
+
+}

+ 16 - 0
src/main/java/com/benyun/common/exception/file/FileNameLengthLimitExceededException.java

@@ -0,0 +1,16 @@
+package com.benyun.common.exception.file;
+
+/**
+ * 文件名称超长限制异常类
+ *
+ * @author liugang
+ */
+public class FileNameLengthLimitExceededException extends FileException
+{
+    private static final long serialVersionUID = 1L;
+
+    public FileNameLengthLimitExceededException(int defaultFileNameLength)
+    {
+        super("upload.filename.exceed.length", new Object[] { defaultFileNameLength });
+    }
+}

+ 16 - 0
src/main/java/com/benyun/common/exception/file/FileSizeLimitExceededException.java

@@ -0,0 +1,16 @@
+package com.benyun.common.exception.file;
+
+/**
+ * 文件名大小限制异常类
+ *
+ * @author liugang
+ */
+public class FileSizeLimitExceededException extends FileException
+{
+    private static final long serialVersionUID = 1L;
+
+    public FileSizeLimitExceededException(long defaultMaxSize)
+    {
+        super("upload.exceed.maxSize", new Object[] { defaultMaxSize });
+    }
+}

+ 81 - 0
src/main/java/com/benyun/common/exception/file/InvalidExtensionException.java

@@ -0,0 +1,81 @@
+package com.benyun.common.exception.file;
+
+import java.util.Arrays;
+import org.apache.commons.fileupload.FileUploadException;
+
+/**
+ * 文件上传 误异常类
+ *
+ * @author liugang
+ */
+public class InvalidExtensionException extends FileUploadException
+{
+    private static final long serialVersionUID = 1L;
+
+    private String[] allowedExtension;
+    private String extension;
+    private String filename;
+
+    public InvalidExtensionException(String[] allowedExtension, String extension, String filename)
+    {
+        super("filename : [" + filename + "], extension : [" + extension + "], allowed extension : [" + Arrays.toString(allowedExtension) + "]");
+        this.allowedExtension = allowedExtension;
+        this.extension = extension;
+        this.filename = filename;
+    }
+
+    public String[] getAllowedExtension()
+    {
+        return allowedExtension;
+    }
+
+    public String getExtension()
+    {
+        return extension;
+    }
+
+    public String getFilename()
+    {
+        return filename;
+    }
+
+    public static class InvalidImageExtensionException extends InvalidExtensionException
+    {
+        private static final long serialVersionUID = 1L;
+
+        public InvalidImageExtensionException(String[] allowedExtension, String extension, String filename)
+        {
+            super(allowedExtension, extension, filename);
+        }
+    }
+
+    public static class InvalidFlashExtensionException extends InvalidExtensionException
+    {
+        private static final long serialVersionUID = 1L;
+
+        public InvalidFlashExtensionException(String[] allowedExtension, String extension, String filename)
+        {
+            super(allowedExtension, extension, filename);
+        }
+    }
+
+    public static class InvalidMediaExtensionException extends InvalidExtensionException
+    {
+        private static final long serialVersionUID = 1L;
+
+        public InvalidMediaExtensionException(String[] allowedExtension, String extension, String filename)
+        {
+            super(allowedExtension, extension, filename);
+        }
+    }
+
+    public static class InvalidVideoExtensionException extends InvalidExtensionException
+    {
+        private static final long serialVersionUID = 1L;
+
+        public InvalidVideoExtensionException(String[] allowedExtension, String extension, String filename)
+        {
+            super(allowedExtension, extension, filename);
+        }
+    }
+}

+ 34 - 0
src/main/java/com/benyun/common/exception/job/TaskException.java

@@ -0,0 +1,34 @@
+package com.benyun.common.exception.job;
+
+/**
+ * 计划策略异常
+ *
+ * @author liugang
+ */
+public class TaskException extends Exception
+{
+    private static final long serialVersionUID = 1L;
+
+    private Code code;
+
+    public TaskException(String msg, Code code)
+    {
+        this(msg, code, null);
+    }
+
+    public TaskException(String msg, Code code, Exception nestedEx)
+    {
+        super(msg, nestedEx);
+        this.code = code;
+    }
+
+    public Code getCode()
+    {
+        return code;
+    }
+
+    public enum Code
+    {
+        TASK_EXISTS, NO_TASK_EXISTS, TASK_ALREADY_STARTED, UNKNOWN, CONFIG_ERROR, TASK_NODE_NOT_AVAILABLE
+    }
+}

+ 16 - 0
src/main/java/com/benyun/common/exception/user/CaptchaException.java

@@ -0,0 +1,16 @@
+package com.benyun.common.exception.user;
+
+/**
+ * 验证码错误异常类
+ *
+ * @author liugang
+ */
+public class CaptchaException extends UserException
+{
+    private static final long serialVersionUID = 1L;
+
+    public CaptchaException()
+    {
+        super("user.jcaptcha.error", null);
+    }
+}

+ 17 - 0
src/main/java/com/benyun/common/exception/user/RoleBlockedException.java

@@ -0,0 +1,17 @@
+package com.benyun.common.exception.user;
+
+/**
+ * 角色锁定异常类
+ *
+ * @author liugang
+ */
+public class RoleBlockedException extends UserException
+{
+    private static final long serialVersionUID = 1L;
+
+    public RoleBlockedException()
+    {
+        super("role.blocked", null);
+    }
+
+}

+ 16 - 0
src/main/java/com/benyun/common/exception/user/UserBlockedException.java

@@ -0,0 +1,16 @@
+package com.benyun.common.exception.user;
+
+/**
+ * 用户锁定异常类
+ *
+ * @author liugang
+ */
+public class UserBlockedException extends UserException
+{
+    private static final long serialVersionUID = 1L;
+
+    public UserBlockedException()
+    {
+        super("user.blocked", null);
+    }
+}

+ 16 - 0
src/main/java/com/benyun/common/exception/user/UserDeleteException.java

@@ -0,0 +1,16 @@
+package com.benyun.common.exception.user;
+
+/**
+ * 用户账号已被删除
+ *
+ * @author liugang
+ */
+public class UserDeleteException extends UserException
+{
+    private static final long serialVersionUID = 1L;
+
+    public UserDeleteException()
+    {
+        super("user.password.delete", null);
+    }
+}

+ 18 - 0
src/main/java/com/benyun/common/exception/user/UserException.java

@@ -0,0 +1,18 @@
+package com.benyun.common.exception.user;
+
+import com.benyun.common.exception.base.BaseException;
+
+/**
+ * 用户信息异常类
+ *
+ * @author liugang
+ */
+public class UserException extends BaseException
+{
+    private static final long serialVersionUID = 1L;
+
+    public UserException(String code, Object[] args)
+    {
+        super("user", code, args, null);
+    }
+}

+ 16 - 0
src/main/java/com/benyun/common/exception/user/UserNotExistsException.java

@@ -0,0 +1,16 @@
+package com.benyun.common.exception.user;
+
+/**
+ * 用户不存在异常类
+ *
+ * @author liugang
+ */
+public class UserNotExistsException extends UserException
+{
+    private static final long serialVersionUID = 1L;
+
+    public UserNotExistsException()
+    {
+        super("user.not.exists", null);
+    }
+}

+ 16 - 0
src/main/java/com/benyun/common/exception/user/UserPasswordNotMatchException.java

@@ -0,0 +1,16 @@
+package com.benyun.common.exception.user;
+
+/**
+ * 用户密码不正确或不符合规范异常类
+ *
+ * @author liugang
+ */
+public class UserPasswordNotMatchException extends UserException
+{
+    private static final long serialVersionUID = 1L;
+
+    public UserPasswordNotMatchException()
+    {
+        super("user.password.not.match", null);
+    }
+}

+ 16 - 0
src/main/java/com/benyun/common/exception/user/UserPasswordRetryLimitCountException.java

@@ -0,0 +1,16 @@
+package com.benyun.common.exception.user;
+
+/**
+ * 用户错误记数异常类
+ *
+ * @author liugang
+ */
+public class UserPasswordRetryLimitCountException extends UserException
+{
+    private static final long serialVersionUID = 1L;
+
+    public UserPasswordRetryLimitCountException(int retryLimitCount)
+    {
+        super("user.password.retry.limit.count", new Object[] { retryLimitCount });
+    }
+}

+ 16 - 0
src/main/java/com/benyun/common/exception/user/UserPasswordRetryLimitExceedException.java

@@ -0,0 +1,16 @@
+package com.benyun.common.exception.user;
+
+/**
+ * 用户错误最大次数异常类
+ *
+ * @author liugang
+ */
+public class UserPasswordRetryLimitExceedException extends UserException
+{
+    private static final long serialVersionUID = 1L;
+
+    public UserPasswordRetryLimitExceedException(int retryLimitCount)
+    {
+        super("user.password.retry.limit.exceed", new Object[] { retryLimitCount });
+    }
+}

File diff suppressed because it is too large
+ 43 - 0
src/main/java/com/benyun/common/utils/AddressResolutionUtil.java


+ 54 - 0
src/main/java/com/benyun/common/utils/AddressUtils.java

@@ -0,0 +1,54 @@
+package com.benyun.common.utils;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.alibaba.fastjson.JSONObject;
+import com.benyun.common.constant.Constants;
+import com.benyun.common.utils.http.HttpUtils;
+import com.benyun.framework.config.BenYunConfig;
+
+/**
+ * 获取地址类
+ *
+ * @author liugang
+ */
+public class AddressUtils
+{
+    private static final Logger log = LoggerFactory.getLogger(AddressUtils.class);
+
+    // IP地址查询
+    public static final String IP_URL = "http://whois.pconline.com.cn/ipJson.jsp";
+
+    // 未知地址
+    public static final String UNKNOWN = "XX XX";
+
+    public static String getRealAddressByIP(String ip)
+    {
+        // 内网不查询
+        if (IpUtils.internalIp(ip))
+        {
+            return "内网IP";
+        }
+        if (BenYunConfig.isAddressEnabled())
+        {
+            try
+            {
+                String rspStr = HttpUtils.sendGet(IP_URL, "ip=" + ip + "&json=true", Constants.GBK);
+                if (StringUtils.isEmpty(rspStr))
+                {
+                    log.error("获取地理位置异常 {}", ip);
+                    return UNKNOWN;
+                }
+                JSONObject obj = JSONObject.parseObject(rspStr);
+                String region = obj.getString("pro");
+                String city = obj.getString("city");
+                return String.format("%s %s", region, city);
+            }
+            catch (Exception e)
+            {
+                log.error("获取地理位置异常 {}", e);
+            }
+        }
+        return UNKNOWN;
+    }
+}

+ 114 - 0
src/main/java/com/benyun/common/utils/Arith.java

@@ -0,0 +1,114 @@
+package com.benyun.common.utils;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+
+/**
+ * 精确的浮点数运算
+ *
+ * @author liugang
+ */
+public class Arith
+{
+
+    /** 默认除法运算精度 */
+    private static final int DEF_DIV_SCALE = 10;
+
+    /** 这个类不能实例化 */
+    private Arith()
+    {
+    }
+
+    /**
+     * 提供精确的加法运算。
+     * @param v1 被加数
+     * @param v2 加数
+     * @return 两个参数的和
+     */
+    public static double add(double v1, double v2)
+    {
+        BigDecimal b1 = new BigDecimal(Double.toString(v1));
+        BigDecimal b2 = new BigDecimal(Double.toString(v2));
+        return b1.add(b2).doubleValue();
+    }
+
+    /**
+     * 提供精确的减法运算。
+     * @param v1 被减数
+     * @param v2 减数
+     * @return 两个参数的差
+     */
+    public static double sub(double v1, double v2)
+    {
+        BigDecimal b1 = new BigDecimal(Double.toString(v1));
+        BigDecimal b2 = new BigDecimal(Double.toString(v2));
+        return b1.subtract(b2).doubleValue();
+    }
+
+    /**
+     * 提供精确的乘法运算。
+     * @param v1 被乘数
+     * @param v2 乘数
+     * @return 两个参数的积
+     */
+    public static double mul(double v1, double v2)
+    {
+        BigDecimal b1 = new BigDecimal(Double.toString(v1));
+        BigDecimal b2 = new BigDecimal(Double.toString(v2));
+        return b1.multiply(b2).doubleValue();
+    }
+
+    /**
+     * 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到
+     * 小数点以后10位,以后的数字四舍五入。
+     * @param v1 被除数
+     * @param v2 除数
+     * @return 两个参数的商
+     */
+    public static double div(double v1, double v2)
+    {
+        return div(v1, v2, DEF_DIV_SCALE);
+    }
+
+    /**
+     * 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指
+     * 定精度,以后的数字四舍五入。
+     * @param v1 被除数
+     * @param v2 除数
+     * @param scale 表示表示需要精确到小数点以后几位。
+     * @return 两个参数的商
+     */
+    public static double div(double v1, double v2, int scale)
+    {
+        if (scale < 0)
+        {
+            throw new IllegalArgumentException(
+                    "The scale must be a positive integer or zero");
+        }
+        BigDecimal b1 = new BigDecimal(Double.toString(v1));
+        BigDecimal b2 = new BigDecimal(Double.toString(v2));
+        if (b1.compareTo(BigDecimal.ZERO) == 0)
+        {
+            return BigDecimal.ZERO.doubleValue();
+        }
+        return b1.divide(b2, scale, RoundingMode.HALF_UP).doubleValue();
+    }
+
+    /**
+     * 提供精确的小数位四舍五入处理。
+     * @param v 需要四舍五入的数字
+     * @param scale 小数点后保留几位
+     * @return 四舍五入后的结果
+     */
+    public static double round(double v, int scale)
+    {
+        if (scale < 0)
+        {
+            throw new IllegalArgumentException(
+                    "The scale must be a positive integer or zero");
+        }
+        BigDecimal b = new BigDecimal(Double.toString(v));
+        BigDecimal one = BigDecimal.ONE;
+        return b.divide(one, scale, RoundingMode.HALF_UP).doubleValue();
+    }
+}

+ 197 - 0
src/main/java/com/benyun/common/utils/CacheUtils.java

@@ -0,0 +1,197 @@
+package com.benyun.common.utils;
+
+import java.util.Iterator;
+import java.util.Set;
+import org.apache.shiro.cache.Cache;
+import org.apache.shiro.cache.CacheManager;
+import org.apache.shiro.cache.ehcache.EhCacheManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.benyun.common.utils.spring.SpringUtils;
+
+/**
+ * Cache工具类
+ *
+ * @author liugang
+ */
+public class CacheUtils
+{
+    private static Logger logger = LoggerFactory.getLogger(CacheUtils.class);
+
+    private static CacheManager cacheManager = SpringUtils.getBean(CacheManager.class);
+
+    private static final String SYS_CACHE = "sys-cache";
+
+    /**
+     * 获取SYS_CACHE缓存
+     *
+     * @param key
+     * @return
+     */
+    public static Object get(String key)
+    {
+        return get(SYS_CACHE, key);
+    }
+
+    /**
+     * 获取SYS_CACHE缓存
+     *
+     * @param key
+     * @param defaultValue
+     * @return
+     */
+    public static Object get(String key, Object defaultValue)
+    {
+        Object value = get(key);
+        return value != null ? value : defaultValue;
+    }
+
+    /**
+     * 写入SYS_CACHE缓存
+     *
+     * @param key
+     * @return
+     */
+    public static void put(String key, Object value)
+    {
+        put(SYS_CACHE, key, value);
+    }
+
+    /**
+     * 从SYS_CACHE缓存中移除
+     *
+     * @param key
+     * @return
+     */
+    public static void remove(String key)
+    {
+        remove(SYS_CACHE, key);
+    }
+
+    /**
+     * 获取缓存
+     *
+     * @param cacheName
+     * @param key
+     * @return
+     */
+    public static Object get(String cacheName, String key)
+    {
+        return getCache(cacheName).get(getKey(key));
+    }
+
+    /**
+     * 获取缓存
+     *
+     * @param cacheName
+     * @param key
+     * @param defaultValue
+     * @return
+     */
+    public static Object get(String cacheName, String key, Object defaultValue)
+    {
+        Object value = get(cacheName, getKey(key));
+        return value != null ? value : defaultValue;
+    }
+
+    /**
+     * 写入缓存
+     *
+     * @param cacheName
+     * @param key
+     * @param value
+     */
+    public static void put(String cacheName, String key, Object value)
+    {
+        getCache(cacheName).put(getKey(key), value);
+    }
+
+    /**
+     * 从缓存中移除
+     *
+     * @param cacheName
+     * @param key
+     */
+    public static void remove(String cacheName, String key)
+    {
+        getCache(cacheName).remove(getKey(key));
+    }
+
+    /**
+     * 从缓存中移除所有
+     *
+     * @param cacheName
+     */
+    public static void removeAll(String cacheName)
+    {
+        Cache<String, Object> cache = getCache(cacheName);
+        Set<String> keys = cache.keys();
+        for (Iterator<String> it = keys.iterator(); it.hasNext();)
+        {
+            cache.remove(it.next());
+        }
+        logger.info("清理缓存: {} => {}", cacheName, keys);
+    }
+
+    /**
+     * 从缓存中移除指定key
+     *
+     * @param keys
+     */
+    public static void removeByKeys(Set<String> keys)
+    {
+        removeByKeys(SYS_CACHE, keys);
+    }
+
+    /**
+     * 从缓存中移除指定key
+     *
+     * @param cacheName
+     * @param keys
+     */
+    public static void removeByKeys(String cacheName, Set<String> keys)
+    {
+        for (Iterator<String> it = keys.iterator(); it.hasNext();)
+        {
+            remove(it.next());
+        }
+        logger.info("清理缓存: {} => {}", cacheName, keys);
+    }
+
+    /**
+     * 获取缓存键名
+     *
+     * @param key
+     * @return
+     */
+    private static String getKey(String key)
+    {
+        return key;
+    }
+
+    /**
+     * 获得一个Cache,没有则显示日志。
+     *
+     * @param cacheName
+     * @return
+     */
+    public static Cache<String, Object> getCache(String cacheName)
+    {
+        Cache<String, Object> cache = cacheManager.getCache(cacheName);
+        if (cache == null)
+        {
+            throw new RuntimeException("当前系统中没有定义“" + cacheName + "”这个缓存。");
+        }
+        return cache;
+    }
+
+    /**
+     * 获取所有缓存
+     *
+     * @return 缓存组
+     */
+    public static String[] getCacheNames()
+    {
+        return ((EhCacheManager) cacheManager).getCacheManager().getCacheNames();
+    }
+}

+ 138 - 0
src/main/java/com/benyun/common/utils/CookieUtils.java

@@ -0,0 +1,138 @@
+package com.benyun.common.utils;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * Cookie工具类
+ *
+ * @author liugang
+ */
+public class CookieUtils
+{
+    /**
+     * 设置 Cookie(生成时间为1天)
+     *
+     * @param name 名称
+     * @param value 值
+     */
+    public static void setCookie(HttpServletResponse response, String name, String value)
+    {
+        setCookie(response, name, value, 60 * 60 * 24);
+    }
+
+    /**
+     * 设置 Cookie
+     *
+     * @param name 名称
+     * @param value 值
+     * @param maxAge 生存时间(单位秒)
+     * @param uri 路径
+     */
+    public static void setCookie(HttpServletResponse response, String name, String value, String path)
+    {
+        setCookie(response, name, value, path, 60 * 60 * 24);
+    }
+
+    /**
+     * 设置 Cookie
+     *
+     * @param name 名称
+     * @param value 值
+     * @param maxAge 生存时间(单位秒)
+     * @param uri 路径
+     */
+    public static void setCookie(HttpServletResponse response, String name, String value, int maxAge)
+    {
+        setCookie(response, name, value, "/", maxAge);
+    }
+
+    /**
+     * 设置 Cookie
+     *
+     * @param name 名称
+     * @param value 值
+     * @param maxAge 生存时间(单位秒)
+     * @param uri 路径
+     */
+    public static void setCookie(HttpServletResponse response, String name, String value, String path, int maxAge)
+    {
+        Cookie cookie = new Cookie(name, null);
+        cookie.setPath(path);
+        cookie.setMaxAge(maxAge);
+        try
+        {
+            cookie.setValue(URLEncoder.encode(value, "utf-8"));
+        }
+        catch (UnsupportedEncodingException e)
+        {
+            e.printStackTrace();
+        }
+        response.addCookie(cookie);
+    }
+
+    /**
+     * 获得指定Cookie的值
+     *
+     * @param name 名称
+     * @return 值
+     */
+    public static String getCookie(HttpServletRequest request, String name)
+    {
+        return getCookie(request, null, name, false);
+    }
+
+    /**
+     * 获得指定Cookie的值,并删除。
+     *
+     * @param name 名称
+     * @return 值
+     */
+    public static String getCookie(HttpServletRequest request, HttpServletResponse response, String name)
+    {
+        return getCookie(request, response, name, true);
+    }
+
+    /**
+     * 获得指定Cookie的值
+     *
+     * @param request 请求对象
+     * @param response 响应对象
+     * @param name 名字
+     * @param isRemove 是否移除
+     * @return 值
+     */
+    public static String getCookie(HttpServletRequest request, HttpServletResponse response, String name,
+            boolean isRemove)
+    {
+        String value = null;
+        Cookie[] cookies = request.getCookies();
+        if (cookies != null)
+        {
+            for (Cookie cookie : cookies)
+            {
+                if (cookie.getName().equals(name))
+                {
+                    try
+                    {
+                        value = URLDecoder.decode(cookie.getValue(), "utf-8");
+                    }
+                    catch (UnsupportedEncodingException e)
+                    {
+                        e.printStackTrace();
+                    }
+                    if (isRemove)
+                    {
+                        cookie.setMaxAge(0);
+                        response.addCookie(cookie);
+                    }
+                }
+            }
+        }
+        return value;
+    }
+}

+ 84 - 0
src/main/java/com/benyun/common/utils/DButil.java

@@ -0,0 +1,84 @@
+package com.benyun.common.utils;
+
+import lombok.extern.slf4j.Slf4j;
+
+import java.io.File;
+import java.sql.*;
+
+@Slf4j
+public class DButil {
+
+
+    public static Connection ConnectAccessFile(String dbpath) throws Exception{
+
+        File dbFile = new File(dbpath);
+
+        if(!dbFile.exists()){
+
+            log.error("db数据库文件不存在,请确认路径是否正确:{}", dbpath);
+
+            return null;
+
+        }else{
+
+            log.info("读取数据库文件,路径:{}", dbpath);
+
+        }
+
+        Connection conn = null;
+
+        Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");//这个驱动的地址不要改
+
+        String dbur1 = "jdbc:ucanaccess:///"+dbpath;
+
+        conn = DriverManager.getConnection(dbur1, "","");
+
+        log.info("数据库驱动OK");
+
+        return conn;
+
+    }
+
+    public static void close(Connection con) {
+
+        try {
+
+            if(con!=null) con.close();
+
+        } catch (SQLException e) {
+
+            e.printStackTrace();
+
+        }
+
+    }
+
+    public static void close(PreparedStatement ps) {
+
+        try {
+
+            if(ps!=null) ps.close();
+
+        } catch (SQLException e) {
+
+            e.printStackTrace();
+
+        }
+
+    }
+
+    public static void close(ResultSet rs) {
+
+        try {
+
+            if(rs!=null) rs.close();
+
+        } catch (SQLException e) {
+
+            e.printStackTrace();
+
+        }
+
+    }
+
+}

+ 699 - 0
src/main/java/com/benyun/common/utils/DateUtils.java

@@ -0,0 +1,699 @@
+package com.benyun.common.utils;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.DateFormatUtils;
+
+import java.lang.management.ManagementFactory;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.*;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.TimeZone;
+
+/**
+ * 时间工具类
+ *
+ * @author haitang
+ */
+@Slf4j
+public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
+
+    private static final String SYS = "DateUtils.";
+
+    public static String YYYY = "yyyy";
+
+    public static String YYYY_MM = "yyyy-MM";
+
+    public static String YYYY_MM_DD = "yyyy-MM-dd";
+
+    public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
+
+    public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
+
+    private static String[] parsePatterns = {
+            "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM",
+            "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",
+            "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};
+
+
+    /**
+     * Format:yyyyMMdd
+     */
+    public static final String DATESTOREFORMAT = "yyyyMMdd";
+
+    /**
+     * Format:MMdd
+     */
+    public static final String DATEMDSTOREFORMAT = "MMdd";
+
+    /**
+     * Format:HH:mm:ss
+     */
+    public static final String TIMESHOWFORMAT = "HH:mm:ss";
+
+    /**
+     * FormatHHmmss
+     */
+    public static final String TIMESTOREFORMAT = "HHmmss";
+
+
+    /**
+     * 获取当前Date型日期
+     *
+     * @return Date() 当前日期
+     */
+    public static Date getNowDate() {
+        return new Date();
+    }
+
+    /**
+     * 获取当前日期, 默认格式为yyyy-MM-dd
+     *
+     * @return String
+     */
+    public static String getDate() {
+        return dateTimeNow(YYYY_MM_DD);
+    }
+   /**
+     * 获取当前日期, 传入格式
+     *
+     * @return String
+     */
+    public static String getDateFormat(String format) {
+        return dateTimeNow(format);
+    }
+
+    public static final String getTime() {
+        return dateTimeNow(YYYY_MM_DD_HH_MM_SS);
+    }
+
+    public static final String dateTimeNow() {
+        return dateTimeNow(YYYYMMDDHHMMSS);
+    }
+
+    public static final String dateTimeNow(final String format) {
+        return parseDateToStr(format, new Date());
+    }
+
+    public static final String dateTime(final Date date) {
+        return parseDateToStr(YYYY_MM_DD, date);
+    }
+
+    public static final String parseDateToStr(final String format, final Date date) {
+        return new SimpleDateFormat(format).format(date);
+    }
+
+    public static final Date dateTime(final String format, final String ts) {
+        try {
+            return new SimpleDateFormat(format).parse(ts);
+        } catch (ParseException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    /**
+     * 将时间对象转换成指定的格式有小时
+     *
+     * @param date
+     * @return
+     */
+    public static String parseDateTime(Date date) {
+        if (date == null) {
+            return "";
+        }
+        SimpleDateFormat bartDateFormat = new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS);
+        return bartDateFormat.format(date);
+    }
+
+    /**
+     * 日期路径 即年/月/日 如2018/08/08
+     */
+    public static final String datePath() {
+        Date now = new Date();
+        return DateFormatUtils.format(now, "yyyy/MM/dd");
+    }
+
+    /**
+     * 日期路径 即年/月/日 如20180808
+     */
+    public static final String dateTime() {
+        Date now = new Date();
+        return DateFormatUtils.format(now, "yyyyMMdd");
+    }
+
+    /**
+     * 日期型字符串转化为日期 格式
+     */
+    public static Date parseDate(Object str) {
+        if (str == null) {
+            return null;
+        }
+        try {
+            return parseDate(str.toString(), parsePatterns);
+        } catch (ParseException e) {
+            return null;
+        }
+    }
+
+    /**
+     * 获取服务器启动时间
+     */
+    public static Date getServerStartDate() {
+        long time = ManagementFactory.getRuntimeMXBean().getStartTime();
+        return new Date(time);
+    }
+
+    /**
+     * 计算两个时间差
+     */
+    public static String getDatePoor(Date endDate, Date nowDate) {
+        long nd = 1000 * 24 * 60 * 60;
+        long nh = 1000 * 60 * 60;
+        long nm = 1000 * 60;
+        // long ns = 1000;
+        // 获得两个时间的毫秒时间差异
+        long diff = endDate.getTime() - nowDate.getTime();
+        // 计算差多少天
+        long day = diff / nd;
+        // 计算差多少小时
+        long hour = diff % nd / nh;
+        // 计算差多少分钟
+        long min = diff % nd % nh / nm;
+        // 计算差多少秒//输出结果
+        // long sec = diff % nd % nh % nm / ns;
+        return day + "天" + hour + "小时" + min + "分钟";
+    }
+
+    /**
+     * 日期格式字符串转换成时间戳
+     *
+     * @param date_str 字符串日期
+     * @param format   如:yyyy-MM-dd HH:mm:ss
+     * @return
+     */
+    public static String date2TimeStamp(String date_str, String format) {
+        try {
+            SimpleDateFormat sdf = new SimpleDateFormat(format);
+            return String.valueOf(sdf.parse(date_str).getTime() / 1000);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return "";
+    }
+
+
+    /**
+     * 8      * 时间戳转换成日期格式字符串
+     * 9      * @param seconds 精确到秒的字符串
+     * 10
+     */
+    public static String timeStampToDate(String seconds, String format) {
+        if (seconds == null || seconds.isEmpty() || seconds.equals("null")) {
+            return "";
+        }
+        if (format == null || format.isEmpty()) {
+            format = "yyyy-MM-dd HH:mm:ss";
+        }
+        SimpleDateFormat sdf = new SimpleDateFormat(format);
+        return sdf.format(new Date(Long.valueOf(seconds + "000")));
+    }
+
+
+    /**
+     * 两个时间字符串之间的差异
+     *
+     * @param startTime
+     * @param endTime
+     * @param format
+     * @return
+     * @throws Exception
+     */
+    public static String dateDiff(String startTime, String endTime, String format) throws Exception {
+        SimpleDateFormat sd = new SimpleDateFormat(format);
+        long nd = 1000 * 24 * 60 * 60;//一天的毫秒数
+        long nh = 1000 * 60 * 60;//一小时的毫秒数
+        long nm = 1000 * 60;//一分钟的毫秒数
+        long ns = 1000;//一秒钟的毫秒数
+        long diff;
+        //计算两个时间的毫秒时间差异
+        diff = sd.parse(endTime).getTime() - sd.parse(startTime).getTime();
+        long day = diff / nd;
+        long hour = diff % nd / nh;
+        long min = diff % nd % nh / nm;
+        long sec = diff % nd % nh % nm / ns;
+
+        if (0 == day && 0 == hour && 0 != min) {
+            return min + "分钟" + sec + "秒";
+        }
+
+        return day + "天" + hour + "小时" + min + "分钟" + sec + "秒";
+    }
+
+
+    /**
+     * 增加 LocalDateTime ==> Date
+     */
+    public static Date toDate(LocalDateTime temporalAccessor) {
+        ZonedDateTime zdt = temporalAccessor.atZone(ZoneId.systemDefault());
+        return Date.from(zdt.toInstant());
+    }
+
+
+    /**
+     * 增加 LocalDate ==> Date
+     */
+    public static Date toDate(LocalDate temporalAccessor) {
+        LocalDateTime localDateTime = LocalDateTime.of(temporalAccessor, LocalTime.of(0, 0, 0));
+        ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
+        return Date.from(zdt.toInstant());
+    }
+
+    /**
+     * 计算相差天数
+     */
+    public static int differentDaysByMillisecond(Date date1, Date date2) {
+        return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)));
+    }
+
+
+    /**
+     * 获取当前时间
+     *
+     * @param args
+     */
+    public static String getNowTime() {
+        Calendar cal = Calendar.getInstance();
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
+        String lastMonth = dft.format(cal.getTime());
+        return lastMonth;
+    }
+
+    /**
+     * 判断当天是否为本月第一天
+     *
+     * @return
+     */
+    public static boolean isFirstDayOfMonth() {
+        boolean flag = false;
+        Calendar calendar = Calendar.getInstance();
+        int today = calendar.get(Calendar.DAY_OF_MONTH);
+        if (1 == today) {
+            flag = true;
+        }
+        return flag;
+    }
+
+    /**
+     * 获取当前月份最后一天
+     *
+     * @param date
+     * @return
+     * @throws ParseException
+     */
+    public static String getMaxMonthDate() {
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(new Date());
+        // calendar.add(Calendar.MONTH, -1);
+        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
+        return dft.format(calendar.getTime());
+    }
+
+    /**
+     * 描述:获取下一个月的第一天.    柳钢规则   每月最后两天为第一天
+     *
+     * @return
+     */
+    public static String getPerFirstDayOfMonth() {
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
+        Calendar calendar = Calendar.getInstance();
+        calendar.add(Calendar.MONTH, 1);
+        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
+        return dft.format(calendar.getTime());
+    }
+
+    /**
+     * 描述:获取上个月的最后一天.
+     *
+     * @return
+     */
+    public static String getLastMaxMonthDate() {
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(new Date());
+        calendar.add(Calendar.MONTH, -1);
+        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
+        return dft.format(calendar.getTime());
+    }
+
+    /**
+     * 描述:获取上个月的倒数第二天.
+     *
+     * @return
+     */
+    public static String getLastMonthDateTwoDay(String date) {
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
+        Date newdate = null;
+        try {
+            newdate = dft.parse(date);
+        } catch (ParseException e) {
+            log.error(SYS+"getLastMonthDateTwoDay.parse.error:"+e);
+        }
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(newdate);
+        calendar.add(Calendar.MONTH, 0);
+        calendar.set(Calendar.DAY_OF_MONTH, -1);
+
+        return dft.format(calendar.getTime());
+    }
+
+
+
+    /**
+     * 描述:获取上个月的倒数第三天.
+     *
+     * @return
+     */
+    public static String getLastMonthDateThirdDay() {
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(new Date());
+        calendar.add(Calendar.MONTH, 0);
+        calendar.set(Calendar.DAY_OF_MONTH, -2);
+        return dft.format(calendar.getTime());
+    }
+
+    /**
+     * 描述:获取当月的倒数第二天.
+     *
+     * @return
+     */
+    public static String getThisMonthDateSecondDay(String date) {
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
+        Date newdate = null;
+        try {
+            newdate = dft.parse(date);
+        } catch (ParseException e) {
+            log.error(SYS+"getLastMonthDateTwoDay.parse.error:"+e);
+        }
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(newdate);
+        calendar.add(Calendar.MONTH, 1);
+        calendar.set(Calendar.DAY_OF_MONTH, -1);
+        return dft.format(calendar.getTime());
+    }
+
+    /**
+     * 描述:获取当月的倒数第三天.
+     *
+     * @return
+     */
+    public static String getThisMonthDateThirdDay() {
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(new Date());
+        calendar.add(Calendar.MONTH, 1);
+        calendar.set(Calendar.DAY_OF_MONTH, -2);
+        return dft.format(calendar.getTime());
+    }
+
+    /**
+     * 获取上上个月倒数第二天的日期
+     *
+     * @return
+     */
+    public static String getLastLastMonthDateTwoDay() {
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(new Date());
+        calendar.add(Calendar.MONTH, -1);
+        calendar.set(Calendar.DAY_OF_MONTH, -1);
+        return dft.format(calendar.getTime());
+    }
+
+    /**
+     * 获取上一个月
+     *
+     * @return
+     */
+    public static String getLastMonth() {
+        Calendar cal = Calendar.getInstance();
+        cal.add(Calendar.MONTH, -1);
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMM");
+        String lastMonth = dft.format(cal.getTime());
+        return lastMonth;
+    }
+
+    /**
+     * 描述:获取下一个月.
+     *
+     * @return
+     */
+    public static String getPreMonth() {
+        Calendar cal = Calendar.getInstance();
+        cal.add(Calendar.MONTH, 1);
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMM");
+        String preMonth = dft.format(cal.getTime());
+        return preMonth;
+    }
+
+    // 是否是最后一天
+    public static boolean isLastDayOfMonth() {
+        boolean flag = false;
+        if (StringUtils.isNotBlank(getNowTime()) && StringUtils.isNotBlank(getMaxMonthDate()) && StringUtils.equals(getNowTime(), getMaxMonthDate())) { // getMaxMonthDate().equals(getNowTime())
+            flag = true;
+        }
+        return flag;
+    }
+
+    /**
+     * 获取任意时间的下一个月
+     * 描述:<描述函数实现的功能>.
+     *
+     * @param repeatDate
+     * @return
+     */
+    public static String getPreMonth(String repeatDate) {
+        String lastMonth = "";
+        Calendar cal = Calendar.getInstance();
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMM");
+        int year = Integer.parseInt(repeatDate.substring(0, 4));
+        String monthsString = repeatDate.substring(4, 6);
+        int month;
+        if ("0".equals(monthsString.substring(0, 1))) {
+            month = Integer.parseInt(monthsString.substring(1, 2));
+        } else {
+            month = Integer.parseInt(monthsString.substring(0, 2));
+        }
+        cal.set(year, month, Calendar.DATE);
+        lastMonth = dft.format(cal.getTime());
+        return lastMonth;
+    }
+
+    /**
+     * 获取任意时间的上一个月
+     * 描述:<描述函数实现的功能>.
+     *
+     * @param repeatDate
+     * @return
+     */
+    public static String getLastMonth(String repeatDate) {
+        String lastMonth = "";
+        Calendar cal = Calendar.getInstance();
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMM");
+        int year = Integer.parseInt(repeatDate.substring(0, 4));
+        String monthsString = repeatDate.substring(4, 6);
+        int month;
+        if ("0".equals(monthsString.substring(0, 1))) {
+            month = Integer.parseInt(monthsString.substring(1, 2));
+        } else {
+            month = Integer.parseInt(monthsString.substring(0, 2));
+        }
+        cal.set(year, month - 2, Calendar.DATE);
+        lastMonth = dft.format(cal.getTime());
+        return lastMonth;
+    }
+    //
+
+    /**
+     * 获取任意时间的月的最后一天
+     * 描述:<描述函数实现的功能>.
+     *
+     * @param repeatDate
+     * @return
+     */
+    private static String getMaxMonthDate(String repeatDate) {
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
+        Calendar calendar = Calendar.getInstance();
+        try {
+            if (StringUtils.isNotBlank(repeatDate) && !"null".equals(repeatDate)) {
+                calendar.setTime(dft.parse(repeatDate));
+            }
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        // calendar.add(Calendar.MONTH, -1);
+        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
+        return dft.format(calendar.getTime());
+    }
+
+    //获取任意时间前七天
+    public static String getDaySevenAgo(Date endTime) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(endTime);
+        calendar.add(Calendar.DAY_OF_MONTH,-7);
+        SimpleDateFormat yyyyMMddHHmmss = new SimpleDateFormat("yyyyMMddHHmmss");
+        String res = yyyyMMddHHmmss.format(calendar.getTime());
+        return res;
+    }
+
+
+    //获取当前时间前一天
+    public static String getYesterday(String format) {
+
+        Date newdate = new Date();
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(newdate);
+        calendar.add(Calendar.DAY_OF_MONTH,-1);
+        SimpleDateFormat yyyyMMddHHmmss = new SimpleDateFormat(format);
+        String res = yyyyMMddHHmmss.format(calendar.getTime());
+        return res;
+    }
+
+    /**
+     * 获取任意时间的月第一天
+     * 描述:<描述函数实现的功能>.
+     *
+     * @param repeatDate
+     * @return
+     */
+    private static String getMinMonthDate(String repeatDate) {
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
+        Calendar calendar = Calendar.getInstance();
+        try {
+            if (StringUtils.isNotBlank(repeatDate) && !"null".equals(repeatDate)) {
+                calendar.setTime(dft.parse(repeatDate));
+            }
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        // calendar.add(Calendar.MONTH, -1);
+        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
+        return dft.format(calendar.getTime());
+    }
+
+    /**
+     * 不论是当前时间,还是历史时间  皆是时间点的前天
+     * repeatDate  任意时间
+     */
+    public static String getModify2DaysAgo(String repeatDate) {
+        Calendar cal = Calendar.getInstance();
+        String daysAgo = "";
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
+        if (repeatDate == null || "".equals(repeatDate)) {
+            cal.set(Calendar.DATE, cal.get(Calendar.DATE) - 2);
+
+        } else {
+            int year = Integer.parseInt(repeatDate.substring(0, 4));
+            String monthsString = repeatDate.substring(4, 6);
+            int month;
+            if ("0".equals(monthsString.substring(0, 1))) {
+                month = Integer.parseInt(monthsString.substring(1, 2));
+            } else {
+                month = Integer.parseInt(monthsString.substring(0, 2));
+            }
+            String dateString = repeatDate.substring(6, 8);
+            int date;
+            if ("0".equals(dateString.subSequence(0, 1))) {
+                date = Integer.parseInt(dateString.substring(1, 2));
+            } else {
+                date = Integer.parseInt(dateString.substring(0, 2));
+            }
+            cal.set(year, month - 1, date - 1);
+            System.out.println(dft.format(cal.getTime()));
+        }
+        daysAgo = dft.format(cal.getTime());
+        return daysAgo;
+    }
+
+    /**
+     * 不论是当前时间,还是历史时间  皆是时间点的T-N天
+     * repeatDate 任意时间    param 数字 可以表示前几天
+     */
+    public static String getModifyNumDaysAgo(String repeatDate, int param) {
+        Calendar cal = Calendar.getInstance();
+        String daysAgo = "";
+        SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
+        if (repeatDate == null || "".equals(repeatDate)) {
+            cal.set(Calendar.DATE, cal.get(Calendar.DATE) - param);
+
+        } else {
+            int year = Integer.parseInt(repeatDate.substring(0, 4));
+            String monthsString = repeatDate.substring(4, 6);
+            int month;
+            if ("0".equals(monthsString.substring(0, 1))) {
+                month = Integer.parseInt(monthsString.substring(1, 2));
+            } else {
+                month = Integer.parseInt(monthsString.substring(0, 2));
+            }
+            String dateString = repeatDate.substring(6, 8);
+            int date;
+            if ("0".equals(dateString.subSequence(0, 1))) {
+                date = Integer.parseInt(dateString.substring(1, 2));
+            } else {
+                date = Integer.parseInt(dateString.substring(0, 2));
+            }
+            cal.set(year, month - 1, date - param + 1);
+            System.out.println(dft.format(cal.getTime()));
+        }
+        daysAgo = dft.format(cal.getTime());
+        return daysAgo;
+    }
+
+
+    /**
+     * 当月剩余天数
+     *
+     * @param date 格式yyyy-MM-dd
+     */
+    public static Integer monthEndNum(String date) {
+        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
+        Date dateTime = null;
+        try {
+            dateTime = format.parse(date);
+        } catch (ParseException e) {
+           log.error(SYS+"monthEndNum.parse.error:"+e);
+        }
+        Calendar c = Calendar.getInstance();
+        c.setTime(dateTime);
+        int today = c.get(Calendar.DAY_OF_MONTH);
+        int last = c.getActualMaximum(Calendar.DAY_OF_MONTH);
+        return last - today;
+    }
+
+
+    /**
+     * 函数功能描述:UTC时间转本地时间格式
+     * @param utcTime UTC时间
+     * @param utcTimePatten UTC时间格式
+     * @param localTimePatten	本地时间格式
+     * @return 本地时间格式的时间
+     * eg:utc2Local("2017-06-14 09:37:50.788+08:00", "yyyy-MM-dd HH:mm:ss.SSSXXX", "yyyy-MM-dd HH:mm:ss.SSS")
+     */
+    public static String utc2Local(String utcTime, String utcTimePatten, String localTimePatten) {
+        SimpleDateFormat utcFormater = new SimpleDateFormat(utcTimePatten);
+        utcFormater.setTimeZone(TimeZone.getTimeZone("UTC"));//时区定义并进行时间获取
+        Date gpsUTCDate = null;
+        try {
+            gpsUTCDate = utcFormater.parse(utcTime);
+        } catch (ParseException e) {
+            e.printStackTrace();
+            return utcTime;
+        }
+        SimpleDateFormat localFormater = new SimpleDateFormat(localTimePatten);
+        localFormater.setTimeZone(TimeZone.getDefault());
+        String localTime = localFormater.format(gpsUTCDate.getTime());
+        return localTime;
+    }
+}

+ 39 - 0
src/main/java/com/benyun/common/utils/ExceptionUtil.java

@@ -0,0 +1,39 @@
+package com.benyun.common.utils;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import org.apache.commons.lang3.exception.ExceptionUtils;
+
+/**
+ * 错误信息处理类。
+ *
+ * @author liugang
+ */
+public class ExceptionUtil
+{
+    /**
+     * 获取exception的详细错误信息。
+     */
+    public static String getExceptionMessage(Throwable e)
+    {
+        StringWriter sw = new StringWriter();
+        e.printStackTrace(new PrintWriter(sw, true));
+        return sw.toString();
+    }
+
+    public static String getRootErrorMessage(Exception e)
+    {
+        Throwable root = ExceptionUtils.getRootCause(e);
+        root = (root == null ? e : root);
+        if (root == null)
+        {
+            return "";
+        }
+        String msg = root.getMessage();
+        if (msg == null)
+        {
+            return "null";
+        }
+        return StringUtils.defaultString(msg);
+    }
+}

+ 263 - 0
src/main/java/com/benyun/common/utils/IpUtils.java

@@ -0,0 +1,263 @@
+package com.benyun.common.utils;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 获取IP方法
+ *
+ * @author liugang
+ */
+public class IpUtils
+{
+    /**
+     * 获取客户端IP
+     *
+     * @param request 请求对象
+     * @return IP地址
+     */
+    public static String getIpAddr(HttpServletRequest request)
+    {
+        if (request == null)
+        {
+            return "unknown";
+        }
+        String ip = request.getHeader("x-forwarded-for");
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
+        {
+            ip = request.getHeader("Proxy-Client-IP");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
+        {
+            ip = request.getHeader("X-Forwarded-For");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
+        {
+            ip = request.getHeader("WL-Proxy-Client-IP");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
+        {
+            ip = request.getHeader("X-Real-IP");
+        }
+
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
+        {
+            ip = request.getRemoteAddr();
+        }
+
+        return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : getMultistageReverseProxyIp(ip);
+    }
+
+    /**
+     * 检查是否为内部IP地址
+     *
+     * @param ip IP地址
+     * @return 结果
+     */
+    public static boolean internalIp(String ip)
+    {
+        byte[] addr = textToNumericFormatV4(ip);
+        return internalIp(addr) || "127.0.0.1".equals(ip);
+    }
+
+    /**
+     * 检查是否为内部IP地址
+     *
+     * @param addr byte地址
+     * @return 结果
+     */
+    private static boolean internalIp(byte[] addr)
+    {
+        if (StringUtils.isNull(addr) || addr.length < 2)
+        {
+            return true;
+        }
+        final byte b0 = addr[0];
+        final byte b1 = addr[1];
+        // 10.x.x.x/8
+        final byte SECTION_1 = 0x0A;
+        // 172.16.x.x/12
+        final byte SECTION_2 = (byte) 0xAC;
+        final byte SECTION_3 = (byte) 0x10;
+        final byte SECTION_4 = (byte) 0x1F;
+        // 192.168.x.x/16
+        final byte SECTION_5 = (byte) 0xC0;
+        final byte SECTION_6 = (byte) 0xA8;
+        switch (b0)
+        {
+            case SECTION_1:
+                return true;
+            case SECTION_2:
+                if (b1 >= SECTION_3 && b1 <= SECTION_4)
+                {
+                    return true;
+                }
+            case SECTION_5:
+                switch (b1)
+                {
+                    case SECTION_6:
+                        return true;
+                }
+            default:
+                return false;
+        }
+    }
+
+    /**
+     * 将IPv4地址转换成字节
+     *
+     * @param text IPv4地址
+     * @return byte 字节
+     */
+    public static byte[] textToNumericFormatV4(String text)
+    {
+        if (text.length() == 0)
+        {
+            return null;
+        }
+
+        byte[] bytes = new byte[4];
+        String[] elements = text.split("\\.", -1);
+        try
+        {
+            long l;
+            int i;
+            switch (elements.length)
+            {
+                case 1:
+                    l = Long.parseLong(elements[0]);
+                    if ((l < 0L) || (l > 4294967295L))
+                    {
+                        return null;
+                    }
+                    bytes[0] = (byte) (int) (l >> 24 & 0xFF);
+                    bytes[1] = (byte) (int) ((l & 0xFFFFFF) >> 16 & 0xFF);
+                    bytes[2] = (byte) (int) ((l & 0xFFFF) >> 8 & 0xFF);
+                    bytes[3] = (byte) (int) (l & 0xFF);
+                    break;
+                case 2:
+                    l = Integer.parseInt(elements[0]);
+                    if ((l < 0L) || (l > 255L))
+                    {
+                        return null;
+                    }
+                    bytes[0] = (byte) (int) (l & 0xFF);
+                    l = Integer.parseInt(elements[1]);
+                    if ((l < 0L) || (l > 16777215L))
+                    {
+                        return null;
+                    }
+                    bytes[1] = (byte) (int) (l >> 16 & 0xFF);
+                    bytes[2] = (byte) (int) ((l & 0xFFFF) >> 8 & 0xFF);
+                    bytes[3] = (byte) (int) (l & 0xFF);
+                    break;
+                case 3:
+                    for (i = 0; i < 2; ++i)
+                    {
+                        l = Integer.parseInt(elements[i]);
+                        if ((l < 0L) || (l > 255L))
+                        {
+                            return null;
+                        }
+                        bytes[i] = (byte) (int) (l & 0xFF);
+                    }
+                    l = Integer.parseInt(elements[2]);
+                    if ((l < 0L) || (l > 65535L))
+                    {
+                        return null;
+                    }
+                    bytes[2] = (byte) (int) (l >> 8 & 0xFF);
+                    bytes[3] = (byte) (int) (l & 0xFF);
+                    break;
+                case 4:
+                    for (i = 0; i < 4; ++i)
+                    {
+                        l = Integer.parseInt(elements[i]);
+                        if ((l < 0L) || (l > 255L))
+                        {
+                            return null;
+                        }
+                        bytes[i] = (byte) (int) (l & 0xFF);
+                    }
+                    break;
+                default:
+                    return null;
+            }
+        }
+        catch (NumberFormatException e)
+        {
+            return null;
+        }
+        return bytes;
+    }
+
+    /**
+     * 获取IP地址
+     *
+     * @return 本地IP地址
+     */
+    public static String getHostIp()
+    {
+        try
+        {
+            return InetAddress.getLocalHost().getHostAddress();
+        }
+        catch (UnknownHostException e)
+        {
+        }
+        return "127.0.0.1";
+    }
+
+    /**
+     * 获取主机名
+     *
+     * @return 本地主机名
+     */
+    public static String getHostName()
+    {
+        try
+        {
+            return InetAddress.getLocalHost().getHostName();
+        }
+        catch (UnknownHostException e)
+        {
+        }
+        return "未知";
+    }
+
+    /**
+     * 从多级反向代理中获得第一个非unknown IP地址
+     *
+     * @param ip 获得的IP地址
+     * @return 第一个非unknown IP地址
+     */
+    public static String getMultistageReverseProxyIp(String ip)
+    {
+        // 多级反向代理检测
+        if (ip != null && ip.indexOf(",") > 0)
+        {
+            final String[] ips = ip.trim().split(",");
+            for (String subIp : ips)
+            {
+                if (false == isUnknown(subIp))
+                {
+                    ip = subIp;
+                    break;
+                }
+            }
+        }
+        return ip;
+    }
+
+    /**
+     * 检测给定字符串是否为未知,多用于检测HTTP请求相关
+     *
+     * @param checkString 被检测的字符串
+     * @return 是否未知
+     */
+    public static boolean isUnknown(String checkString)
+    {
+        return StringUtils.isBlank(checkString) || "unknown".equalsIgnoreCase(checkString);
+    }
+}

+ 680 - 0
src/main/java/com/benyun/common/utils/JsonUtil.java

@@ -0,0 +1,680 @@
+package com.benyun.common.utils;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.*;
+import com.fasterxml.jackson.databind.deser.std.DateDeserializers;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.MissingNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.fasterxml.jackson.databind.type.TypeFactory;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+
+/************************************************
+ * Copyright (c)  by goldensoft
+ * All right reserved.
+ * Create Date: 2018-8-15
+ * Create Author: fengwang
+ * File Name:  json工具
+ * Last version:  1.0
+ * Function:这里写注释
+ * Last Update Date:
+ * Change Log:
+ **************************************************/
+
+public class JsonUtil {
+    private static JsonUtil allJsonUtil;
+    private static JsonUtil notNullJsonUtil;
+    private static JsonUtil notDefJsonUtil;
+    private static JsonUtil notEmpJsonUtil;
+
+    public JsonUtil() {
+
+    }
+
+    public static JsonUtil getAllJsonUtil() {
+        return allJsonUtil;
+    }
+
+    public static void setAllJsonUtil(JsonUtil allJsonUtil) {
+        JsonUtil.allJsonUtil = allJsonUtil;
+    }
+
+    public static JsonUtil getNotNullJsonUtil() {
+        return notNullJsonUtil;
+    }
+
+    public static void setNotNullJsonUtil(JsonUtil notNullJsonUtil) {
+        JsonUtil.notNullJsonUtil = notNullJsonUtil;
+    }
+
+    public static JsonUtil getNotDefJsonUtil() {
+        return notDefJsonUtil;
+    }
+
+    public static void setNotDefJsonUtil(JsonUtil notDefJsonUtil) {
+        JsonUtil.notDefJsonUtil = notDefJsonUtil;
+    }
+
+    public static JsonUtil getNotEmpJsonUtil() {
+        return notEmpJsonUtil;
+    }
+
+    public static void setNotEmpJsonUtil(JsonUtil notEmpJsonUtil) {
+        JsonUtil.notEmpJsonUtil = notEmpJsonUtil;
+    }
+
+    private static final Map<String, JsonUtil> INSTANCES = new HashMap<>();
+
+    private static ObjectMapper mapper;
+
+    static {
+        mapper = new ObjectMapper();
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        mapper.configure(JsonParser.Feature.ALLOW_COMMENTS, true);
+        mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
+        mapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
+        JavaTimeModule javaTimeModule = new JavaTimeModule();
+        javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ISO_DATE_TIME));
+        mapper.registerModule(javaTimeModule);
+        mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
+        setTimeZone(Calendar.getInstance().getTimeZone());
+    }
+
+    static JsonUtil pick(String instanceId) {
+        return INSTANCES.computeIfAbsent(instanceId, k -> new JsonUtil());
+    }
+
+    public static void setTimeZone(TimeZone tz) {
+        mapper.setTimeZone(tz);
+    }
+
+    public static String toJsonString(Object obj) {
+        if (obj instanceof String) {
+            return (String) obj;
+        } else {
+            try {
+                return mapper.writeValueAsString(obj);
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+        }
+    }
+
+
+
+    public static <E> List<E> toList(Object obj, Class<E> clazz) {
+        return (List<E>) toGeneric(obj, List.class, clazz);
+    }
+
+    public static <E> Set<E> toSet(Object obj, Class<E> clazz) {
+        return (Set<E>) toGeneric(obj, Set.class, clazz);
+    }
+
+    public static <K, V> Map<K, V> toMap(Object obj, Class<K> keyClazz, Class<V> valueClazz) {
+        return (Map<K, V>) toGeneric(obj, Map.class, keyClazz, valueClazz);
+    }
+
+    public static Object toGeneric(Object obj, Class<?> parametrized, Class... parameterClasses) {
+        JavaType type = mapper.getTypeFactory().constructParametricType(parametrized, parameterClasses);
+        return toGeneric(obj, type);
+    }
+
+    private static Object toGeneric(Object obj, JavaType type) {
+        try {
+            if (obj instanceof String) {
+                return mapper.readValue((String) obj, type);
+            } else if (obj instanceof JsonNode) {
+                return mapper.readValue(obj.toString(), type);
+            } else {
+                return mapper.readValue(mapper.writeValueAsString(obj), type);
+            }
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public static <E> E toObject(Object obj, Class<E> clazz) {
+        try {
+            if (obj instanceof String) {
+                if (clazz == String.class) {
+                    return (E) obj;
+                } else {
+                    return mapper.readValue((String) obj, clazz);
+                }
+            } else if (obj instanceof JsonNode) {
+                return mapper.readValue(obj.toString(), clazz);
+            } else {
+                return mapper.readValue(mapper.writeValueAsString(obj), clazz);
+            }
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public void setMapper(ObjectMapper mapper) {
+        this.mapper = mapper;
+    }
+
+    public JsonUtil(JsonInclude.Include include) {
+        mapper = new ObjectMapper();
+        mapper.setSerializationInclusion(include);
+        //设置输入时忽略在JSON字符串中存在但Java对象实际没有的属性
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        //禁止使用int代表Enum的order()來反序列化Enum,非常危險
+        mapper.configure(DeserializationFeature.FAIL_ON_NUMBERS_FOR_ENUMS, true);
+        //mapper.setSerializerProvider(p);
+
+        //增加对map的过滤
+        switch (include) {
+            case NON_NULL:
+            case NON_EMPTY:
+                mapper.disable(SerializationFeature.WRITE_NULL_MAP_VALUES);
+            default:
+                break;
+        }
+        SimpleModule module = new SimpleModule();
+        module.addDeserializer(Date.class, new CustomDateDeserializer<Date>());
+        mapper.registerModule(module);
+        setDateFormat("yyyy-MM-dd HH:mm:ss");
+
+    }
+
+    @SuppressWarnings("hiding")
+    public class CustomDateDeserializer<Date> extends DateDeserializers.DateDeserializer {
+        /**
+         *
+         */
+        private static final long serialVersionUID = -3912203293075877780L;
+
+        @Override
+        public java.util.Date deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
+            try {
+                return super.deserialize(jp, ctxt);
+            } catch (JsonMappingException e) {
+                return retryParse(jp.getText());
+            }
+        }
+
+        private java.util.Date retryParse(String dateStr) {
+
+            if (StringUtils.isBlank(dateStr)) return null;
+
+            try {
+                if (dateStr.length() == DateUtils.YYYY_MM_DD.length()) {
+                    return new SimpleDateFormat(DateUtils.YYYY_MM_DD).parse(dateStr);
+                } else if (dateStr.length() == DateUtils.DATESTOREFORMAT.length()) {
+                    return new SimpleDateFormat(DateUtils.DATESTOREFORMAT).parse(dateStr);
+                } else if (dateStr.length() == DateUtils.YYYYMMDDHHMMSS.length()) {
+                    return new SimpleDateFormat(DateUtils.YYYYMMDDHHMMSS).parse(dateStr);
+                }
+            } catch (Exception e) {
+                return null;
+            }
+            return null;
+        }
+    }
+
+    /**
+     * 创建输出全部属性
+     *
+     * @return
+     */
+    public static JsonUtil buildNormalBinder() {
+        synchronized (JsonUtil.class) {
+            if (JsonUtil.allJsonUtil == null) {
+                JsonUtil.allJsonUtil = new JsonUtil(JsonInclude.Include.ALWAYS);
+            }
+        }
+        return JsonUtil.allJsonUtil;
+    }
+
+    /**
+     * 创建只输出非空属性的
+     *
+     * @return
+     */
+    public static JsonUtil buildNonNullBinder() {
+        synchronized (JsonUtil.class) {
+            if (JsonUtil.notNullJsonUtil == null) {
+                JsonUtil.notNullJsonUtil = new JsonUtil(JsonInclude.Include.NON_NULL);
+            }
+        }
+        return JsonUtil.notNullJsonUtil;
+    }
+
+    /**
+     * 创建只输出初始值被改变的属性
+     *
+     * @return
+     */
+    public static JsonUtil buildNonDefaultBinder() {
+        synchronized (JsonUtil.class) {
+            if (JsonUtil.notDefJsonUtil == null) {
+                JsonUtil.notDefJsonUtil = new JsonUtil(JsonInclude.Include.NON_DEFAULT);
+            }
+        }
+        return JsonUtil.notDefJsonUtil;
+    }
+
+    /**
+     * 创建只输出初始值被改变的属性
+     *
+     * @return
+     */
+    public static JsonUtil buildNonEmptyBinder() {
+        synchronized (JsonUtil.class) {
+            if (JsonUtil.notEmpJsonUtil == null) {
+                JsonUtil.notEmpJsonUtil = new JsonUtil(JsonInclude.Include.NON_EMPTY);
+            }
+        }
+        return JsonUtil.notEmpJsonUtil;
+    }
+
+    /**
+     * 把json字符串转成对象
+     *
+     * @param json
+     * @param clazz
+     * @return
+     */
+    public <T> T getJsonToObject(String json, Class<T> clazz) {
+        T object = null;
+        if (StringUtils.isNotBlank(json)) {
+            try {
+                object = getMapper().readValue(json, clazz);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return object;
+    }
+
+    /**
+     * 把JSON转成list
+     *
+     * @param json  [{"...":"...","...":"...","...":"..."}]
+     * @param clazz map
+     * @return
+     */
+    @SuppressWarnings({"rawtypes"})
+    public Object getJsonToList(String json, Class clazz) {
+        Object object = null;
+        if (StringUtils.isNotBlank(json)) {
+            try {
+                object = getMapper().readValue(json, TypeFactory.defaultInstance().constructCollectionType(ArrayList.class, clazz));
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return object;
+    }
+
+    public <T, P extends List<T>> List<T> getList(String json, Class<P> collectionType, Class<T> clazz) {
+        if (StringUtils.isBlank(json)) {
+            return Collections.emptyList();
+        }
+        try {
+            return getMapper().readValue(json, TypeFactory.defaultInstance().constructCollectionType(collectionType, clazz));
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return Collections.emptyList();
+    }
+
+    /**
+     * 把JSON转成list中是MAP《String,clazz》
+     *
+     * @param json
+     * @param clazz
+     * @return
+     */
+    @SuppressWarnings({"rawtypes"})
+    public Object getJsonToListByMap(String json, Class clazz) {
+        Object object = null;
+        if (StringUtils.isNotBlank(json)) {
+            try {
+                object = getMapper().readValue(json, TypeFactory.defaultInstance().constructArrayType(TypeFactory.defaultInstance().constructMapType(HashMap.class, String.class, clazz)));
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return object;
+    }
+
+
+
+    /**
+     * 功能描述: <br>           把utf-8字符串转成  Unicode编码的字符串
+     * * 〈〉
+     *
+     * @Param: [gbString]
+     * @Return: java.lang.String
+     * @Author: Mr_Feng
+     * @Date: 2020/6/23 11:43
+     */
+    public static String str2unicode(final String gbString) {
+        char[] utfBytes = gbString.toCharArray();
+        String unicodeBytes = "";
+        for (int byteIndex = 0; byteIndex < utfBytes.length; byteIndex++) {
+            String hexB = Integer.toHexString(utfBytes[byteIndex]);
+            if (hexB.length() <= 2) {
+                hexB = "00" + hexB;
+            }
+            unicodeBytes = unicodeBytes + "\\\\u" + hexB;
+        }
+        return unicodeBytes;
+    }
+
+    @SuppressWarnings({"rawtypes"})
+    public Object[] getJsonToArray(String json, Class clazz) {
+        Object[] object = null;
+        if (StringUtils.isNotBlank(json)) {
+            try {
+                object = getMapper().readValue(json, TypeFactory.defaultInstance().constructArrayType(clazz));
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return object;
+    }
+
+    public byte[] getJsonTobyteArray(String json) {
+        byte[] object = null;
+        if (StringUtils.isNotBlank(json)) {
+            try {
+                object = getMapper().readValue(json, TypeFactory.defaultInstance().constructArrayType(byte.class));
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return object;
+    }
+
+    /**
+     * 把JSON转成Map
+     *
+     * @param json
+     * @param keyclazz
+     * @param valueclazz
+     * @return
+     */
+    @SuppressWarnings({"rawtypes", "deprecation"})
+    public Object getJsonToMap(String json, Class keyclazz, Class valueclazz) {
+        Object object = null;
+        if (StringUtils.isNotBlank(json)) {
+            try {
+                object = getMapper().readValue(json, TypeFactory.defaultInstance().constructParametricType(HashMap.class, keyclazz, valueclazz));
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return object;
+    }
+
+    /**
+     * 把JSON转成Map(有序)
+     *
+     * @param json
+     * @param keyclazz
+     * @param valueclazz
+     * @return
+     */
+    @SuppressWarnings({"rawtypes", "deprecation"})
+    public Object getJsonToLinkedMap(String json, Class keyclazz, Class valueclazz) {
+        Object object = null;
+        if (StringUtils.isNotBlank(json)) {
+            try {
+                object = getMapper().readValue(json, TypeFactory.defaultInstance().constructParametricType(LinkedHashMap.class, keyclazz, valueclazz));
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return object;
+    }
+
+    /**
+     * 把JSON转成并发Map
+     *
+     * @param json
+     * @param keyclazz
+     * @param valueclazz
+     * @return
+     */
+    @SuppressWarnings({"rawtypes", "deprecation"})
+    public Object getJsonToConcMap(String json, Class keyclazz, Class valueclazz) {
+        Object object = null;
+        if (StringUtils.isNotBlank(json)) {
+            try {
+                object = getMapper().readValue(json, TypeFactory.defaultInstance().constructParametricType(ConcurrentHashMap.class, keyclazz, valueclazz));
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return object;
+    }
+
+    /**
+     * 把JSON转成Map<> value是MAP类型(KEY string )
+     *
+     * @param json
+     * @param keyclazz
+     * @param valueclazz MAP中的value CLASS
+     * @return
+     */
+    @SuppressWarnings("rawtypes")
+    public Object getJsonToMapByMap(String json, Class keyclazz, Class valueclazz) {
+        Object object = null;
+        if (StringUtils.isNotBlank(json)) {
+            try {
+                object = getMapper().readValue(json, TypeFactory.defaultInstance().constructMapType(HashMap.class, TypeFactory.defaultInstance().uncheckedSimpleType(keyclazz), TypeFactory.defaultInstance().constructMapType(HashMap.class, String.class, valueclazz)));
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return object;
+    }
+
+    /**
+     * 把JSON转成Map<> value是LIST类型
+     *
+     * @param json
+     * @param keyclazz
+     * @param valueclazz LIST中的CLASS
+     * @return
+     */
+    @SuppressWarnings("rawtypes")
+    public Object getJsonToMapByList(String json, Class keyclazz, Class valueclazz) {
+        Object object = null;
+        if (StringUtils.isNotBlank(json)) {
+            try {
+                object = getMapper().readValue(json, TypeFactory.defaultInstance().constructMapType(HashMap.class, TypeFactory.defaultInstance().uncheckedSimpleType(keyclazz), TypeFactory.defaultInstance().constructCollectionType(ArrayList.class, valueclazz)));
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return object;
+    }
+
+    /**
+     * 把json格式数据装成map
+     *
+     * @param str
+     * @return
+     */
+    public  Map<String, String> getJsonToMap(String str) {
+        Map<String, String> map = new HashMap<String, String>();
+        if (StringUtils.isNotBlank(str)) {
+            String[] s = str.split(",");
+            if (s.length > 0) {
+                for (int i = 0; i < s.length; i++) {
+                    String con = s[i];
+                    int s1 = con.indexOf(":");
+                    if (s1 > 0) {
+                        map.put(con.substring(0, s1).trim().replace("\"", ""), con.substring(s1 + 1).replace("\"", ""));
+                    } else {
+                        map.put(con.trim().replace("\"", ""), "");
+                    }
+                }
+            }
+        }
+        return map;
+    }
+
+    /**
+     * 把map转成combo数据格式的json格式
+     *
+     * @return String (json)
+     */
+    public String getMapToJson(Map<String, String> map) {
+        List<String[]> list = new ArrayList<String[]>();
+        if (null != map && !map.isEmpty()) {
+            for (String key : map.keySet()) {
+                String[] strS = new String[2];
+                strS[0] = key;
+                strS[1] = map.get(key);
+                list.add(strS);
+            }
+        }
+        return jsonObject(list);
+    }
+
+    /**
+     * 把对象转成json格式
+     *
+     * @param list 需要转的对象
+     * @return String
+     */
+    @SuppressWarnings("rawtypes")
+    public String jsonObject(List list) {
+        StringWriter sw = new StringWriter();
+        JsonGenerator gen;
+        try {
+            gen = new JsonFactory().createGenerator(sw);
+            getMapper().writeValue(gen, list);
+            gen.close();
+        } catch (Exception e) {
+
+        }
+        return sw.toString();
+    }
+
+    /**
+     * 把JSON转成Object
+     *
+     * @param json
+     * @param objclazz
+     * @param pclazz
+     * @return
+     */
+    @SuppressWarnings({"rawtypes", "deprecation"})
+    public Object getJsonToObject(String json, Class objclazz, Class... pclazz) {
+        Object object = null;
+        if (StringUtils.isNotBlank(json)) {
+            try {
+                object = getMapper().readValue(json, TypeFactory.defaultInstance().constructParametricType(objclazz, pclazz));
+            } catch (Exception e) {
+            }
+        }
+        return object;
+    }
+
+    /**
+     * 把JSON转成Object
+     *
+     * @param <T>
+     * @param json
+     * @param typeReference
+     * @return
+     */
+    public <T> Object getJsonToObject(String json, TypeReference<T> typeReference) {
+        Object object = null;
+        if (StringUtils.isNotBlank(json)) {
+            try {
+                object = getMapper().readValue(json, typeReference);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return object;
+    }
+
+    /**
+     * 把对象转成字符串
+     *
+     * @param object
+     * @return
+     */
+    public String toJson(Object object) {
+        String json = null;
+        try {
+            json = getMapper().writeValueAsString(object);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return json;
+    }
+
+    /**
+     * 设置日期格式
+     *
+     * @param pattern
+     */
+    public void setDateFormat(String pattern) {
+        if (StringUtils.isNotBlank(pattern)) {
+            DateFormat df = new SimpleDateFormat(pattern);
+            getMapper().setDateFormat(df);
+            getMapper().setTimeZone(TimeZone.getDefault());
+        }
+    }
+
+    public static Object getResultObject(String json) {
+//    	Map<String, Object> map = (Map<String, Object>) buildNormalBinder().getJsonToMap(json, String.class, Object.class);
+//    	if (map != null ) {
+//    		return map.get("result");
+//    	}else {
+        return json;
+//    	}
+    }
+    public static JsonNode path(JsonNode jsonNode, String pathStr) {
+        String[] splitPaths = pathStr.split("\\.");
+        jsonNode = jsonNode.path(splitPaths[0]);
+        if (jsonNode instanceof MissingNode) {
+            return null;
+        } else if (splitPaths.length == 1) {
+            return jsonNode;
+        } else {
+            return path(jsonNode, pathStr.substring(pathStr.indexOf(".") + 1));
+        }
+    }
+
+    public static ObjectNode createObjectNode() {
+        return mapper.createObjectNode();
+    }
+
+    public static ArrayNode createArrayNode() {
+        return mapper.createArrayNode();
+    }
+
+    public static ObjectMapper getMapper() {
+        return mapper;
+    }
+
+    public static Map<String, JsonUtil> getINSTANCES() {
+        return INSTANCES;
+    }
+}

+ 134 - 0
src/main/java/com/benyun/common/utils/LogUtils.java

@@ -0,0 +1,134 @@
+package com.benyun.common.utils;
+
+import com.alibaba.fastjson.JSON;
+import org.apache.shiro.SecurityUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import javax.servlet.http.HttpServletRequest;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.Map;
+
+/**
+ * 处理并记录日志文件
+ *
+ * @author liugang
+ */
+public class LogUtils
+{
+    public static final Logger ERROR_LOG = LoggerFactory.getLogger("sys-error");
+    public static final Logger ACCESS_LOG = LoggerFactory.getLogger("sys-access");
+
+    /**
+     * 记录访问日志 [username][jsessionid][ip][accept][UserAgent][url][params][Referer]
+     *
+     * @param request
+     */
+    public static void logAccess(HttpServletRequest request)
+    {
+        String username = getUsername();
+        String jsessionId = request.getRequestedSessionId();
+        String ip = IpUtils.getIpAddr(request);
+        String accept = request.getHeader("accept");
+        String userAgent = request.getHeader("User-Agent");
+        String url = request.getRequestURI();
+        String params = getParams(request);
+
+        StringBuilder s = new StringBuilder();
+        s.append(getBlock(username));
+        s.append(getBlock(jsessionId));
+        s.append(getBlock(ip));
+        s.append(getBlock(accept));
+        s.append(getBlock(userAgent));
+        s.append(getBlock(url));
+        s.append(getBlock(params));
+        s.append(getBlock(request.getHeader("Referer")));
+        getAccessLog().info(s.toString());
+    }
+
+    /**
+     * 记录异常错误 格式 [exception]
+     *
+     * @param message
+     * @param e
+     */
+    public static void logError(String message, Throwable e)
+    {
+        String username = getUsername();
+        StringBuilder s = new StringBuilder();
+        s.append(getBlock("exception"));
+        s.append(getBlock(username));
+        s.append(getBlock(message));
+        ERROR_LOG.error(s.toString(), e);
+    }
+
+    /**
+     * 记录页面错误 错误日志记录 [page/eception][username][statusCode][errorMessage][servletName][uri][exceptionName][ip][exception]
+     *
+     * @param request
+     */
+    public static void logPageError(HttpServletRequest request)
+    {
+        String username = getUsername();
+
+        Integer statusCode = (Integer) request.getAttribute("javax.servlet.error.status_code");
+        String message = (String) request.getAttribute("javax.servlet.error.message");
+        String uri = (String) request.getAttribute("javax.servlet.error.request_uri");
+        Throwable t = (Throwable) request.getAttribute("javax.servlet.error.exception");
+
+        if (statusCode == null)
+        {
+            statusCode = 0;
+        }
+
+        StringBuilder s = new StringBuilder();
+        s.append(getBlock(t == null ? "page" : "exception"));
+        s.append(getBlock(username));
+        s.append(getBlock(statusCode));
+        s.append(getBlock(message));
+        s.append(getBlock(IpUtils.getIpAddr(request)));
+
+        s.append(getBlock(uri));
+        s.append(getBlock(request.getHeader("Referer")));
+        StringWriter sw = new StringWriter();
+
+        while (t != null)
+        {
+            t.printStackTrace(new PrintWriter(sw));
+            t = t.getCause();
+        }
+        s.append(getBlock(sw.toString()));
+        getErrorLog().error(s.toString());
+
+    }
+
+    public static String getBlock(Object msg)
+    {
+        if (msg == null)
+        {
+            msg = "";
+        }
+        return "[" + msg.toString() + "]";
+    }
+
+    protected static String getParams(HttpServletRequest request)
+    {
+        Map<String, String[]> params = request.getParameterMap();
+        return JSON.toJSONString(params);
+    }
+
+    protected static String getUsername()
+    {
+        return (String) SecurityUtils.getSubject().getPrincipal();
+    }
+
+    public static Logger getAccessLog()
+    {
+        return ACCESS_LOG;
+    }
+
+    public static Logger getErrorLog()
+    {
+        return ERROR_LOG;
+    }
+}

+ 54 - 0
src/main/java/com/benyun/common/utils/MapDataUtil.java

@@ -0,0 +1,54 @@
+package com.benyun.common.utils;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * Map通用处理方法
+ *
+ * @author liugang
+ */
+public class MapDataUtil
+{
+    public static Map<String, Object> convertDataMap(HttpServletRequest request)
+    {
+        Map<String, String[]> properties = request.getParameterMap();
+        Map<String, Object> returnMap = new HashMap<String, Object>();
+        Iterator<?> entries = properties.entrySet().iterator();
+        Map.Entry<?, ?> entry;
+        String name = "";
+        String value = "";
+        while (entries.hasNext())
+        {
+            entry = (Entry<?, ?>) entries.next();
+            name = (String) entry.getKey();
+            Object valueObj = entry.getValue();
+            if (null == valueObj)
+            {
+                value = "";
+            }
+            else if (valueObj instanceof String[])
+            {
+                String[] values = (String[]) valueObj;
+                value = "";
+                for (int i = 0; i < values.length; i++)
+                {
+                    value += values[i] + ",";
+                }
+                if (value.length() > 0)
+                {
+                    value = value.substring(0, value.length() - 1);
+                }
+            }
+            else
+            {
+                value = valueObj.toString();
+            }
+            returnMap.put(name, value);
+        }
+        return returnMap;
+    }
+}

+ 59 - 0
src/main/java/com/benyun/common/utils/MapUtils.java

@@ -0,0 +1,59 @@
+package com.benyun.common.utils;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.HashMap;
+import java.util.Map;
+
+public class MapUtils {
+    //Map转对象
+    public static Object mapToObject(Map<String, Object> map, Class<?> beanClass) throws Exception {
+        if (map == null)
+            return null;
+
+        Object obj = beanClass.newInstance();
+
+        Field[] fields = obj.getClass().getDeclaredFields();
+        for (Field field : fields) {
+            int mod = field.getModifiers();
+            if(Modifier.isStatic(mod) || Modifier.isFinal(mod)){
+                continue;
+            }
+
+            if(map.get(field.getName()) == null){
+                continue;
+            }
+
+            field.setAccessible(true);
+            if(field.getType().getName().equals("java.lang.Long")){
+                field.set(obj, Long.valueOf(map.get(field.getName()) + ""));
+            }else if(field.getType().getName().equals("java.lang.Double")){
+                field.set(obj, Double.valueOf(map.get(field.getName()) + ""));
+            }else if(field.getType().getName().equals("java.lang.Integer")){
+                field.set(obj, Integer.valueOf(map.get(field.getName()) + ""));
+            }else{
+                field.set(obj, map.get(field.getName()));
+            }
+        }
+
+        return obj;
+    }
+
+
+    //对象转Map
+    public static Map<String, Object> objectToMap(Object obj) throws Exception {
+        if(obj == null){
+            return null;
+        }
+
+        Map<String, Object> map = new HashMap<String, Object>();
+
+        Field[] declaredFields = obj.getClass().getDeclaredFields();
+        for (Field field : declaredFields) {
+            field.setAccessible(true);
+            map.put(field.getName(), field.get(obj));
+        }
+
+        return map;
+    }
+}

+ 67 - 0
src/main/java/com/benyun/common/utils/Md5Utils.java

@@ -0,0 +1,67 @@
+package com.benyun.common.utils;
+
+import java.nio.charset.StandardCharsets;
+import java.security.MessageDigest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Md5加密方法
+ *
+ * @author liugang
+ */
+public class Md5Utils
+{
+    private static final Logger log = LoggerFactory.getLogger(Md5Utils.class);
+
+    private static byte[] md5(String s)
+    {
+        MessageDigest algorithm;
+        try
+        {
+            algorithm = MessageDigest.getInstance("MD5");
+            algorithm.reset();
+            algorithm.update(s.getBytes("UTF-8"));
+            byte[] messageDigest = algorithm.digest();
+            return messageDigest;
+        }
+        catch (Exception e)
+        {
+            log.error("MD5 Error...", e);
+        }
+        return null;
+    }
+
+    private static final String toHex(byte hash[])
+    {
+        if (hash == null)
+        {
+            return null;
+        }
+        StringBuffer buf = new StringBuffer(hash.length * 2);
+        int i;
+
+        for (i = 0; i < hash.length; i++)
+        {
+            if ((hash[i] & 0xff) < 0x10)
+            {
+                buf.append("0");
+            }
+            buf.append(Long.toString(hash[i] & 0xff, 16));
+        }
+        return buf.toString();
+    }
+
+    public static String hash(String s)
+    {
+        try
+        {
+            return new String(toHex(md5(s)).getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8);
+        }
+        catch (Exception e)
+        {
+            log.error("not supported charset...{}", e);
+            return s;
+        }
+    }
+}

+ 26 - 0
src/main/java/com/benyun/common/utils/MessageUtils.java

@@ -0,0 +1,26 @@
+package com.benyun.common.utils;
+
+import org.springframework.context.MessageSource;
+import org.springframework.context.i18n.LocaleContextHolder;
+import com.benyun.common.utils.spring.SpringUtils;
+
+/**
+ * 获取i18n资源文件
+ *
+ * @author liugang
+ */
+public class MessageUtils
+{
+    /**
+     * 根据消息键和参数 获取消息 委托给spring messageSource
+     *
+     * @param code 消息键
+     * @param args 参数
+     * @return 获取国际化翻译值
+     */
+    public static String message(String code, Object... args)
+    {
+        MessageSource messageSource = SpringUtils.getBean(MessageSource.class);
+        return messageSource.getMessage(code, args, LocaleContextHolder.getLocale());
+    }
+}

+ 35 - 0
src/main/java/com/benyun/common/utils/PageUtils.java

@@ -0,0 +1,35 @@
+package com.benyun.common.utils;
+
+import com.github.pagehelper.PageHelper;
+import com.benyun.common.utils.sql.SqlUtil;
+import com.benyun.framework.web.page.PageDomain;
+import com.benyun.framework.web.page.TableSupport;
+
+/**
+ * 分页工具类
+ *
+ * @author liugang
+ */
+public class PageUtils extends PageHelper
+{
+    /**
+     * 设置请求分页数据
+     */
+    public static void startPage()
+    {
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+        String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
+        Boolean reasonable = pageDomain.getReasonable();
+        PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable);
+    }
+
+    /**
+     * 清理分页的线程变量
+     */
+    public static void clearPage()
+    {
+        PageHelper.clearPage();
+    }
+}

+ 176 - 0
src/main/java/com/benyun/common/utils/ServletUtils.java

@@ -0,0 +1,176 @@
+package com.benyun.common.utils;
+
+import java.io.IOException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import org.springframework.web.context.request.RequestAttributes;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+import com.benyun.common.utils.text.Convert;
+
+/**
+ * 客户端工具类
+ *
+ * @author liugang
+ */
+public class ServletUtils
+{
+    /**
+     * 定义移动端请求的所有可能类型
+     */
+    private final static String[] agent = { "Android", "iPhone", "iPod", "iPad", "Windows Phone", "MQQBrowser" };
+
+    /**
+     * 获取String参数
+     */
+    public static String getParameter(String name)
+    {
+        return getRequest().getParameter(name);
+    }
+
+    /**
+     * 获取String参数
+     */
+    public static String getParameter(String name, String defaultValue)
+    {
+        return Convert.toStr(getRequest().getParameter(name), defaultValue);
+    }
+
+    /**
+     * 获取Integer参数
+     */
+    public static Integer getParameterToInt(String name)
+    {
+        return Convert.toInt(getRequest().getParameter(name));
+    }
+
+    /**
+     * 获取Integer参数
+     */
+    public static Integer getParameterToInt(String name, Integer defaultValue)
+    {
+        return Convert.toInt(getRequest().getParameter(name), defaultValue);
+    }
+
+    /**
+     * 获取Boolean参数
+     */
+    public static Boolean getParameterToBool(String name)
+    {
+        return Convert.toBool(getRequest().getParameter(name));
+    }
+
+    /**
+     * 获取Boolean参数
+     */
+    public static Boolean getParameterToBool(String name, Boolean defaultValue)
+    {
+        return Convert.toBool(getRequest().getParameter(name), defaultValue);
+    }
+
+    /**
+     * 获取request
+     */
+    public static HttpServletRequest getRequest()
+    {
+        return getRequestAttributes().getRequest();
+    }
+
+    /**
+     * 获取response
+     */
+    public static HttpServletResponse getResponse()
+    {
+        return getRequestAttributes().getResponse();
+    }
+
+    /**
+     * 获取session
+     */
+    public static HttpSession getSession()
+    {
+        return getRequest().getSession();
+    }
+
+    public static ServletRequestAttributes getRequestAttributes()
+    {
+        RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
+        return (ServletRequestAttributes) attributes;
+    }
+
+    /**
+     * 将字符串渲染到客户端
+     *
+     * @param response 渲染对象
+     * @param string 待渲染的字符串
+     * @return null
+     */
+    public static String renderString(HttpServletResponse response, String string)
+    {
+        try
+        {
+            response.setContentType("application/json");
+            response.setCharacterEncoding("utf-8");
+            response.getWriter().print(string);
+        }
+        catch (IOException e)
+        {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    /**
+     * 是否是Ajax异步请求
+     *
+     * @param request
+     */
+    public static boolean isAjaxRequest(HttpServletRequest request)
+    {
+        String accept = request.getHeader("accept");
+        if (accept != null && accept.contains("application/json"))
+        {
+            return true;
+        }
+
+        String xRequestedWith = request.getHeader("X-Requested-With");
+        if (xRequestedWith != null && xRequestedWith.contains("XMLHttpRequest"))
+        {
+            return true;
+        }
+
+        String uri = request.getRequestURI();
+        if (StringUtils.inStringIgnoreCase(uri, ".json", ".xml"))
+        {
+            return true;
+        }
+
+        String ajax = request.getParameter("__ajax");
+        return StringUtils.inStringIgnoreCase(ajax, "json", "xml");
+    }
+
+    /**
+     * 判断User-Agent 是不是来自于手机
+     */
+    public static boolean checkAgentIsMobile(String ua)
+    {
+        boolean flag = false;
+        if (!ua.contains("Windows NT") || (ua.contains("Windows NT") && ua.contains("compatible; MSIE 9.0;")))
+        {
+            // 排除 苹果桌面系统
+            if (!ua.contains("Windows NT") && !ua.contains("Macintosh"))
+            {
+                for (String item : agent)
+                {
+                    if (ua.contains(item))
+                    {
+                        flag = true;
+                        break;
+                    }
+                }
+            }
+        }
+        return flag;
+    }
+}

+ 604 - 0
src/main/java/com/benyun/common/utils/StringUtils.java

@@ -0,0 +1,604 @@
+package com.benyun.common.utils;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import org.springframework.util.AntPathMatcher;
+import com.benyun.common.constant.Constants;
+import com.benyun.common.utils.text.StrFormatter;
+
+/**
+ * 字符串工具类
+ *
+ * @author liugang
+ */
+public class StringUtils extends org.apache.commons.lang3.StringUtils
+{
+    /** 空字符串 */
+    private static final String NULLSTR = "";
+
+    /** 下划线 */
+    private static final char SEPARATOR = '_';
+
+    /**
+     * 获取参数不为空值
+     *
+     * @param value defaultValue 要判断的value
+     * @return value 返回值
+     */
+    public static <T> T nvl(T value, T defaultValue)
+    {
+        return value != null ? value : defaultValue;
+    }
+
+    /**
+     * * 判断一个Collection是否为空, 包含List,Set,Queue
+     *
+     * @param coll 要判断的Collection
+     * @return true:为空 false:非空
+     */
+    public static boolean isEmpty(Collection<?> coll)
+    {
+        return isNull(coll) || coll.isEmpty();
+    }
+
+    /**
+     * * 判断一个Collection是否非空,包含List,Set,Queue
+     *
+     * @param coll 要判断的Collection
+     * @return true:非空 false:空
+     */
+    public static boolean isNotEmpty(Collection<?> coll)
+    {
+        return !isEmpty(coll);
+    }
+
+    /**
+     * * 判断一个对象数组是否为空
+     *
+     * @param objects 要判断的对象数组
+     ** @return true:为空 false:非空
+     */
+    public static boolean isEmpty(Object[] objects)
+    {
+        return isNull(objects) || (objects.length == 0);
+    }
+
+    /**
+     * * 判断一个对象数组是否非空
+     *
+     * @param objects 要判断的对象数组
+     * @return true:非空 false:空
+     */
+    public static boolean isNotEmpty(Object[] objects)
+    {
+        return !isEmpty(objects);
+    }
+
+    /**
+     * * 判断一个Map是否为空
+     *
+     * @param map 要判断的Map
+     * @return true:为空 false:非空
+     */
+    public static boolean isEmpty(Map<?, ?> map)
+    {
+        return isNull(map) || map.isEmpty();
+    }
+
+    /**
+     * * 判断一个Map是否为空
+     *
+     * @param map 要判断的Map
+     * @return true:非空 false:空
+     */
+    public static boolean isNotEmpty(Map<?, ?> map)
+    {
+        return !isEmpty(map);
+    }
+
+    /**
+     * * 判断一个字符串是否为空串
+     *
+     * @param str String
+     * @return true:为空 false:非空
+     */
+    public static boolean isEmpty(String str)
+    {
+        return isNull(str) || NULLSTR.equals(str.trim());
+    }
+
+    /**
+     * * 判断一个字符串是否为非空串
+     *
+     * @param str String
+     * @return true:非空串 false:空串
+     */
+    public static boolean isNotEmpty(String str)
+    {
+        return !isEmpty(str);
+    }
+
+    /**
+     * * 判断一个对象是否为空
+     *
+     * @param object Object
+     * @return true:为空 false:非空
+     */
+    public static boolean isNull(Object object)
+    {
+        return object == null;
+    }
+
+    /**
+     * * 判断一个对象是否非空
+     *
+     * @param object Object
+     * @return true:非空 false:空
+     */
+    public static boolean isNotNull(Object object)
+    {
+        return !isNull(object);
+    }
+
+    /**
+     * * 判断一个对象是否是数组类型(Java基本型别的数组)
+     *
+     * @param object 对象
+     * @return true:是数组 false:不是数组
+     */
+    public static boolean isArray(Object object)
+    {
+        return isNotNull(object) && object.getClass().isArray();
+    }
+
+    /**
+     * 去空格
+     */
+    public static String trim(String str)
+    {
+        return (str == null ? "" : str.trim());
+    }
+
+    /**
+     * 截取字符串
+     *
+     * @param str 字符串
+     * @param start 开始
+     * @return 结果
+     */
+    public static String substring(final String str, int start)
+    {
+        if (str == null)
+        {
+            return NULLSTR;
+        }
+
+        if (start < 0)
+        {
+            start = str.length() + start;
+        }
+
+        if (start < 0)
+        {
+            start = 0;
+        }
+        if (start > str.length())
+        {
+            return NULLSTR;
+        }
+
+        return str.substring(start);
+    }
+
+    /**
+     * 截取字符串
+     *
+     * @param str 字符串
+     * @param start 开始
+     * @param end 结束
+     * @return 结果
+     */
+    public static String substring(final String str, int start, int end)
+    {
+        if (str == null)
+        {
+            return NULLSTR;
+        }
+
+        if (end < 0)
+        {
+            end = str.length() + end;
+        }
+        if (start < 0)
+        {
+            start = str.length() + start;
+        }
+
+        if (end > str.length())
+        {
+            end = str.length();
+        }
+
+        if (start > end)
+        {
+            return NULLSTR;
+        }
+
+        if (start < 0)
+        {
+            start = 0;
+        }
+        if (end < 0)
+        {
+            end = 0;
+        }
+
+        return str.substring(start, end);
+    }
+
+    /**
+     * 格式化文本, {} 表示占位符<br>
+     * 此方法只是简单将占位符 {} 按照顺序替换为参数<br>
+     * 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可<br>
+     * 例:<br>
+     * 通常使用:format("this is {} for {}", "a", "b") -> this is a for b<br>
+     * 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a<br>
+     * 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b<br>
+     *
+     * @param template 文本模板,被替换的部分用 {} 表示
+     * @param params 参数值
+     * @return 格式化后的文本
+     */
+    public static String format(String template, Object... params)
+    {
+        if (isEmpty(params) || isEmpty(template))
+        {
+            return template;
+        }
+        return StrFormatter.format(template, params);
+    }
+
+    /**
+     * 是否为http(s)://开头
+     *
+     * @param link 链接
+     * @return 结果
+     */
+    public static boolean ishttp(String link)
+    {
+        return StringUtils.startsWithAny(link, Constants.HTTP, Constants.HTTPS);
+    }
+
+    /**
+     * 字符串转set
+     *
+     * @param str 字符串
+     * @param sep 分隔符
+     * @return set集合
+     */
+    public static final Set<String> str2Set(String str, String sep)
+    {
+        return new HashSet<String>(str2List(str, sep, true, false));
+    }
+
+    /**
+     * 字符串转list
+     *
+     * @param str 字符串
+     * @param sep 分隔符
+     * @param filterBlank 过滤纯空白
+     * @param trim 去掉首尾空白
+     * @return list集合
+     */
+    public static final List<String> str2List(String str, String sep, boolean filterBlank, boolean trim)
+    {
+        List<String> list = new ArrayList<String>();
+        if (StringUtils.isEmpty(str))
+        {
+            return list;
+        }
+
+        // 过滤空白字符串
+        if (filterBlank && StringUtils.isBlank(str))
+        {
+            return list;
+        }
+        String[] split = str.split(sep);
+        for (String string : split)
+        {
+            if (filterBlank && StringUtils.isBlank(string))
+            {
+                continue;
+            }
+            if (trim)
+            {
+                string = string.trim();
+            }
+            list.add(string);
+        }
+
+        return list;
+    }
+
+    /**
+     * 查找指定字符串是否包含指定字符串列表中的任意一个字符串同时串忽略大小写
+     *
+     * @param cs 指定字符串
+     * @param searchCharSequences 需要检查的字符串数组
+     * @return 是否包含任意一个字符串
+     */
+    public static boolean containsAnyIgnoreCase(CharSequence cs, CharSequence... searchCharSequences)
+    {
+        if (isEmpty(cs) || isEmpty(searchCharSequences))
+        {
+            return false;
+        }
+        for (CharSequence testStr : searchCharSequences)
+        {
+            if (containsIgnoreCase(cs, testStr))
+            {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * 驼峰转下划线命名
+     */
+    public static String toUnderScoreCase(String str)
+    {
+        if (str == null)
+        {
+            return null;
+        }
+        StringBuilder sb = new StringBuilder();
+        // 前置字符是否大写
+        boolean preCharIsUpperCase = true;
+        // 当前字符是否大写
+        boolean curreCharIsUpperCase = true;
+        // 下一字符是否大写
+        boolean nexteCharIsUpperCase = true;
+        for (int i = 0; i < str.length(); i++)
+        {
+            char c = str.charAt(i);
+            if (i > 0)
+            {
+                preCharIsUpperCase = Character.isUpperCase(str.charAt(i - 1));
+            }
+            else
+            {
+                preCharIsUpperCase = false;
+            }
+
+            curreCharIsUpperCase = Character.isUpperCase(c);
+
+            if (i < (str.length() - 1))
+            {
+                nexteCharIsUpperCase = Character.isUpperCase(str.charAt(i + 1));
+            }
+
+            if (preCharIsUpperCase && curreCharIsUpperCase && !nexteCharIsUpperCase)
+            {
+                sb.append(SEPARATOR);
+            }
+            else if ((i != 0 && !preCharIsUpperCase) && curreCharIsUpperCase)
+            {
+                sb.append(SEPARATOR);
+            }
+            sb.append(Character.toLowerCase(c));
+        }
+
+        return sb.toString();
+    }
+
+    /**
+     * 是否包含字符串
+     *
+     * @param str 验证字符串
+     * @param strs 字符串组
+     * @return 包含返回true
+     */
+    public static boolean inStringIgnoreCase(String str, String... strs)
+    {
+        if (str != null && strs != null)
+        {
+            for (String s : strs)
+            {
+                if (str.equalsIgnoreCase(trim(s)))
+                {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    /**
+     * 删除最后一个字符串
+     *
+     * @param str 输入字符串
+     * @param spit 以什么类型结尾的
+     * @return 截取后的字符串
+     */
+    public static String lastStringDel(String str, String spit)
+    {
+        if (!StringUtils.isEmpty(str) && str.endsWith(spit))
+        {
+            return str.subSequence(0, str.length() - 1).toString();
+        }
+        return str;
+    }
+
+    /**
+     * 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。 例如:HELLO_WORLD->HelloWorld
+     *
+     * @param name 转换前的下划线大写方式命名的字符串
+     * @return 转换后的驼峰式命名的字符串
+     */
+    public static String convertToCamelCase(String name)
+    {
+        StringBuilder result = new StringBuilder();
+        // 快速检查
+        if (name == null || name.isEmpty())
+        {
+            // 没必要转换
+            return "";
+        }
+        else if (!name.contains("_"))
+        {
+            // 不含下划线,仅将首字母大写
+            return name.substring(0, 1).toUpperCase() + name.substring(1);
+        }
+        // 用下划线将原始字符串分割
+        String[] camels = name.split("_");
+        for (String camel : camels)
+        {
+            // 跳过原始字符串中开头、结尾的下换线或双重下划线
+            if (camel.isEmpty())
+            {
+                continue;
+            }
+            // 首字母大写
+            result.append(camel.substring(0, 1).toUpperCase());
+            result.append(camel.substring(1).toLowerCase());
+        }
+        return result.toString();
+    }
+
+    /**
+     * 驼峰式命名法
+     * 例如:user_name->userName
+     */
+    public static String toCamelCase(String s)
+    {
+        if (s == null)
+        {
+            return null;
+        }
+        if (s.indexOf(SEPARATOR) == -1)
+        {
+            return s;
+        }
+        s = s.toLowerCase();
+        StringBuilder sb = new StringBuilder(s.length());
+        boolean upperCase = false;
+        for (int i = 0; i < s.length(); i++)
+        {
+            char c = s.charAt(i);
+
+            if (c == SEPARATOR)
+            {
+                upperCase = true;
+            }
+            else if (upperCase)
+            {
+                sb.append(Character.toUpperCase(c));
+                upperCase = false;
+            }
+            else
+            {
+                sb.append(c);
+            }
+        }
+        return sb.toString();
+    }
+
+    /**
+     * 查找指定字符串是否匹配指定字符串列表中的任意一个字符串
+     *
+     * @param str 指定字符串
+     * @param strs 需要检查的字符串数组
+     * @return 是否匹配
+     */
+    public static boolean matches(String str, List<String> strs)
+    {
+        if (isEmpty(str) || isEmpty(strs))
+        {
+            return false;
+        }
+        for (String pattern : strs)
+        {
+            if (isMatch(pattern, str))
+            {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * 判断url是否与规则配置:
+     * ? 表示单个字符;
+     * * 表示一层路径内的任意字符串,不可跨层级;
+     * ** 表示任意层路径;
+     *
+     * @param pattern 匹配规则
+     * @param url 需要匹配的url
+     * @return
+     */
+    public static boolean isMatch(String pattern, String url)
+    {
+        AntPathMatcher matcher = new AntPathMatcher();
+        return matcher.match(pattern, url);
+    }
+
+    @SuppressWarnings("unchecked")
+    public static <T> T cast(Object obj)
+    {
+        return (T) obj;
+    }
+
+    /**
+     * 数字左边补齐0,使之达到指定长度。注意,如果数字转换为字符串后,长度大于size,则只保留 最后size个字符。
+     *
+     * @param num 数字对象
+     * @param size 字符串指定长度
+     * @return 返回数字的字符串格式,该字符串为指定长度。
+     */
+    public static final String padl(final Number num, final int size)
+    {
+        return padl(num.toString(), size, '0');
+    }
+
+    /**
+     * 字符串左补齐。如果原始字符串s长度大于size,则只保留最后size个字符。
+     *
+     * @param s 原始字符串
+     * @param size 字符串指定长度
+     * @param c 用于补齐的字符
+     * @return 返回指定长度的字符串,由原字符串左补齐或截取得到。
+     */
+    public static final String padl(final String s, final int size, final char c)
+    {
+        final StringBuilder sb = new StringBuilder(size);
+        if (s != null)
+        {
+            final int len = s.length();
+            if (s.length() <= size)
+            {
+                for (int i = size - len; i > 0; i--)
+                {
+                    sb.append(c);
+                }
+                sb.append(s);
+            }
+            else
+            {
+                return s.substring(len - size, len);
+            }
+        }
+        else
+        {
+            for (int i = size; i > 0; i--)
+            {
+                sb.append(c);
+            }
+        }
+        return sb.toString();
+    }
+}

+ 99 - 0
src/main/java/com/benyun/common/utils/Threads.java

@@ -0,0 +1,99 @@
+package com.benyun.common.utils;
+
+import java.util.concurrent.CancellationException;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * 线程相关工具类.
+ *
+ * @author liugang
+ */
+public class Threads
+{
+    private static final Logger logger = LoggerFactory.getLogger(Threads.class);
+
+    /**
+     * sleep等待,单位为毫秒
+     */
+    public static void sleep(long milliseconds)
+    {
+        try
+        {
+            Thread.sleep(milliseconds);
+        }
+        catch (InterruptedException e)
+        {
+            return;
+        }
+    }
+
+    /**
+     * 停止线程池
+     * 先使用shutdown, 停止接收新任务并尝试完成所有已存在任务.
+     * 如果超时, 则调用shutdownNow, 取消在workQueue中Pending的任务,并中断所有阻塞函数.
+     * 如果仍人超時,則強制退出.
+     * 另对在shutdown时线程本身被调用中断做了处理.
+     */
+    public static void shutdownAndAwaitTermination(ExecutorService pool)
+    {
+        if (pool != null && !pool.isShutdown())
+        {
+            pool.shutdown();
+            try
+            {
+                if (!pool.awaitTermination(120, TimeUnit.SECONDS))
+                {
+                    pool.shutdownNow();
+                    if (!pool.awaitTermination(120, TimeUnit.SECONDS))
+                    {
+                        logger.info("Pool did not terminate");
+                    }
+                }
+            }
+            catch (InterruptedException ie)
+            {
+                pool.shutdownNow();
+                Thread.currentThread().interrupt();
+            }
+        }
+    }
+
+    /**
+     * 打印线程异常信息
+     */
+    public static void printException(Runnable r, Throwable t)
+    {
+        if (t == null && r instanceof Future<?>)
+        {
+            try
+            {
+                Future<?> future = (Future<?>) r;
+                if (future.isDone())
+                {
+                    future.get();
+                }
+            }
+            catch (CancellationException ce)
+            {
+                t = ce;
+            }
+            catch (ExecutionException ee)
+            {
+                t = ee.getCause();
+            }
+            catch (InterruptedException ie)
+            {
+                Thread.currentThread().interrupt();
+            }
+        }
+        if (t != null)
+        {
+            logger.error(t.getMessage(), t);
+        }
+    }
+}

+ 137 - 0
src/main/java/com/benyun/common/utils/TreeUtils.java

@@ -0,0 +1,137 @@
+package com.benyun.common.utils;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import com.benyun.project.system.menu.domain.Menu;
+
+/**
+ * 权限数据处理
+ *
+ * @author liugang
+ */
+public class TreeUtils
+{
+    /**
+     * 根据父节点的ID获取所有子节点
+     *
+     * @param list 分类表
+     * @param parentId 传入的父节点ID
+     * @return String
+     */
+    public static List<Menu> getChildPerms(List<Menu> list, int parentId)
+    {
+        List<Menu> returnList = new ArrayList<Menu>();
+        for (Iterator<Menu> iterator = list.iterator(); iterator.hasNext();)
+        {
+            Menu t = (Menu) iterator.next();
+            // 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
+            if (t.getParentId() == parentId)
+            {
+                recursionFn(list, t);
+                returnList.add(t);
+            }
+        }
+        return returnList;
+    }
+
+    /**
+     * 递归列表
+     *
+     * @param list
+     * @param t
+     */
+    private static void recursionFn(List<Menu> list, Menu t)
+    {
+        // 得到子节点列表
+        List<Menu> childList = getChildList(list, t);
+        t.setChildren(childList);
+        for (Menu tChild : childList)
+        {
+            if (hasChild(list, tChild))
+            {
+                recursionFn(list, tChild);
+            }
+        }
+    }
+
+    /**
+     * 得到子节点列表
+     */
+    private static List<Menu> getChildList(List<Menu> list, Menu t)
+    {
+
+        List<Menu> tlist = new ArrayList<Menu>();
+        Iterator<Menu> it = list.iterator();
+        while (it.hasNext())
+        {
+            Menu n = (Menu) it.next();
+            if (n.getParentId().longValue() == t.getMenuId().longValue())
+            {
+                tlist.add(n);
+            }
+        }
+        return tlist;
+    }
+
+    List<Menu> returnList = new ArrayList<Menu>();
+
+    /**
+     * 根据父节点的ID获取所有子节点
+     *
+     * @param list 分类表
+     * @param typeId 传入的父节点ID
+     * @param prefix 子节点前缀
+     */
+    public List<Menu> getChildPerms(List<Menu> list, int typeId, String prefix)
+    {
+        if (list == null)
+        {
+            return null;
+        }
+        for (Iterator<Menu> iterator = list.iterator(); iterator.hasNext();)
+        {
+            Menu node = (Menu) iterator.next();
+            // 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
+            if (node.getParentId() == typeId)
+            {
+                recursionFn(list, node, prefix);
+            }
+            // 二、遍历所有的父节点下的所有子节点
+            /*
+             * if (node.getParentId()==0) { recursionFn(list, node); }
+             */
+        }
+        return returnList;
+    }
+
+    private void recursionFn(List<Menu> list, Menu node, String p)
+    {
+        // 得到子节点列表
+        List<Menu> childList = getChildList(list, node);
+        if (hasChild(list, node))
+        {
+            // 判断是否有子节点
+            returnList.add(node);
+            Iterator<Menu> it = childList.iterator();
+            while (it.hasNext())
+            {
+                Menu n = (Menu) it.next();
+                n.setMenuName(p + n.getMenuName());
+                recursionFn(list, n, p + p);
+            }
+        }
+        else
+        {
+            returnList.add(node);
+        }
+    }
+
+    /**
+     * 判断是否有子节点
+     */
+    private static boolean hasChild(List<Menu> list, Menu t)
+    {
+        return getChildList(list, t).size() > 0;
+    }
+}

+ 110 - 0
src/main/java/com/benyun/common/utils/bean/BeanUtils.java

@@ -0,0 +1,110 @@
+package com.benyun.common.utils.bean;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * Bean 工具类
+ *
+ * @author liugang
+ */
+public class BeanUtils extends org.springframework.beans.BeanUtils
+{
+    /** Bean方法名中属性名开始的下标 */
+    private static final int BEAN_METHOD_PROP_INDEX = 3;
+
+    /** * 匹配getter方法的正则表达式 */
+    private static final Pattern GET_PATTERN = Pattern.compile("get(\\p{javaUpperCase}\\w*)");
+
+    /** * 匹配setter方法的正则表达式 */
+    private static final Pattern SET_PATTERN = Pattern.compile("set(\\p{javaUpperCase}\\w*)");
+
+    /**
+     * Bean属性复制工具方法。
+     *
+     * @param dest 目标对象
+     * @param src 源对象
+     */
+    public static void copyBeanProp(Object dest, Object src)
+    {
+        try
+        {
+            copyProperties(src, dest);
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 获取对象的setter方法。
+     *
+     * @param obj 对象
+     * @return 对象的setter方法列表
+     */
+    public static List<Method> getSetterMethods(Object obj)
+    {
+        // setter方法列表
+        List<Method> setterMethods = new ArrayList<Method>();
+
+        // 获取所有方法
+        Method[] methods = obj.getClass().getMethods();
+
+        // 查找setter方法
+
+        for (Method method : methods)
+        {
+            Matcher m = SET_PATTERN.matcher(method.getName());
+            if (m.matches() && (method.getParameterTypes().length == 1))
+            {
+                setterMethods.add(method);
+            }
+        }
+        // 返回setter方法列表
+        return setterMethods;
+    }
+
+    /**
+     * 获取对象的getter方法。
+     *
+     * @param obj 对象
+     * @return 对象的getter方法列表
+     */
+
+    public static List<Method> getGetterMethods(Object obj)
+    {
+        // getter方法列表
+        List<Method> getterMethods = new ArrayList<Method>();
+        // 获取所有方法
+        Method[] methods = obj.getClass().getMethods();
+        // 查找getter方法
+        for (Method method : methods)
+        {
+            Matcher m = GET_PATTERN.matcher(method.getName());
+            if (m.matches() && (method.getParameterTypes().length == 0))
+            {
+                getterMethods.add(method);
+            }
+        }
+        // 返回getter方法列表
+        return getterMethods;
+    }
+
+    /**
+     * 检查Bean方法名中的属性名是否相等。<br>
+     * 如getName()和setName()属性名一样,getName()和setAge()属性名不一样。
+     *
+     * @param m1 方法名1
+     * @param m2 方法名2
+     * @return 属性名一样返回true,否则返回false
+     */
+
+    public static boolean isMethodPropEquals(String m1, String m2)
+    {
+        return m1.substring(BEAN_METHOD_PROP_INDEX).equals(m2.substring(BEAN_METHOD_PROP_INDEX));
+    }
+}

+ 24 - 0
src/main/java/com/benyun/common/utils/bean/BeanValidators.java

@@ -0,0 +1,24 @@
+package com.benyun.common.utils.bean;
+
+import java.util.Set;
+import javax.validation.ConstraintViolation;
+import javax.validation.ConstraintViolationException;
+import javax.validation.Validator;
+
+/**
+ * bean对象属性验证
+ *
+ * @author liugang
+ */
+public class BeanValidators
+{
+    public static void validateWithException(Validator validator, Object object, Class<?>... groups)
+            throws ConstraintViolationException
+    {
+        Set<ConstraintViolation<Object>> constraintViolations = validator.validate(object, groups);
+        if (!constraintViolations.isEmpty())
+        {
+            throw new ConstraintViolationException(constraintViolations);
+        }
+    }
+}

+ 76 - 0
src/main/java/com/benyun/common/utils/file/FileTypeUtils.java

@@ -0,0 +1,76 @@
+package com.benyun.common.utils.file;
+
+import java.io.File;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * 文件类型工具类
+ *
+ * @author liugang
+ */
+public class FileTypeUtils
+{
+    /**
+     * 获取文件类型
+     * <p>
+     * 例如: liugang.txt, 返回: txt
+     *
+     * @param file 文件名
+     * @return 后缀(不含".")
+     */
+    public static String getFileType(File file)
+    {
+        if (null == file)
+        {
+            return StringUtils.EMPTY;
+        }
+        return getFileType(file.getName());
+    }
+
+    /**
+     * 获取文件类型
+     * <p>
+     * 例如: liugang.txt, 返回: txt
+     *
+     * @param fileName 文件名
+     * @return 后缀(不含".")
+     */
+    public static String getFileType(String fileName)
+    {
+        int separatorIndex = fileName.lastIndexOf(".");
+        if (separatorIndex < 0)
+        {
+            return "";
+        }
+        return fileName.substring(separatorIndex + 1).toLowerCase();
+    }
+
+    /**
+     * 获取文件类型
+     *
+     * @param photoByte 文件字节码
+     * @return 后缀(不含".")
+     */
+    public static String getFileExtendName(byte[] photoByte)
+    {
+        String strFileExtendName = "JPG";
+        if ((photoByte[0] == 71) && (photoByte[1] == 73) && (photoByte[2] == 70) && (photoByte[3] == 56)
+                && ((photoByte[4] == 55) || (photoByte[4] == 57)) && (photoByte[5] == 97))
+        {
+            strFileExtendName = "GIF";
+        }
+        else if ((photoByte[6] == 74) && (photoByte[7] == 70) && (photoByte[8] == 73) && (photoByte[9] == 70))
+        {
+            strFileExtendName = "JPG";
+        }
+        else if ((photoByte[0] == 66) && (photoByte[1] == 77))
+        {
+            strFileExtendName = "BMP";
+        }
+        else if ((photoByte[1] == 80) && (photoByte[2] == 78) && (photoByte[3] == 71))
+        {
+            strFileExtendName = "PNG";
+        }
+        return strFileExtendName;
+    }
+}

+ 233 - 0
src/main/java/com/benyun/common/utils/file/FileUploadUtils.java

@@ -0,0 +1,233 @@
+package com.benyun.common.utils.file;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Paths;
+import java.util.Objects;
+import org.apache.commons.io.FilenameUtils;
+import org.springframework.web.multipart.MultipartFile;
+import com.benyun.common.constant.Constants;
+import com.benyun.common.exception.file.FileNameLengthLimitExceededException;
+import com.benyun.common.exception.file.FileSizeLimitExceededException;
+import com.benyun.common.exception.file.InvalidExtensionException;
+import com.benyun.common.utils.DateUtils;
+import com.benyun.common.utils.StringUtils;
+import com.benyun.common.utils.uuid.Seq;
+import com.benyun.framework.config.BenYunConfig;
+
+/**
+ * 文件上传工具类
+ *
+ * @author liugang
+ */
+public class FileUploadUtils
+{
+    /**
+     * 默认大小 50M
+     */
+    public static final long DEFAULT_MAX_SIZE = 50 * 1024 * 1024;
+
+    /**
+     * 默认的文件名最大长度 100
+     */
+    public static final int DEFAULT_FILE_NAME_LENGTH = 100;
+
+    /**
+     * 默认上传的地址
+     */
+    private static String defaultBaseDir = BenYunConfig.getProfile();
+
+    public static void setDefaultBaseDir(String defaultBaseDir)
+    {
+        FileUploadUtils.defaultBaseDir = defaultBaseDir;
+    }
+
+    public static String getDefaultBaseDir()
+    {
+        return defaultBaseDir;
+    }
+
+    /**
+     * 以默认配置进行文件上传
+     *
+     * @param file 上传的文件
+     * @return 文件名称
+     * @throws Exception
+     */
+    public static final String upload(MultipartFile file) throws IOException
+    {
+        try
+        {
+            return upload(getDefaultBaseDir(), file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
+        }
+        catch (Exception e)
+        {
+            throw new IOException(e.getMessage(), e);
+        }
+    }
+
+    /**
+     * 根据文件路径上传
+     *
+     * @param baseDir 相对应用的基目录
+     * @param file 上传的文件
+     * @return 文件名称
+     * @throws IOException
+     */
+    public static final String upload(String baseDir, MultipartFile file) throws IOException
+    {
+        try
+        {
+            return upload(baseDir, file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
+        }
+        catch (Exception e)
+        {
+            throw new IOException(e.getMessage(), e);
+        }
+    }
+
+    /**
+     * 文件上传
+     *
+     * @param baseDir 相对应用的基目录
+     * @param file 上传的文件
+     * @param allowedExtension 上传文件类型
+     * @return 返回上传成功的文件名
+     * @throws FileSizeLimitExceededException 如果超出最大大小
+     * @throws FileNameLengthLimitExceededException 文件名太长
+     * @throws IOException 比如读写文件出错时
+     * @throws InvalidExtensionException 文件校验异常
+     */
+    public static final String upload(String baseDir, MultipartFile file, String[] allowedExtension)
+            throws FileSizeLimitExceededException, IOException, FileNameLengthLimitExceededException,
+            InvalidExtensionException
+    {
+        int fileNamelength = Objects.requireNonNull(file.getOriginalFilename()).length();
+        if (fileNamelength > FileUploadUtils.DEFAULT_FILE_NAME_LENGTH)
+        {
+            throw new FileNameLengthLimitExceededException(FileUploadUtils.DEFAULT_FILE_NAME_LENGTH);
+        }
+
+        assertAllowed(file, allowedExtension);
+
+        String fileName = extractFilename(file);
+
+        String absPath = getAbsoluteFile(baseDir, fileName).getAbsolutePath();
+        file.transferTo(Paths.get(absPath));
+        return getPathFileName(baseDir, fileName);
+    }
+
+    /**
+     * 编码文件名
+     */
+    public static final String extractFilename(MultipartFile file)
+    {
+        return StringUtils.format("{}/{}_{}.{}", DateUtils.datePath(),
+                FilenameUtils.getBaseName(file.getOriginalFilename()), Seq.getId(Seq.uploadSeqType), getExtension(file));
+    }
+
+    public static final File getAbsoluteFile(String uploadDir, String fileName) throws IOException
+    {
+        File desc = new File(uploadDir + File.separator + fileName);
+
+        if (!desc.exists())
+        {
+            if (!desc.getParentFile().exists())
+            {
+                desc.getParentFile().mkdirs();
+            }
+        }
+        return desc;
+    }
+
+    public static final String getPathFileName(String uploadDir, String fileName) throws IOException
+    {
+        int dirLastIndex = BenYunConfig.getProfile().length() + 1;
+        String currentDir = StringUtils.substring(uploadDir, dirLastIndex);
+        return Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName;
+    }
+
+    /**
+     * 文件大小校验
+     *
+     * @param file 上传的文件
+     * @return
+     * @throws FileSizeLimitExceededException 如果超出最大大小
+     * @throws InvalidExtensionException
+     */
+    public static final void assertAllowed(MultipartFile file, String[] allowedExtension)
+            throws FileSizeLimitExceededException, InvalidExtensionException
+    {
+        long size = file.getSize();
+        if (size > DEFAULT_MAX_SIZE)
+        {
+            throw new FileSizeLimitExceededException(DEFAULT_MAX_SIZE / 1024 / 1024);
+        }
+
+        String fileName = file.getOriginalFilename();
+        String extension = getExtension(file);
+        if (allowedExtension != null && !isAllowedExtension(extension, allowedExtension))
+        {
+            if (allowedExtension == MimeTypeUtils.IMAGE_EXTENSION)
+            {
+                throw new InvalidExtensionException.InvalidImageExtensionException(allowedExtension, extension,
+                        fileName);
+            }
+            else if (allowedExtension == MimeTypeUtils.FLASH_EXTENSION)
+            {
+                throw new InvalidExtensionException.InvalidFlashExtensionException(allowedExtension, extension,
+                        fileName);
+            }
+            else if (allowedExtension == MimeTypeUtils.MEDIA_EXTENSION)
+            {
+                throw new InvalidExtensionException.InvalidMediaExtensionException(allowedExtension, extension,
+                        fileName);
+            }
+            else if (allowedExtension == MimeTypeUtils.VIDEO_EXTENSION)
+            {
+                throw new InvalidExtensionException.InvalidVideoExtensionException(allowedExtension, extension,
+                        fileName);
+            }
+            else
+            {
+                throw new InvalidExtensionException(allowedExtension, extension, fileName);
+            }
+        }
+
+    }
+
+    /**
+     * 判断MIME类型是否是允许的MIME类型
+     *
+     * @param extension
+     * @param allowedExtension
+     * @return
+     */
+    public static final boolean isAllowedExtension(String extension, String[] allowedExtension)
+    {
+        for (String str : allowedExtension)
+        {
+            if (str.equalsIgnoreCase(extension))
+            {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * 获取文件名的后缀
+     *
+     * @param file 表单文件
+     * @return 后缀名
+     */
+    public static final String getExtension(MultipartFile file)
+    {
+        String extension = FilenameUtils.getExtension(file.getOriginalFilename());
+        if (StringUtils.isEmpty(extension))
+        {
+            extension = MimeTypeUtils.getExtension(Objects.requireNonNull(file.getContentType()));
+        }
+        return extension;
+    }
+}

+ 291 - 0
src/main/java/com/benyun/common/utils/file/FileUtils.java

@@ -0,0 +1,291 @@
+package com.benyun.common.utils.file;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.ArrayUtils;
+import com.benyun.common.utils.DateUtils;
+import com.benyun.common.utils.StringUtils;
+import com.benyun.common.utils.uuid.IdUtils;
+import com.benyun.framework.config.BenYunConfig;
+
+/**
+ * 文件处理工具类
+ *
+ * @author liugang
+ */
+public class FileUtils
+{
+    public static String FILENAME_PATTERN = "[a-zA-Z0-9_\\-\\|\\.\\u4e00-\\u9fa5]+";
+
+    /**
+     * 输出指定文件的byte数组
+     *
+     * @param filePath 文件路径
+     * @param os 输出流
+     * @return
+     */
+    public static void writeBytes(String filePath, OutputStream os) throws IOException
+    {
+        FileInputStream fis = null;
+        try
+        {
+            File file = new File(filePath);
+            if (!file.exists())
+            {
+                throw new FileNotFoundException(filePath);
+            }
+            fis = new FileInputStream(file);
+            byte[] b = new byte[1024];
+            int length;
+            while ((length = fis.read(b)) > 0)
+            {
+                os.write(b, 0, length);
+            }
+        }
+        catch (IOException e)
+        {
+            throw e;
+        }
+        finally
+        {
+            IOUtils.close(os);
+            IOUtils.close(fis);
+        }
+    }
+
+    /**
+     * 写数据到文件中
+     *
+     * @param data 数据
+     * @return 目标文件
+     * @throws IOException IO异常
+     */
+    public static String writeImportBytes(byte[] data) throws IOException
+    {
+        return writeBytes(data, BenYunConfig.getImportPath());
+    }
+
+    /**
+     * 写数据到文件中
+     *
+     * @param data 数据
+     * @param uploadDir 目标文件
+     * @return 目标文件
+     * @throws IOException IO异常
+     */
+    public static String writeBytes(byte[] data, String uploadDir) throws IOException
+    {
+        FileOutputStream fos = null;
+        String pathName = "";
+        try
+        {
+            String extension = getFileExtendName(data);
+            pathName = DateUtils.datePath() + "/" + IdUtils.fastUUID() + "." + extension;
+            File file = FileUploadUtils.getAbsoluteFile(uploadDir, pathName);
+            fos = new FileOutputStream(file);
+            fos.write(data);
+        }
+        finally
+        {
+            IOUtils.close(fos);
+        }
+        return FileUploadUtils.getPathFileName(uploadDir, pathName);
+    }
+
+    /**
+     * 删除文件
+     *
+     * @param filePath 文件
+     * @return
+     */
+    public static boolean deleteFile(String filePath)
+    {
+        boolean flag = false;
+        File file = new File(filePath);
+        // 路径为文件且不为空则进行删除
+        if (file.isFile() && file.exists())
+        {
+            file.delete();
+            flag = true;
+        }
+        return flag;
+    }
+
+    /**
+     * 文件名称验证
+     *
+     * @param filename 文件名称
+     * @return true 正常 false 非法
+     */
+    public static boolean isValidFilename(String filename)
+    {
+        return filename.matches(FILENAME_PATTERN);
+    }
+
+    /**
+     * 检查文件是否可下载
+     *
+     * @param resource 需要下载的文件
+     * @return true 正常 false 非法
+     */
+    public static boolean checkAllowDownload(String resource)
+    {
+        // 禁止目录上跳级别
+        if (StringUtils.contains(resource, ".."))
+        {
+            return false;
+        }
+
+        // 检查允许下载的文件规则
+        if (ArrayUtils.contains(MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION, FileTypeUtils.getFileType(resource)))
+        {
+            return true;
+        }
+
+        // 不在允许下载的文件规则
+        return false;
+    }
+
+    /**
+     * 下载文件名重新编码
+     *
+     * @param request 请求对象
+     * @param fileName 文件名
+     * @return 编码后的文件名
+     */
+    public static String setFileDownloadHeader(HttpServletRequest request, String fileName) throws UnsupportedEncodingException
+    {
+        final String agent = request.getHeader("USER-AGENT");
+        String filename = fileName;
+        if (agent.contains("MSIE"))
+        {
+            // IE浏览器
+            filename = URLEncoder.encode(filename, "utf-8");
+            filename = filename.replace("+", " ");
+        }
+        else if (agent.contains("Firefox"))
+        {
+            // 火狐浏览器
+            filename = new String(fileName.getBytes(), "ISO8859-1");
+        }
+        else if (agent.contains("Chrome"))
+        {
+            // google浏览器
+            filename = URLEncoder.encode(filename, "utf-8");
+        }
+        else
+        {
+            // 其它浏览器
+            filename = URLEncoder.encode(filename, "utf-8");
+        }
+        return filename;
+    }
+
+    /**
+     * 下载文件名重新编码
+     *
+     * @param response 响应对象
+     * @param realFileName 真实文件名
+     * @return
+     */
+    public static void setAttachmentResponseHeader(HttpServletResponse response, String realFileName) throws UnsupportedEncodingException
+    {
+        String percentEncodedFileName = percentEncode(realFileName);
+
+        StringBuilder contentDispositionValue = new StringBuilder();
+        contentDispositionValue.append("attachment; filename=")
+                .append(percentEncodedFileName)
+                .append(";")
+                .append("filename*=")
+                .append("utf-8''")
+                .append(percentEncodedFileName);
+
+        response.setHeader("Content-disposition", contentDispositionValue.toString());
+    }
+
+    /**
+     * 百分号编码工具方法
+     *
+     * @param s 需要百分号编码的字符串
+     * @return 百分号编码后的字符串
+     */
+    public static String percentEncode(String s) throws UnsupportedEncodingException
+    {
+        String encode = URLEncoder.encode(s, StandardCharsets.UTF_8.toString());
+        return encode.replaceAll("\\+", "%20");
+    }
+
+    /**
+     * 获取图像后缀
+     *
+     * @param photoByte 图像数据
+     * @return 后缀名
+     */
+    public static String getFileExtendName(byte[] photoByte)
+    {
+        String strFileExtendName = "jpg";
+        if ((photoByte[0] == 71) && (photoByte[1] == 73) && (photoByte[2] == 70) && (photoByte[3] == 56)
+                && ((photoByte[4] == 55) || (photoByte[4] == 57)) && (photoByte[5] == 97))
+        {
+            strFileExtendName = "gif";
+        }
+        else if ((photoByte[6] == 74) && (photoByte[7] == 70) && (photoByte[8] == 73) && (photoByte[9] == 70))
+        {
+            strFileExtendName = "jpg";
+        }
+        else if ((photoByte[0] == 66) && (photoByte[1] == 77))
+        {
+            strFileExtendName = "bmp";
+        }
+        else if ((photoByte[1] == 80) && (photoByte[2] == 78) && (photoByte[3] == 71))
+        {
+            strFileExtendName = "png";
+        }
+        return strFileExtendName;
+    }
+
+    /**
+     * 获取文件名称 /profile/upload/2022/04/16/liugang.png -- liugang.png
+     *
+     * @param fileName 路径名称
+     * @return 没有文件路径的名称
+     */
+    public static String getName(String fileName)
+    {
+        if (fileName == null)
+        {
+            return null;
+        }
+        int lastUnixPos = fileName.lastIndexOf('/');
+        int lastWindowsPos = fileName.lastIndexOf('\\');
+        int index = Math.max(lastUnixPos, lastWindowsPos);
+        return fileName.substring(index + 1);
+    }
+
+    /**
+     * 获取不带后缀文件名称 /profile/upload/2022/04/16/liugang.png -- liugang
+     *
+     * @param fileName 路径名称
+     * @return 没有文件路径和后缀的名称
+     */
+    public static String getNameNotSuffix(String fileName)
+    {
+        if (fileName == null)
+        {
+            return null;
+        }
+        String baseName = FilenameUtils.getBaseName(fileName);
+        return baseName;
+    }
+}

+ 98 - 0
src/main/java/com/benyun/common/utils/file/ImageUtils.java

@@ -0,0 +1,98 @@
+package com.benyun.common.utils.file;
+
+import java.io.ByteArrayInputStream;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.Arrays;
+import org.apache.poi.util.IOUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.benyun.common.constant.Constants;
+import com.benyun.common.utils.StringUtils;
+import com.benyun.framework.config.BenYunConfig;
+
+/**
+ * 图片处理工具类
+ *
+ * @author liugang
+ */
+public class ImageUtils
+{
+    private static final Logger log = LoggerFactory.getLogger(ImageUtils.class);
+
+    public static byte[] getImage(String imagePath)
+    {
+        InputStream is = getFile(imagePath);
+        try
+        {
+            return IOUtils.toByteArray(is);
+        }
+        catch (Exception e)
+        {
+            log.error("图片加载异常 {}", e);
+            return null;
+        }
+        finally
+        {
+            IOUtils.closeQuietly(is);
+        }
+    }
+
+    public static InputStream getFile(String imagePath)
+    {
+        try
+        {
+            byte[] result = readFile(imagePath);
+            result = Arrays.copyOf(result, result.length);
+            return new ByteArrayInputStream(result);
+        }
+        catch (Exception e)
+        {
+            log.error("获取图片异常 {}", e);
+        }
+        return null;
+    }
+
+    /**
+     * 读取文件为字节数据
+     *
+     * @param url 地址
+     * @return 字节数据
+     */
+    public static byte[] readFile(String url)
+    {
+        InputStream in = null;
+        try
+        {
+            if (url.startsWith("http"))
+            {
+                // 网络地址
+                URL urlObj = new URL(url);
+                URLConnection urlConnection = urlObj.openConnection();
+                urlConnection.setConnectTimeout(30 * 1000);
+                urlConnection.setReadTimeout(60 * 1000);
+                urlConnection.setDoInput(true);
+                in = urlConnection.getInputStream();
+            }
+            else
+            {
+                // 本机地址
+                String localPath = BenYunConfig.getProfile();
+                String downloadPath = localPath + StringUtils.substringAfter(url, Constants.RESOURCE_PREFIX);
+                in = new FileInputStream(downloadPath);
+            }
+            return IOUtils.toByteArray(in);
+        }
+        catch (Exception e)
+        {
+            log.error("获取文件路径异常 {}", e);
+            return null;
+        }
+        finally
+        {
+            IOUtils.closeQuietly(in);
+        }
+    }
+}

+ 59 - 0
src/main/java/com/benyun/common/utils/file/MimeTypeUtils.java

@@ -0,0 +1,59 @@
+package com.benyun.common.utils.file;
+
+/**
+ * 媒体类型工具类
+ *
+ * @author liugang
+ */
+public class MimeTypeUtils
+{
+    public static final String IMAGE_PNG = "image/png";
+
+    public static final String IMAGE_JPG = "image/jpg";
+
+    public static final String IMAGE_JPEG = "image/jpeg";
+
+    public static final String IMAGE_BMP = "image/bmp";
+
+    public static final String IMAGE_GIF = "image/gif";
+
+    public static final String[] IMAGE_EXTENSION = { "bmp", "gif", "jpg", "jpeg", "png" };
+
+    public static final String[] FLASH_EXTENSION = { "swf", "flv" };
+
+    public static final String[] MEDIA_EXTENSION = { "swf", "flv", "mp3", "wav", "wma", "wmv", "mid", "avi", "mpg",
+            "asf", "rm", "rmvb" };
+
+    public static final String[] VIDEO_EXTENSION = { "mp4", "avi", "rmvb" };
+
+    public static final String[] DEFAULT_ALLOWED_EXTENSION = {
+            // 图片
+            "bmp", "gif", "jpg", "jpeg", "png",
+            // word excel powerpoint
+            "doc", "docx", "xls", "xlsx", "ppt", "pptx", "html", "htm", "txt",
+            // 压缩文件
+            "rar", "zip", "gz", "bz2",
+            // 视频格式
+            "mp4", "avi", "rmvb",
+            // pdf
+            "pdf" };
+
+    public static String getExtension(String prefix)
+    {
+        switch (prefix)
+        {
+            case IMAGE_PNG:
+                return "png";
+            case IMAGE_JPG:
+                return "jpg";
+            case IMAGE_JPEG:
+                return "jpeg";
+            case IMAGE_BMP:
+                return "bmp";
+            case IMAGE_GIF:
+                return "gif";
+            default:
+                return "";
+        }
+    }
+}

+ 167 - 0
src/main/java/com/benyun/common/utils/html/EscapeUtil.java

@@ -0,0 +1,167 @@
+package com.benyun.common.utils.html;
+
+import com.benyun.common.utils.StringUtils;
+
+/**
+ * 转义和反转义工具类
+ *
+ * @author liugang
+ */
+public class EscapeUtil
+{
+    public static final String RE_HTML_MARK = "(<[^<]*?>)|(<[\\s]*?/[^<]*?>)|(<[^<]*?/[\\s]*?>)";
+
+    private static final char[][] TEXT = new char[64][];
+
+    static
+    {
+        for (int i = 0; i < 64; i++)
+        {
+            TEXT[i] = new char[] { (char) i };
+        }
+
+        // special HTML characters
+        TEXT['\''] = "&#039;".toCharArray(); // 单引号
+        TEXT['"'] = "&#34;".toCharArray(); // 双引号
+        TEXT['&'] = "&#38;".toCharArray(); // &符
+        TEXT['<'] = "&#60;".toCharArray(); // 小于号
+        TEXT['>'] = "&#62;".toCharArray(); // 大于号
+    }
+
+    /**
+     * 转义文本中的HTML字符为安全的字符
+     *
+     * @param text 被转义的文本
+     * @return 转义后的文本
+     */
+    public static String escape(String text)
+    {
+        return encode(text);
+    }
+
+    /**
+     * 还原被转义的HTML特殊字符
+     *
+     * @param content 包含转义符的HTML内容
+     * @return 转换后的字符串
+     */
+    public static String unescape(String content)
+    {
+        return decode(content);
+    }
+
+    /**
+     * 清除所有HTML标签,但是不删除标签内的内容
+     *
+     * @param content 文本
+     * @return 清除标签后的文本
+     */
+    public static String clean(String content)
+    {
+        return new HTMLFilter().filter(content);
+    }
+
+    /**
+     * Escape编码
+     *
+     * @param text 被编码的文本
+     * @return 编码后的字符
+     */
+    private static String encode(String text)
+    {
+        if (StringUtils.isEmpty(text))
+        {
+            return StringUtils.EMPTY;
+        }
+
+        final StringBuilder tmp = new StringBuilder(text.length() * 6);
+        char c;
+        for (int i = 0; i < text.length(); i++)
+        {
+            c = text.charAt(i);
+            if (c < 256)
+            {
+                tmp.append("%");
+                if (c < 16)
+                {
+                    tmp.append("0");
+                }
+                tmp.append(Integer.toString(c, 16));
+            }
+            else
+            {
+                tmp.append("%u");
+                if (c <= 0xfff)
+                {
+                    // issue#I49JU8@Gitee
+                    tmp.append("0");
+                }
+                tmp.append(Integer.toString(c, 16));
+            }
+        }
+        return tmp.toString();
+    }
+
+    /**
+     * Escape解码
+     *
+     * @param content 被转义的内容
+     * @return 解码后的字符串
+     */
+    public static String decode(String content)
+    {
+        if (StringUtils.isEmpty(content))
+        {
+            return content;
+        }
+
+        StringBuilder tmp = new StringBuilder(content.length());
+        int lastPos = 0, pos = 0;
+        char ch;
+        while (lastPos < content.length())
+        {
+            pos = content.indexOf("%", lastPos);
+            if (pos == lastPos)
+            {
+                if (content.charAt(pos + 1) == 'u')
+                {
+                    ch = (char) Integer.parseInt(content.substring(pos + 2, pos + 6), 16);
+                    tmp.append(ch);
+                    lastPos = pos + 6;
+                }
+                else
+                {
+                    ch = (char) Integer.parseInt(content.substring(pos + 1, pos + 3), 16);
+                    tmp.append(ch);
+                    lastPos = pos + 3;
+                }
+            }
+            else
+            {
+                if (pos == -1)
+                {
+                    tmp.append(content.substring(lastPos));
+                    lastPos = content.length();
+                }
+                else
+                {
+                    tmp.append(content.substring(lastPos, pos));
+                    lastPos = pos;
+                }
+            }
+        }
+        return tmp.toString();
+    }
+
+    public static void main(String[] args)
+    {
+        String html = "<script>alert(1);</script>";
+        String escape = EscapeUtil.escape(html);
+        // String html = "<scr<script>ipt>alert(\"XSS\")</scr<script>ipt>";
+        // String html = "<123";
+        // String html = "123>";
+        System.out.println("clean: " + EscapeUtil.clean(html));
+        System.out.println("escape: " + escape);
+        System.out.println("unescape: " + EscapeUtil.unescape(escape));
+    }
+}

+ 570 - 0
src/main/java/com/benyun/common/utils/html/HTMLFilter.java

@@ -0,0 +1,570 @@
+package com.benyun.common.utils.html;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * HTML过滤器,用于去除XSS漏洞隐患。
+ *
+ * @author liugang
+ */
+public final class HTMLFilter
+{
+    /**
+     * regex flag union representing /si modifiers in php
+     **/
+    private static final int REGEX_FLAGS_SI = Pattern.CASE_INSENSITIVE | Pattern.DOTALL;
+    private static final Pattern P_COMMENTS = Pattern.compile("<!--(.*?)-->", Pattern.DOTALL);
+    private static final Pattern P_COMMENT = Pattern.compile("^!--(.*)--$", REGEX_FLAGS_SI);
+    private static final Pattern P_TAGS = Pattern.compile("<(.*?)>", Pattern.DOTALL);
+    private static final Pattern P_END_TAG = Pattern.compile("^/([a-z0-9]+)", REGEX_FLAGS_SI);
+    private static final Pattern P_START_TAG = Pattern.compile("^([a-z0-9]+)(.*?)(/?)$", REGEX_FLAGS_SI);
+    private static final Pattern P_QUOTED_ATTRIBUTES = Pattern.compile("([a-z0-9]+)=([\"'])(.*?)\\2", REGEX_FLAGS_SI);
+    private static final Pattern P_UNQUOTED_ATTRIBUTES = Pattern.compile("([a-z0-9]+)(=)([^\"\\s']+)", REGEX_FLAGS_SI);
+    private static final Pattern P_PROTOCOL = Pattern.compile("^([^:]+):", REGEX_FLAGS_SI);
+    private static final Pattern P_ENTITY = Pattern.compile("&#(\\d+);?");
+    private static final Pattern P_ENTITY_UNICODE = Pattern.compile("&#x([0-9a-f]+);?");
+    private static final Pattern P_ENCODE = Pattern.compile("%([0-9a-f]{2});?");
+    private static final Pattern P_VALID_ENTITIES = Pattern.compile("&([^&;]*)(?=(;|&|$))");
+    private static final Pattern P_VALID_QUOTES = Pattern.compile("(>|^)([^<]+?)(<|$)", Pattern.DOTALL);
+    private static final Pattern P_END_ARROW = Pattern.compile("^>");
+    private static final Pattern P_BODY_TO_END = Pattern.compile("<([^>]*?)(?=<|$)");
+    private static final Pattern P_XML_CONTENT = Pattern.compile("(^|>)([^<]*?)(?=>)");
+    private static final Pattern P_STRAY_LEFT_ARROW = Pattern.compile("<([^>]*?)(?=<|$)");
+    private static final Pattern P_STRAY_RIGHT_ARROW = Pattern.compile("(^|>)([^<]*?)(?=>)");
+    private static final Pattern P_AMP = Pattern.compile("&");
+    private static final Pattern P_QUOTE = Pattern.compile("\"");
+    private static final Pattern P_LEFT_ARROW = Pattern.compile("<");
+    private static final Pattern P_RIGHT_ARROW = Pattern.compile(">");
+    private static final Pattern P_BOTH_ARROWS = Pattern.compile("<>");
+
+    // @xxx could grow large... maybe use sesat's ReferenceMap
+    private static final ConcurrentMap<String, Pattern> P_REMOVE_PAIR_BLANKS = new ConcurrentHashMap<>();
+    private static final ConcurrentMap<String, Pattern> P_REMOVE_SELF_BLANKS = new ConcurrentHashMap<>();
+
+    /**
+     * set of allowed html elements, along with allowed attributes for each element
+     **/
+    private final Map<String, List<String>> vAllowed;
+    /**
+     * counts of open tags for each (allowable) html element
+     **/
+    private final Map<String, Integer> vTagCounts = new HashMap<>();
+
+    /**
+     * html elements which must always be self-closing (e.g. "<img />")
+     **/
+    private final String[] vSelfClosingTags;
+    /**
+     * html elements which must always have separate opening and closing tags (e.g. "<b></b>")
+     **/
+    private final String[] vNeedClosingTags;
+    /**
+     * set of disallowed html elements
+     **/
+    private final String[] vDisallowed;
+    /**
+     * attributes which should be checked for valid protocols
+     **/
+    private final String[] vProtocolAtts;
+    /**
+     * allowed protocols
+     **/
+    private final String[] vAllowedProtocols;
+    /**
+     * tags which should be removed if they contain no content (e.g. "<b></b>" or "<b />")
+     **/
+    private final String[] vRemoveBlanks;
+    /**
+     * entities allowed within html markup
+     **/
+    private final String[] vAllowedEntities;
+    /**
+     * flag determining whether comments are allowed in input String.
+     */
+    private final boolean stripComment;
+    private final boolean encodeQuotes;
+    /**
+     * flag determining whether to try to make tags when presented with "unbalanced" angle brackets (e.g. "<b text </b>"
+     * becomes "<b> text </b>"). If set to false, unbalanced angle brackets will be html escaped.
+     */
+    private final boolean alwaysMakeTags;
+
+    /**
+     * Default constructor.
+     */
+    public HTMLFilter()
+    {
+        vAllowed = new HashMap<>();
+
+        final ArrayList<String> a_atts = new ArrayList<>();
+        a_atts.add("href");
+        a_atts.add("target");
+        vAllowed.put("a", a_atts);
+
+        final ArrayList<String> img_atts = new ArrayList<>();
+        img_atts.add("src");
+        img_atts.add("width");
+        img_atts.add("height");
+        img_atts.add("alt");
+        vAllowed.put("img", img_atts);
+
+        final ArrayList<String> no_atts = new ArrayList<>();
+        vAllowed.put("b", no_atts);
+        vAllowed.put("strong", no_atts);
+        vAllowed.put("i", no_atts);
+        vAllowed.put("em", no_atts);
+
+        vSelfClosingTags = new String[] { "img" };
+        vNeedClosingTags = new String[] { "a", "b", "strong", "i", "em" };
+        vDisallowed = new String[] {};
+        vAllowedProtocols = new String[] { "http", "mailto", "https" }; // no ftp.
+        vProtocolAtts = new String[] { "src", "href" };
+        vRemoveBlanks = new String[] { "a", "b", "strong", "i", "em" };
+        vAllowedEntities = new String[] { "amp", "gt", "lt", "quot" };
+        stripComment = true;
+        encodeQuotes = true;
+        alwaysMakeTags = false;
+    }
+
+    /**
+     * Map-parameter configurable constructor.
+     *
+     * @param conf map containing configuration. keys match field names.
+     */
+    @SuppressWarnings("unchecked")
+    public HTMLFilter(final Map<String, Object> conf)
+    {
+
+        assert conf.containsKey("vAllowed") : "configuration requires vAllowed";
+        assert conf.containsKey("vSelfClosingTags") : "configuration requires vSelfClosingTags";
+        assert conf.containsKey("vNeedClosingTags") : "configuration requires vNeedClosingTags";
+        assert conf.containsKey("vDisallowed") : "configuration requires vDisallowed";
+        assert conf.containsKey("vAllowedProtocols") : "configuration requires vAllowedProtocols";
+        assert conf.containsKey("vProtocolAtts") : "configuration requires vProtocolAtts";
+        assert conf.containsKey("vRemoveBlanks") : "configuration requires vRemoveBlanks";
+        assert conf.containsKey("vAllowedEntities") : "configuration requires vAllowedEntities";
+
+        vAllowed = Collections.unmodifiableMap((HashMap<String, List<String>>) conf.get("vAllowed"));
+        vSelfClosingTags = (String[]) conf.get("vSelfClosingTags");
+        vNeedClosingTags = (String[]) conf.get("vNeedClosingTags");
+        vDisallowed = (String[]) conf.get("vDisallowed");
+        vAllowedProtocols = (String[]) conf.get("vAllowedProtocols");
+        vProtocolAtts = (String[]) conf.get("vProtocolAtts");
+        vRemoveBlanks = (String[]) conf.get("vRemoveBlanks");
+        vAllowedEntities = (String[]) conf.get("vAllowedEntities");
+        stripComment = conf.containsKey("stripComment") ? (Boolean) conf.get("stripComment") : true;
+        encodeQuotes = conf.containsKey("encodeQuotes") ? (Boolean) conf.get("encodeQuotes") : true;
+        alwaysMakeTags = conf.containsKey("alwaysMakeTags") ? (Boolean) conf.get("alwaysMakeTags") : true;
+    }
+
+    private void reset()
+    {
+        vTagCounts.clear();
+    }
+
+    // ---------------------------------------------------------------
+    // my versions of some PHP library functions
+    public static String chr(final int decimal)
+    {
+        return String.valueOf((char) decimal);
+    }
+
+    public static String htmlSpecialChars(final String s)
+    {
+        String result = s;
+        result = regexReplace(P_AMP, "&amp;", result);
+        result = regexReplace(P_QUOTE, "&quot;", result);
+        result = regexReplace(P_LEFT_ARROW, "&lt;", result);
+        result = regexReplace(P_RIGHT_ARROW, "&gt;", result);
+        return result;
+    }
+
+    // ---------------------------------------------------------------
+
+    /**
+     * given a user submitted input String, filter out any invalid or restricted html.
+     *
+     * @param input text (i.e. submitted by a user) than may contain html
+     * @return "clean" version of input, with only valid, whitelisted html elements allowed
+     */
+    public String filter(final String input)
+    {
+        reset();
+        String s = input;
+
+        s = escapeComments(s);
+
+        s = balanceHTML(s);
+
+        s = checkTags(s);
+
+        s = processRemoveBlanks(s);
+
+        // s = validateEntities(s);
+
+        return s;
+    }
+
+    public boolean isAlwaysMakeTags()
+    {
+        return alwaysMakeTags;
+    }
+
+    public boolean isStripComments()
+    {
+        return stripComment;
+    }
+
+    private String escapeComments(final String s)
+    {
+        final Matcher m = P_COMMENTS.matcher(s);
+        final StringBuffer buf = new StringBuffer();
+        if (m.find())
+        {
+            final String match = m.group(1); // (.*?)
+            m.appendReplacement(buf, Matcher.quoteReplacement("<!--" + htmlSpecialChars(match) + "-->"));
+        }
+        m.appendTail(buf);
+
+        return buf.toString();
+    }
+
+    private String balanceHTML(String s)
+    {
+        if (alwaysMakeTags)
+        {
+            //
+            // try and form html
+            //
+            s = regexReplace(P_END_ARROW, "", s);
+            // 不追加结束标签
+            s = regexReplace(P_BODY_TO_END, "<$1>", s);
+            s = regexReplace(P_XML_CONTENT, "$1<$2", s);
+
+        }
+        else
+        {
+            //
+            // escape stray brackets
+            //
+            s = regexReplace(P_STRAY_LEFT_ARROW, "&lt;$1", s);
+            s = regexReplace(P_STRAY_RIGHT_ARROW, "$1$2&gt;<", s);
+
+            //
+            // the last regexp causes '<>' entities to appear
+            // (we need to do a lookahead assertion so that the last bracket can
+            // be used in the next pass of the regexp)
+            //
+            s = regexReplace(P_BOTH_ARROWS, "", s);
+        }
+
+        return s;
+    }
+
+    private String checkTags(String s)
+    {
+        Matcher m = P_TAGS.matcher(s);
+
+        final StringBuffer buf = new StringBuffer();
+        while (m.find())
+        {
+            String replaceStr = m.group(1);
+            replaceStr = processTag(replaceStr);
+            m.appendReplacement(buf, Matcher.quoteReplacement(replaceStr));
+        }
+        m.appendTail(buf);
+
+        // these get tallied in processTag
+        // (remember to reset before subsequent calls to filter method)
+        final StringBuilder sBuilder = new StringBuilder(buf.toString());
+        for (String key : vTagCounts.keySet())
+        {
+            for (int ii = 0; ii < vTagCounts.get(key); ii++)
+            {
+                sBuilder.append("</").append(key).append(">");
+            }
+        }
+        s = sBuilder.toString();
+
+        return s;
+    }
+
+    private String processRemoveBlanks(final String s)
+    {
+        String result = s;
+        for (String tag : vRemoveBlanks)
+        {
+            if (!P_REMOVE_PAIR_BLANKS.containsKey(tag))
+            {
+                P_REMOVE_PAIR_BLANKS.putIfAbsent(tag, Pattern.compile("<" + tag + "(\\s[^>]*)?></" + tag + ">"));
+            }
+            result = regexReplace(P_REMOVE_PAIR_BLANKS.get(tag), "", result);
+            if (!P_REMOVE_SELF_BLANKS.containsKey(tag))
+            {
+                P_REMOVE_SELF_BLANKS.putIfAbsent(tag, Pattern.compile("<" + tag + "(\\s[^>]*)?/>"));
+            }
+            result = regexReplace(P_REMOVE_SELF_BLANKS.get(tag), "", result);
+        }
+
+        return result;
+    }
+
+    private static String regexReplace(final Pattern regex_pattern, final String replacement, final String s)
+    {
+        Matcher m = regex_pattern.matcher(s);
+        return m.replaceAll(replacement);
+    }
+
+    private String processTag(final String s)
+    {
+        // ending tags
+        Matcher m = P_END_TAG.matcher(s);
+        if (m.find())
+        {
+            final String name = m.group(1).toLowerCase();
+            if (allowed(name))
+            {
+                if (false == inArray(name, vSelfClosingTags))
+                {
+                    if (vTagCounts.containsKey(name))
+                    {
+                        vTagCounts.put(name, vTagCounts.get(name) - 1);
+                        return "</" + name + ">";
+                    }
+                }
+            }
+        }
+
+        // starting tags
+        m = P_START_TAG.matcher(s);
+        if (m.find())
+        {
+            final String name = m.group(1).toLowerCase();
+            final String body = m.group(2);
+            String ending = m.group(3);
+
+            // debug( "in a starting tag, name='" + name + "'; body='" + body + "'; ending='" + ending + "'" );
+            if (allowed(name))
+            {
+                final StringBuilder params = new StringBuilder();
+
+                final Matcher m2 = P_QUOTED_ATTRIBUTES.matcher(body);
+                final Matcher m3 = P_UNQUOTED_ATTRIBUTES.matcher(body);
+                final List<String> paramNames = new ArrayList<>();
+                final List<String> paramValues = new ArrayList<>();
+                while (m2.find())
+                {
+                    paramNames.add(m2.group(1)); // ([a-z0-9]+)
+                    paramValues.add(m2.group(3)); // (.*?)
+                }
+                while (m3.find())
+                {
+                    paramNames.add(m3.group(1)); // ([a-z0-9]+)
+                    paramValues.add(m3.group(3)); // ([^\"\\s']+)
+                }
+
+                String paramName, paramValue;
+                for (int ii = 0; ii < paramNames.size(); ii++)
+                {
+                    paramName = paramNames.get(ii).toLowerCase();
+                    paramValue = paramValues.get(ii);
+
+                    // debug( "paramName='" + paramName + "'" );
+                    // debug( "paramValue='" + paramValue + "'" );
+                    // debug( "allowed? " + vAllowed.get( name ).contains( paramName ) );
+
+                    if (allowedAttribute(name, paramName))
+                    {
+                        if (inArray(paramName, vProtocolAtts))
+                        {
+                            paramValue = processParamProtocol(paramValue);
+                        }
+                        params.append(' ').append(paramName).append("=\"").append(paramValue).append("\"");
+                    }
+                }
+
+                if (inArray(name, vSelfClosingTags))
+                {
+                    ending = " /";
+                }
+
+                if (inArray(name, vNeedClosingTags))
+                {
+                    ending = "";
+                }
+
+                if (ending == null || ending.length() < 1)
+                {
+                    if (vTagCounts.containsKey(name))
+                    {
+                        vTagCounts.put(name, vTagCounts.get(name) + 1);
+                    }
+                    else
+                    {
+                        vTagCounts.put(name, 1);
+                    }
+                }
+                else
+                {
+                    ending = " /";
+                }
+                return "<" + name + params + ending + ">";
+            }
+            else
+            {
+                return "";
+            }
+        }
+
+        // comments
+        m = P_COMMENT.matcher(s);
+        if (!stripComment && m.find())
+        {
+            return "<" + m.group() + ">";
+        }
+
+        return "";
+    }
+
+    private String processParamProtocol(String s)
+    {
+        s = decodeEntities(s);
+        final Matcher m = P_PROTOCOL.matcher(s);
+        if (m.find())
+        {
+            final String protocol = m.group(1);
+            if (!inArray(protocol, vAllowedProtocols))
+            {
+                // bad protocol, turn into local anchor link instead
+                s = "#" + s.substring(protocol.length() + 1);
+                if (s.startsWith("#//"))
+                {
+                    s = "#" + s.substring(3);
+                }
+            }
+        }
+
+        return s;
+    }
+
+    private String decodeEntities(String s)
+    {
+        StringBuffer buf = new StringBuffer();
+
+        Matcher m = P_ENTITY.matcher(s);
+        while (m.find())
+        {
+            final String match = m.group(1);
+            final int decimal = Integer.decode(match).intValue();
+            m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal)));
+        }
+        m.appendTail(buf);
+        s = buf.toString();
+
+        buf = new StringBuffer();
+        m = P_ENTITY_UNICODE.matcher(s);
+        while (m.find())
+        {
+            final String match = m.group(1);
+            final int decimal = Integer.valueOf(match, 16).intValue();
+            m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal)));
+        }
+        m.appendTail(buf);
+        s = buf.toString();
+
+        buf = new StringBuffer();
+        m = P_ENCODE.matcher(s);
+        while (m.find())
+        {
+            final String match = m.group(1);
+            final int decimal = Integer.valueOf(match, 16).intValue();
+            m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal)));
+        }
+        m.appendTail(buf);
+        s = buf.toString();
+
+        s = validateEntities(s);
+        return s;
+    }
+
+    private String validateEntities(final String s)
+    {
+        StringBuffer buf = new StringBuffer();
+
+        // validate entities throughout the string
+        Matcher m = P_VALID_ENTITIES.matcher(s);
+        while (m.find())
+        {
+            final String one = m.group(1); // ([^&;]*)
+            final String two = m.group(2); // (?=(;|&|$))
+            m.appendReplacement(buf, Matcher.quoteReplacement(checkEntity(one, two)));
+        }
+        m.appendTail(buf);
+
+        return encodeQuotes(buf.toString());
+    }
+
+    private String encodeQuotes(final String s)
+    {
+        if (encodeQuotes)
+        {
+            StringBuffer buf = new StringBuffer();
+            Matcher m = P_VALID_QUOTES.matcher(s);
+            while (m.find())
+            {
+                final String one = m.group(1); // (>|^)
+                final String two = m.group(2); // ([^<]+?)
+                final String three = m.group(3); // (<|$)
+                // 不替换双引号为&quot;,防止json格式无效 regexReplace(P_QUOTE, "&quot;", two)
+                m.appendReplacement(buf, Matcher.quoteReplacement(one + two + three));
+            }
+            m.appendTail(buf);
+            return buf.toString();
+        }
+        else
+        {
+            return s;
+        }
+    }
+
+    private String checkEntity(final String preamble, final String term)
+    {
+
+        return ";".equals(term) && isValidEntity(preamble) ? '&' + preamble : "&amp;" + preamble;
+    }
+
+    private boolean isValidEntity(final String entity)
+    {
+        return inArray(entity, vAllowedEntities);
+    }
+
+    private static boolean inArray(final String s, final String[] array)
+    {
+        for (String item : array)
+        {
+            if (item != null && item.equals(s))
+            {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private boolean allowed(final String name)
+    {
+        return (vAllowed.isEmpty() || vAllowed.containsKey(name)) && !inArray(name, vDisallowed);
+    }
+
+    private boolean allowedAttribute(final String name, final String paramName)
+    {
+        return allowed(name) && (vAllowed.isEmpty() || vAllowed.get(name).contains(paramName));
+    }
+}

+ 274 - 0
src/main/java/com/benyun/common/utils/http/HttpUtils.java

@@ -0,0 +1,274 @@
+package com.benyun.common.utils.http;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.net.ConnectException;
+import java.net.SocketTimeoutException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.nio.charset.StandardCharsets;
+import java.security.cert.X509Certificate;
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.benyun.common.constant.Constants;
+import com.benyun.common.utils.StringUtils;
+
+/**
+ * 通用http发送方法
+ *
+ * @author liugang
+ */
+public class HttpUtils
+{
+    private static final Logger log = LoggerFactory.getLogger(HttpUtils.class);
+
+    /**
+     * 向指定 URL 发送GET方法的请求
+     *
+     * @param url 发送请求的 URL
+     * @return 所代表远程资源的响应结果
+     */
+    public static String sendGet(String url)
+    {
+        return sendGet(url, StringUtils.EMPTY);
+    }
+
+    /**
+     * 向指定 URL 发送GET方法的请求
+     *
+     * @param url 发送请求的 URL
+     * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
+     * @return 所代表远程资源的响应结果
+     */
+    public static String sendGet(String url, String param)
+    {
+        return sendGet(url, param, Constants.UTF8);
+    }
+
+    /**
+     * 向指定 URL 发送GET方法的请求
+     *
+     * @param url 发送请求的 URL
+     * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
+     * @param contentType 编码类型
+     * @return 所代表远程资源的响应结果
+     */
+    public static String sendGet(String url, String param, String contentType)
+    {
+        StringBuilder result = new StringBuilder();
+        BufferedReader in = null;
+        try
+        {
+            String urlNameString = StringUtils.isNotBlank(param) ? url + "?" + param : url;
+            log.info("sendGet - {}", urlNameString);
+            URL realUrl = new URL(urlNameString);
+            URLConnection connection = realUrl.openConnection();
+            connection.setRequestProperty("accept", "*/*");
+            connection.setRequestProperty("connection", "Keep-Alive");
+            connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+            connection.connect();
+            in = new BufferedReader(new InputStreamReader(connection.getInputStream(), contentType));
+            String line;
+            while ((line = in.readLine()) != null)
+            {
+                result.append(line);
+            }
+            log.info("recv - {}", result);
+        }
+        catch (ConnectException e)
+        {
+            log.error("调用HttpUtils.sendGet ConnectException, url=" + url + ",param=" + param, e);
+        }
+        catch (SocketTimeoutException e)
+        {
+            log.error("调用HttpUtils.sendGet SocketTimeoutException, url=" + url + ",param=" + param, e);
+        }
+        catch (IOException e)
+        {
+            log.error("调用HttpUtils.sendGet IOException, url=" + url + ",param=" + param, e);
+        }
+        catch (Exception e)
+        {
+            log.error("调用HttpsUtil.sendGet Exception, url=" + url + ",param=" + param, e);
+        }
+        finally
+        {
+            try
+            {
+                if (in != null)
+                {
+                    in.close();
+                }
+            }
+            catch (Exception ex)
+            {
+                log.error("调用in.close Exception, url=" + url + ",param=" + param, ex);
+            }
+        }
+        return result.toString();
+    }
+
+    /**
+     * 向指定 URL 发送POST方法的请求
+     *
+     * @param url 发送请求的 URL
+     * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
+     * @return 所代表远程资源的响应结果
+     */
+    public static String sendPost(String url, String param)
+    {
+        PrintWriter out = null;
+        BufferedReader in = null;
+        StringBuilder result = new StringBuilder();
+        try
+        {
+            log.info("sendPost - {}", url);
+            URL realUrl = new URL(url);
+            URLConnection conn = realUrl.openConnection();
+            conn.setRequestProperty("accept", "*/*");
+            conn.setRequestProperty("connection", "Keep-Alive");
+            conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+            conn.setRequestProperty("Accept-Charset", "utf-8");
+            conn.setRequestProperty("contentType", "utf-8");
+            conn.setDoOutput(true);
+            conn.setDoInput(true);
+            out = new PrintWriter(conn.getOutputStream());
+            out.print(param);
+            out.flush();
+            in = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8));
+            String line;
+            while ((line = in.readLine()) != null)
+            {
+                result.append(line);
+            }
+            log.info("recv - {}", result);
+        }
+        catch (ConnectException e)
+        {
+            log.error("调用HttpUtils.sendPost ConnectException, url=" + url + ",param=" + param, e);
+        }
+        catch (SocketTimeoutException e)
+        {
+            log.error("调用HttpUtils.sendPost SocketTimeoutException, url=" + url + ",param=" + param, e);
+        }
+        catch (IOException e)
+        {
+            log.error("调用HttpUtils.sendPost IOException, url=" + url + ",param=" + param, e);
+        }
+        catch (Exception e)
+        {
+            log.error("调用HttpsUtil.sendPost Exception, url=" + url + ",param=" + param, e);
+        }
+        finally
+        {
+            try
+            {
+                if (out != null)
+                {
+                    out.close();
+                }
+                if (in != null)
+                {
+                    in.close();
+                }
+            }
+            catch (IOException ex)
+            {
+                log.error("调用in.close Exception, url=" + url + ",param=" + param, ex);
+            }
+        }
+        return result.toString();
+    }
+
+    public static String sendSSLPost(String url, String param)
+    {
+        StringBuilder result = new StringBuilder();
+        String urlNameString = url + "?" + param;
+        try
+        {
+            log.info("sendSSLPost - {}", urlNameString);
+            SSLContext sc = SSLContext.getInstance("SSL");
+            sc.init(null, new TrustManager[] { new TrustAnyTrustManager() }, new java.security.SecureRandom());
+            URL console = new URL(urlNameString);
+            HttpsURLConnection conn = (HttpsURLConnection) console.openConnection();
+            conn.setRequestProperty("accept", "*/*");
+            conn.setRequestProperty("connection", "Keep-Alive");
+            conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+            conn.setRequestProperty("Accept-Charset", "utf-8");
+            conn.setRequestProperty("contentType", "utf-8");
+            conn.setDoOutput(true);
+            conn.setDoInput(true);
+
+            conn.setSSLSocketFactory(sc.getSocketFactory());
+            conn.setHostnameVerifier(new TrustAnyHostnameVerifier());
+            conn.connect();
+            InputStream is = conn.getInputStream();
+            BufferedReader br = new BufferedReader(new InputStreamReader(is));
+            String ret = "";
+            while ((ret = br.readLine()) != null)
+            {
+                if (ret != null && !ret.trim().equals(""))
+                {
+                    result.append(new String(ret.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8));
+                }
+            }
+            log.info("recv - {}", result);
+            conn.disconnect();
+            br.close();
+        }
+        catch (ConnectException e)
+        {
+            log.error("调用HttpUtils.sendSSLPost ConnectException, url=" + url + ",param=" + param, e);
+        }
+        catch (SocketTimeoutException e)
+        {
+            log.error("调用HttpUtils.sendSSLPost SocketTimeoutException, url=" + url + ",param=" + param, e);
+        }
+        catch (IOException e)
+        {
+            log.error("调用HttpUtils.sendSSLPost IOException, url=" + url + ",param=" + param, e);
+        }
+        catch (Exception e)
+        {
+            log.error("调用HttpsUtil.sendSSLPost Exception, url=" + url + ",param=" + param, e);
+        }
+        return result.toString();
+    }
+
+    private static class TrustAnyTrustManager implements X509TrustManager
+    {
+        @Override
+        public void checkClientTrusted(X509Certificate[] chain, String authType)
+        {
+        }
+
+        @Override
+        public void checkServerTrusted(X509Certificate[] chain, String authType)
+        {
+        }
+
+        @Override
+        public X509Certificate[] getAcceptedIssuers()
+        {
+            return new X509Certificate[] {};
+        }
+    }
+
+    private static class TrustAnyHostnameVerifier implements HostnameVerifier
+    {
+        @Override
+        public boolean verify(String hostname, SSLSession session)
+        {
+            return true;
+        }
+    }
+}

+ 19 - 0
src/main/java/com/benyun/common/utils/poi/ExcelHandlerAdapter.java

@@ -0,0 +1,19 @@
+package com.benyun.common.utils.poi;
+
+/**
+ * Excel数据格式处理适配器
+ *
+ * @author liugang
+ */
+public interface ExcelHandlerAdapter
+{
+    /**
+     * 格式化
+     *
+     * @param value 单元格数据值
+     * @param args excel注解args参数组
+     *
+     * @return 处理后的值
+     */
+    Object format(Object value, String[] args);
+}

+ 1420 - 0
src/main/java/com/benyun/common/utils/poi/ExcelUtil.java

@@ -0,0 +1,1420 @@
+package com.benyun.common.utils.poi;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.math.BigDecimal;
+import java.text.DecimalFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+import java.util.stream.Collectors;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.commons.lang3.RegExUtils;
+import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
+import org.apache.poi.hssf.usermodel.HSSFPicture;
+import org.apache.poi.hssf.usermodel.HSSFPictureData;
+import org.apache.poi.hssf.usermodel.HSSFShape;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ooxml.POIXMLDocumentPart;
+import org.apache.poi.ss.usermodel.BorderStyle;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellStyle;
+import org.apache.poi.ss.usermodel.CellType;
+import org.apache.poi.ss.usermodel.ClientAnchor;
+import org.apache.poi.ss.usermodel.DataValidation;
+import org.apache.poi.ss.usermodel.DataValidationConstraint;
+import org.apache.poi.ss.usermodel.DataValidationHelper;
+import org.apache.poi.ss.usermodel.DateUtil;
+import org.apache.poi.ss.usermodel.Drawing;
+import org.apache.poi.ss.usermodel.FillPatternType;
+import org.apache.poi.ss.usermodel.Font;
+import org.apache.poi.ss.usermodel.HorizontalAlignment;
+import org.apache.poi.ss.usermodel.IndexedColors;
+import org.apache.poi.ss.usermodel.PictureData;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.VerticalAlignment;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.WorkbookFactory;
+import org.apache.poi.ss.util.CellRangeAddress;
+import org.apache.poi.ss.util.CellRangeAddressList;
+import org.apache.poi.util.IOUtils;
+import org.apache.poi.xssf.streaming.SXSSFWorkbook;
+import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
+import org.apache.poi.xssf.usermodel.XSSFDataValidation;
+import org.apache.poi.xssf.usermodel.XSSFDrawing;
+import org.apache.poi.xssf.usermodel.XSSFPicture;
+import org.apache.poi.xssf.usermodel.XSSFShape;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.benyun.common.exception.UtilException;
+import com.benyun.common.utils.DateUtils;
+import com.benyun.common.utils.StringUtils;
+import com.benyun.common.utils.file.FileTypeUtils;
+import com.benyun.common.utils.file.FileUtils;
+import com.benyun.common.utils.file.ImageUtils;
+import com.benyun.common.utils.reflect.ReflectUtils;
+import com.benyun.common.utils.text.Convert;
+import com.benyun.framework.aspectj.lang.annotation.Excel;
+import com.benyun.framework.aspectj.lang.annotation.Excel.ColumnType;
+import com.benyun.framework.aspectj.lang.annotation.Excel.Type;
+import com.benyun.framework.aspectj.lang.annotation.Excels;
+import com.benyun.framework.config.BenYunConfig;
+import com.benyun.framework.web.domain.AjaxResult;
+import com.benyun.project.system.dict.utils.DictUtils;
+
+/**
+ * Excel相关处理
+ *
+ * @author liugang
+ */
+public class ExcelUtil<T>
+{
+    private static final Logger log = LoggerFactory.getLogger(ExcelUtil.class);
+
+    public static final String FORMULA_REGEX_STR = "=|-|\\+|@";
+
+    public static final String[] FORMULA_STR = { "=", "-", "+", "@" };
+
+    /**
+     * Excel sheet最大行数,默认65536
+     */
+    public static final int sheetSize = 65536;
+
+    /**
+     * 工作表名称
+     */
+    private String sheetName;
+
+    /**
+     * 导出类型(EXPORT:导出数据;IMPORT:导入模板)
+     */
+    private Type type;
+
+    /**
+     * 工作薄对象
+     */
+    private Workbook wb;
+
+    /**
+     * 工作表对象
+     */
+    private Sheet sheet;
+
+    /**
+     * 样式列表
+     */
+    private Map<String, CellStyle> styles;
+
+    /**
+     * 导入导出数据列表
+     */
+    private List<T> list;
+
+    /**
+     * 注解列表
+     */
+    private List<Object[]> fields;
+
+    /**
+     * 当前行号
+     */
+    private int rownum;
+
+    /**
+     * 标题
+     */
+    private String title;
+
+    /**
+     * 最大高度
+     */
+    private short maxHeight;
+
+    /**
+     * 统计列表
+     */
+    private Map<Integer, Double> statistics = new HashMap<Integer, Double>();
+
+    /**
+     * 数字格式
+     */
+    private static final DecimalFormat DOUBLE_FORMAT = new DecimalFormat("######0.00");
+
+    /**
+     * 实体对象
+     */
+    public Class<T> clazz;
+
+    public ExcelUtil(Class<T> clazz)
+    {
+        this.clazz = clazz;
+    }
+
+    public void init(List<T> list, String sheetName, String title, Type type)
+    {
+        if (list == null)
+        {
+            list = new ArrayList<T>();
+        }
+        this.list = list;
+        this.sheetName = sheetName;
+        this.type = type;
+        this.title = title;
+        createExcelField();
+        createWorkbook();
+        createTitle();
+    }
+
+    /**
+     * 创建excel第一行标题
+     */
+    public void createTitle()
+    {
+        if (StringUtils.isNotEmpty(title))
+        {
+            Row titleRow = sheet.createRow(rownum == 0 ? rownum++ : 0);
+            titleRow.setHeightInPoints(30);
+            Cell titleCell = titleRow.createCell(0);
+            titleCell.setCellStyle(styles.get("title"));
+            titleCell.setCellValue(title);
+            sheet.addMergedRegion(new CellRangeAddress(titleRow.getRowNum(), titleRow.getRowNum(), titleRow.getRowNum(),
+                    this.fields.size() - 1));
+        }
+    }
+
+    /**
+     * 对excel表单默认第一个索引名转换成list
+     *
+     * @param is 输入流
+     * @return 转换后集合
+     */
+    public List<T> importExcel(InputStream is) throws Exception
+    {
+        return importExcel(is, 0);
+    }
+
+    /**
+     * 对excel表单默认第一个索引名转换成list
+     *
+     * @param is 输入流
+     * @param titleNum 标题占用行数
+     * @return 转换后集合
+     */
+    public List<T> importExcel(InputStream is, int titleNum) throws Exception
+    {
+        return importExcel(StringUtils.EMPTY, is, titleNum);
+    }
+
+    /**
+     * 对excel表单指定表格索引名转换成list
+     *
+     * @param sheetName 表格索引名
+     * @param titleNum 标题占用行数
+     * @param is 输入流
+     * @return 转换后集合
+     */
+    public List<T> importExcel(String sheetName, InputStream is, int titleNum) throws Exception
+    {
+        this.type = Type.IMPORT;
+        this.wb = WorkbookFactory.create(is);
+        List<T> list = new ArrayList<T>();
+        // 如果指定sheet名,则取指定sheet中的内容 否则默认指向第1个sheet
+        Sheet sheet = StringUtils.isNotEmpty(sheetName) ? wb.getSheet(sheetName) : wb.getSheetAt(0);
+        if (sheet == null)
+        {
+            throw new IOException("文件sheet不存在");
+        }
+        boolean isXSSFWorkbook = !(wb instanceof HSSFWorkbook);
+        Map<String, PictureData> pictures;
+        if (isXSSFWorkbook)
+        {
+            pictures = getSheetPictures07((XSSFSheet) sheet, (XSSFWorkbook) wb);
+        }
+        else
+        {
+            pictures = getSheetPictures03((HSSFSheet) sheet, (HSSFWorkbook) wb);
+        }
+        // 获取最后一个非空行的行下标,比如总行数为n,则返回的为n-1
+        int rows = sheet.getLastRowNum();
+
+        if (rows > 0)
+        {
+            // 定义一个map用于存放excel列的序号和field.
+            Map<String, Integer> cellMap = new HashMap<String, Integer>();
+            // 获取表头
+            Row heard = sheet.getRow(titleNum);
+            for (int i = 0; i < heard.getPhysicalNumberOfCells(); i++)
+            {
+                Cell cell = heard.getCell(i);
+                if (StringUtils.isNotNull(cell))
+                {
+                    String value = this.getCellValue(heard, i).toString();
+                    cellMap.put(value, i);
+                }
+                else
+                {
+                    cellMap.put(null, i);
+                }
+            }
+            // 有数据时才处理 得到类的所有field.
+            List<Object[]> fields = this.getFields();
+            Map<Integer, Object[]> fieldsMap = new HashMap<Integer, Object[]>();
+            for (Object[] objects : fields)
+            {
+                Excel attr = (Excel) objects[1];
+                Integer column = cellMap.get(attr.name());
+                if (column != null)
+                {
+                    fieldsMap.put(column, objects);
+                }
+            }
+            for (int i = titleNum + 1; i <= rows; i++)
+            {
+                // 从第2行开始取数据,默认第一行是表头.
+                Row row = sheet.getRow(i);
+                // 判断当前行是否是空行
+                if (isRowEmpty(row))
+                {
+                    continue;
+                }
+                T entity = null;
+                for (Map.Entry<Integer, Object[]> entry : fieldsMap.entrySet())
+                {
+                    Object val = this.getCellValue(row, entry.getKey());
+
+                    // 如果不存在实例则新建.
+                    entity = (entity == null ? clazz.newInstance() : entity);
+                    // 从map中得到对应列的field.
+                    Field field = (Field) entry.getValue()[0];
+                    Excel attr = (Excel) entry.getValue()[1];
+                    // 取得类型,并根据对象类型设置值.
+                    Class<?> fieldType = field.getType();
+                    if (String.class == fieldType)
+                    {
+                        String s = Convert.toStr(val);
+                        if (StringUtils.endsWith(s, ".0"))
+                        {
+                            val = StringUtils.substringBefore(s, ".0");
+                        }
+                        else
+                        {
+                            String dateFormat = field.getAnnotation(Excel.class).dateFormat();
+                            if (StringUtils.isNotEmpty(dateFormat))
+                            {
+                                val = parseDateToStr(dateFormat, val);
+                            }
+                            else
+                            {
+                                val = Convert.toStr(val);
+                            }
+                        }
+                    }
+                    else if ((Integer.TYPE == fieldType || Integer.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val)))
+                    {
+                        val = Convert.toInt(val);
+                    }
+                    else if ((Long.TYPE == fieldType || Long.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val)))
+                    {
+                        val = Convert.toLong(val);
+                    }
+                    else if (Double.TYPE == fieldType || Double.class == fieldType)
+                    {
+                        val = Convert.toDouble(val);
+                    }
+                    else if (Float.TYPE == fieldType || Float.class == fieldType)
+                    {
+                        val = Convert.toFloat(val);
+                    }
+                    else if (BigDecimal.class == fieldType)
+                    {
+                        val = Convert.toBigDecimal(val);
+                    }
+                    else if (Date.class == fieldType)
+                    {
+                        if (val instanceof String)
+                        {
+                            val = DateUtils.parseDate(val);
+                        }
+                        else if (val instanceof Double)
+                        {
+                            val = DateUtil.getJavaDate((Double) val);
+                        }
+                    }
+                    else if (Boolean.TYPE == fieldType || Boolean.class == fieldType)
+                    {
+                        val = Convert.toBool(val, false);
+                    }
+                    if (StringUtils.isNotNull(fieldType))
+                    {
+                        String propertyName = field.getName();
+                        if (StringUtils.isNotEmpty(attr.targetAttr()))
+                        {
+                            propertyName = field.getName() + "." + attr.targetAttr();
+                        }
+                        else if (StringUtils.isNotEmpty(attr.readConverterExp()))
+                        {
+                            val = reverseByExp(Convert.toStr(val), attr.readConverterExp(), attr.separator());
+                        }
+                        else if (StringUtils.isNotEmpty(attr.dictType()))
+                        {
+                            val = reverseDictByExp(Convert.toStr(val), attr.dictType(), attr.separator());
+                        }
+                        else if (!attr.handler().equals(ExcelHandlerAdapter.class))
+                        {
+                            val = dataFormatHandlerAdapter(val, attr);
+                        }
+                        else if (ColumnType.IMAGE == attr.cellType() && StringUtils.isNotEmpty(pictures))
+                        {
+                            PictureData image = pictures.get(row.getRowNum() + "_" + entry.getKey());
+                            if (image == null)
+                            {
+                                val = "";
+                            }
+                            else
+                            {
+                                byte[] data = image.getData();
+                                val = FileUtils.writeImportBytes(data);
+                            }
+                        }
+                        ReflectUtils.invokeSetter(entity, propertyName, val);
+                    }
+                }
+                list.add(entity);
+            }
+        }
+        return list;
+    }
+
+    /**
+     * 对list数据源将其里面的数据导入到excel表单
+     *
+     * @param list 导出数据集合
+     * @param sheetName 工作表的名称
+     * @return 结果
+     */
+    public AjaxResult exportExcel(List<T> list, String sheetName)
+    {
+        return exportExcel(list, sheetName, StringUtils.EMPTY);
+    }
+
+    /**
+     * 对list数据源将其里面的数据导入到excel表单
+     *
+     * @param list 导出数据集合
+     * @param sheetName 工作表的名称
+     * @param title 标题
+     * @return 结果
+     */
+    public AjaxResult exportExcel(List<T> list, String sheetName, String title)
+    {
+        this.init(list, sheetName, title, Type.EXPORT);
+        return exportExcel();
+    }
+
+    /**
+     * 对list数据源将其里面的数据导入到excel表单
+     *
+     * @param response 返回数据
+     * @param list 导出数据集合
+     * @param sheetName 工作表的名称
+     * @return 结果
+     */
+    public void exportExcel(HttpServletResponse response, List<T> list, String sheetName)
+    {
+        exportExcel(response, list, sheetName, StringUtils.EMPTY);
+    }
+
+    /**
+     * 对list数据源将其里面的数据导入到excel表单
+     *
+     * @param response 返回数据
+     * @param list 导出数据集合
+     * @param sheetName 工作表的名称
+     * @param title 标题
+     * @return 结果
+     */
+    public void exportExcel(HttpServletResponse response, List<T> list, String sheetName, String title)
+    {
+        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+        response.setCharacterEncoding("utf-8");
+        this.init(list, sheetName, title, Type.EXPORT);
+        exportExcel(response);
+    }
+
+    /**
+     * 对list数据源将其里面的数据导入到excel表单
+     *
+     * @param sheetName 工作表的名称
+     * @return 结果
+     */
+    public AjaxResult importTemplateExcel(String sheetName)
+    {
+        return importTemplateExcel(sheetName, StringUtils.EMPTY);
+    }
+
+    /**
+     * 对list数据源将其里面的数据导入到excel表单
+     *
+     * @param sheetName 工作表的名称
+     * @param title 标题
+     * @return 结果
+     */
+    public AjaxResult importTemplateExcel(String sheetName, String title)
+    {
+        this.init(null, sheetName, title, Type.IMPORT);
+        return exportExcel();
+    }
+
+    /**
+     * 对list数据源将其里面的数据导入到excel表单
+     *
+     * @param sheetName 工作表的名称
+     * @return 结果
+     */
+    public void importTemplateExcel(HttpServletResponse response, String sheetName)
+    {
+        importTemplateExcel(response, sheetName, StringUtils.EMPTY);
+    }
+
+    /**
+     * 对list数据源将其里面的数据导入到excel表单
+     *
+     * @param sheetName 工作表的名称
+     * @param title 标题
+     * @return 结果
+     */
+    public void importTemplateExcel(HttpServletResponse response, String sheetName, String title)
+    {
+        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+        response.setCharacterEncoding("utf-8");
+        this.init(null, sheetName, title, Type.IMPORT);
+        exportExcel(response);
+    }
+
+    /**
+     * 对list数据源将其里面的数据导入到excel表单
+     *
+     * @return 结果
+     */
+    public void exportExcel(HttpServletResponse response)
+    {
+        try
+        {
+            writeSheet();
+            wb.write(response.getOutputStream());
+        }
+        catch (Exception e)
+        {
+            log.error("导出Excel异常{}", e.getMessage());
+        }
+        finally
+        {
+            IOUtils.closeQuietly(wb);
+        }
+    }
+
+    /**
+     * 对list数据源将其里面的数据导入到excel表单
+     *
+     * @return 结果
+     */
+    public AjaxResult exportExcel()
+    {
+        OutputStream out = null;
+        try
+        {
+            writeSheet();
+            String filename = encodingFilename(sheetName);
+            out = new FileOutputStream(getAbsoluteFile(filename));
+            wb.write(out);
+            return AjaxResult.success(filename);
+        }
+        catch (Exception e)
+        {
+            log.error("导出Excel异常{}", e.getMessage());
+            throw new UtilException("导出Excel失败,请联系网站管理员!");
+        }
+        finally
+        {
+            IOUtils.closeQuietly(wb);
+            IOUtils.closeQuietly(out);
+        }
+    }
+
+    /**
+     * 创建写入数据到Sheet
+     */
+    public void writeSheet()
+    {
+        // 取出一共有多少个sheet.
+        int sheetNo = Math.max(1, (int) Math.ceil(list.size() * 1.0 / sheetSize));
+        for (int index = 0; index < sheetNo; index++)
+        {
+            createSheet(sheetNo, index);
+
+            // 产生一行
+            Row row = sheet.createRow(rownum);
+            int column = 0;
+            // 写入各个字段的列头名称
+            for (Object[] os : fields)
+            {
+                Excel excel = (Excel) os[1];
+                this.createCell(excel, row, column++);
+            }
+            if (Type.EXPORT.equals(type))
+            {
+                fillExcelData(index, row);
+                addStatisticsRow();
+            }
+        }
+    }
+
+    /**
+     * 填充excel数据
+     *
+     * @param index 序号
+     * @param row 单元格行
+     */
+    public void fillExcelData(int index, Row row)
+    {
+        int startNo = index * sheetSize;
+        int endNo = Math.min(startNo + sheetSize, list.size());
+        for (int i = startNo; i < endNo; i++)
+        {
+            row = sheet.createRow(i + 1 + rownum - startNo);
+            // 得到导出对象.
+            T vo = (T) list.get(i);
+            int column = 0;
+            for (Object[] os : fields)
+            {
+                Field field = (Field) os[0];
+                Excel excel = (Excel) os[1];
+                this.addCell(excel, row, vo, field, column++);
+            }
+        }
+    }
+
+    /**
+     * 创建表格样式
+     *
+     * @param wb 工作薄对象
+     * @return 样式列表
+     */
+    private Map<String, CellStyle> createStyles(Workbook wb)
+    {
+        // 写入各条记录,每条记录对应excel表中的一行
+        Map<String, CellStyle> styles = new HashMap<String, CellStyle>();
+        CellStyle style = wb.createCellStyle();
+        style.setAlignment(HorizontalAlignment.CENTER);
+        style.setVerticalAlignment(VerticalAlignment.CENTER);
+        Font titleFont = wb.createFont();
+        titleFont.setFontName("Arial");
+        titleFont.setFontHeightInPoints((short) 16);
+        titleFont.setBold(true);
+        style.setFont(titleFont);
+        styles.put("title", style);
+
+        style = wb.createCellStyle();
+        style.setAlignment(HorizontalAlignment.CENTER);
+        style.setVerticalAlignment(VerticalAlignment.CENTER);
+        style.setBorderRight(BorderStyle.THIN);
+        style.setRightBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
+        style.setBorderLeft(BorderStyle.THIN);
+        style.setLeftBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
+        style.setBorderTop(BorderStyle.THIN);
+        style.setTopBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
+        style.setBorderBottom(BorderStyle.THIN);
+        style.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
+        Font dataFont = wb.createFont();
+        dataFont.setFontName("Arial");
+        dataFont.setFontHeightInPoints((short) 10);
+        style.setFont(dataFont);
+        styles.put("data", style);
+
+        style = wb.createCellStyle();
+        style.cloneStyleFrom(styles.get("data"));
+        style.setAlignment(HorizontalAlignment.CENTER);
+        style.setVerticalAlignment(VerticalAlignment.CENTER);
+        style.setFillForegroundColor(IndexedColors.GREY_50_PERCENT.getIndex());
+        style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
+        Font headerFont = wb.createFont();
+        headerFont.setFontName("Arial");
+        headerFont.setFontHeightInPoints((short) 10);
+        headerFont.setBold(true);
+        headerFont.setColor(IndexedColors.WHITE.getIndex());
+        style.setFont(headerFont);
+        styles.put("header", style);
+
+        style = wb.createCellStyle();
+        style.setAlignment(HorizontalAlignment.CENTER);
+        style.setVerticalAlignment(VerticalAlignment.CENTER);
+        Font totalFont = wb.createFont();
+        totalFont.setFontName("Arial");
+        totalFont.setFontHeightInPoints((short) 10);
+        style.setFont(totalFont);
+        styles.put("total", style);
+
+        return styles;
+    }
+
+    /**
+     * 创建单元格
+     */
+    public Cell createCell(Excel attr, Row row, int column)
+    {
+        // 创建列
+        Cell cell = row.createCell(column);
+        // 写入列信息
+        cell.setCellValue(attr.name());
+        setDataValidation(attr, row, column);
+        cell.setCellStyle(styles.get("header"));
+        return cell;
+    }
+
+    /**
+     * 设置单元格信息
+     *
+     * @param value 单元格值
+     * @param attr 注解相关
+     * @param cell 单元格信息
+     */
+    public void setCellVo(Object value, Excel attr, Cell cell)
+    {
+        if (ColumnType.STRING == attr.cellType())
+        {
+            String cellValue = Convert.toStr(value);
+            // 对于任何以表达式触发字符 =-+@开头的单元格,直接使用tab字符作为前缀,防止CSV注入。
+            if (StringUtils.startsWithAny(cellValue, FORMULA_STR))
+            {
+                cellValue = RegExUtils.replaceFirst(cellValue, FORMULA_REGEX_STR, "\t$0");
+            }
+            cell.setCellValue(StringUtils.isNull(cellValue) ? attr.defaultValue() : cellValue + attr.suffix());
+        }
+        else if (ColumnType.NUMERIC == attr.cellType())
+        {
+            if (StringUtils.isNotNull(value))
+            {
+                cell.setCellValue(StringUtils.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value));
+            }
+        }
+        else if (ColumnType.IMAGE == attr.cellType())
+        {
+            ClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, (short) cell.getColumnIndex(), cell.getRow().getRowNum(), (short) (cell.getColumnIndex() + 1), cell.getRow().getRowNum() + 1);
+            String imagePath = Convert.toStr(value);
+            if (StringUtils.isNotEmpty(imagePath))
+            {
+                byte[] data = ImageUtils.getImage(imagePath);
+                getDrawingPatriarch(cell.getSheet()).createPicture(anchor,
+                        cell.getSheet().getWorkbook().addPicture(data, getImageType(data)));
+            }
+        }
+    }
+
+    /**
+     * 获取画布
+     */
+    public static Drawing<?> getDrawingPatriarch(Sheet sheet)
+    {
+        if (sheet.getDrawingPatriarch() == null)
+        {
+            sheet.createDrawingPatriarch();
+        }
+        return sheet.getDrawingPatriarch();
+    }
+
+    /**
+     * 获取图片类型,设置图片插入类型
+     */
+    public int getImageType(byte[] value)
+    {
+        String type = FileTypeUtils.getFileExtendName(value);
+        if ("JPG".equalsIgnoreCase(type))
+        {
+            return Workbook.PICTURE_TYPE_JPEG;
+        }
+        else if ("PNG".equalsIgnoreCase(type))
+        {
+            return Workbook.PICTURE_TYPE_PNG;
+        }
+        return Workbook.PICTURE_TYPE_JPEG;
+    }
+
+    /**
+     * 创建表格样式
+     */
+    public void setDataValidation(Excel attr, Row row, int column)
+    {
+        if (attr.name().indexOf("注:") >= 0)
+        {
+            sheet.setColumnWidth(column, 6000);
+        }
+        else
+        {
+            // 设置列宽
+            sheet.setColumnWidth(column, (int) ((attr.width() + 0.72) * 256));
+        }
+        if (StringUtils.isNotEmpty(attr.prompt()) || attr.combo().length > 0)
+        {
+            // 提示信息或只能选择不能输入的列内容.
+            setPromptOrValidation(sheet, attr.combo(), attr.prompt(), 1, 100, column, column);
+        }
+    }
+
+    /**
+     * 添加单元格
+     */
+    public Cell addCell(Excel attr, Row row, T vo, Field field, int column)
+    {
+        Cell cell = null;
+        try
+        {
+            // 设置行高
+            row.setHeight(maxHeight);
+            // 根据Excel中设置情况决定是否导出,有些情况需要保持为空,希望用户填写这一列.
+            if (attr.isExport())
+            {
+                // 创建cell
+                cell = row.createCell(column);
+                setDataCell(cell, attr);
+
+                // 用于读取对象中的属性
+                Object value = getTargetValue(vo, field, attr);
+                String dateFormat = attr.dateFormat();
+                String readConverterExp = attr.readConverterExp();
+                String separator = attr.separator();
+                String dictType = attr.dictType();
+                if (StringUtils.isNotEmpty(dateFormat) && StringUtils.isNotNull(value))
+                {
+                    cell.setCellValue(parseDateToStr(dateFormat, value));
+                }
+                else if (StringUtils.isNotEmpty(readConverterExp) && StringUtils.isNotNull(value))
+                {
+                    cell.setCellValue(convertByExp(Convert.toStr(value), readConverterExp, separator));
+                }
+                else if (StringUtils.isNotEmpty(dictType) && StringUtils.isNotNull(value))
+                {
+                    cell.setCellValue(convertDictByExp(Convert.toStr(value), dictType, separator));
+                }
+                else if (value instanceof BigDecimal && -1 != attr.scale())
+                {
+                    cell.setCellValue((((BigDecimal) value).setScale(attr.scale(), attr.roundingMode())).toString());
+                }
+                else if (!attr.handler().equals(ExcelHandlerAdapter.class))
+                {
+                    cell.setCellValue(dataFormatHandlerAdapter(value, attr));
+                }
+                else
+                {
+                    // 设置列类型
+                    setCellVo(value, attr, cell);
+                }
+                addStatisticsData(column, Convert.toStr(value), attr);
+            }
+        }
+        catch (Exception e)
+        {
+            log.error("导出Excel失败{}", e);
+        }
+        return cell;
+    }
+
+    /**
+     * 设置单元格样式
+     *
+     * @param cell 单元格
+     * @param excel 注解信息
+     */
+    public void setDataCell(Cell cell, Excel excel)
+    {
+        CellStyle style = wb.createCellStyle();
+        style.setAlignment(HorizontalAlignment.CENTER);
+        style.setVerticalAlignment(VerticalAlignment.CENTER);
+        style.setBorderRight(BorderStyle.THIN);
+        style.setRightBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
+        style.setBorderLeft(BorderStyle.THIN);
+        style.setLeftBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
+        style.setBorderTop(BorderStyle.THIN);
+        style.setTopBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
+        style.setBorderBottom(BorderStyle.THIN);
+        style.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
+        style.setAlignment(excel.align());
+        Font dataFont = wb.createFont();
+        dataFont.setFontName("Arial");
+        dataFont.setFontHeightInPoints((short) 10);
+        dataFont.setColor(excel.color().index);
+        style.setFont(dataFont);
+        cell.setCellStyle(style);
+    }
+
+    /**
+     * 设置 POI XSSFSheet 单元格提示或选择框
+     *
+     * @param sheet 表单
+     * @param textlist 下拉框显示的内容
+     * @param promptContent 提示内容
+     * @param firstRow 开始行
+     * @param endRow 结束行
+     * @param firstCol 开始列
+     * @param endCol 结束列
+     */
+    public void setPromptOrValidation(Sheet sheet, String[] textlist, String promptContent, int firstRow, int endRow,
+            int firstCol, int endCol)
+    {
+        DataValidationHelper helper = sheet.getDataValidationHelper();
+        DataValidationConstraint constraint = textlist.length > 0 ? helper.createExplicitListConstraint(textlist) : helper.createCustomConstraint("DD1");
+        CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol);
+        DataValidation dataValidation = helper.createValidation(constraint, regions);
+        if (StringUtils.isNotEmpty(promptContent))
+        {
+            // 如果设置了提示信息则鼠标放上去提示
+            dataValidation.createPromptBox("", promptContent);
+            dataValidation.setShowPromptBox(true);
+        }
+        // 处理Excel兼容性问题
+        if (dataValidation instanceof XSSFDataValidation)
+        {
+            dataValidation.setSuppressDropDownArrow(true);
+            dataValidation.setShowErrorBox(true);
+        }
+        else
+        {
+            dataValidation.setSuppressDropDownArrow(false);
+        }
+        sheet.addValidationData(dataValidation);
+    }
+
+    /**
+     * 解析导出值 0=男,1=女,2=未知
+     *
+     * @param propertyValue 参数值
+     * @param converterExp 翻译注解
+     * @param separator 分隔符
+     * @return 解析后值
+     */
+    public static String convertByExp(String propertyValue, String converterExp, String separator)
+    {
+        StringBuilder propertyString = new StringBuilder();
+        String[] convertSource = converterExp.split(",");
+        for (String item : convertSource)
+        {
+            String[] itemArray = item.split("=");
+            if (StringUtils.containsAny(separator, propertyValue))
+            {
+                for (String value : propertyValue.split(separator))
+                {
+                    if (itemArray[0].equals(value))
+                    {
+                        propertyString.append(itemArray[1] + separator);
+                        break;
+                    }
+                }
+            }
+            else
+            {
+                if (itemArray[0].equals(propertyValue))
+                {
+                    return itemArray[1];
+                }
+            }
+        }
+        return StringUtils.stripEnd(propertyString.toString(), separator);
+    }
+
+    /**
+     * 反向解析值 男=0,女=1,未知=2
+     *
+     * @param propertyValue 参数值
+     * @param converterExp 翻译注解
+     * @param separator 分隔符
+     * @return 解析后值
+     */
+    public static String reverseByExp(String propertyValue, String converterExp, String separator)
+    {
+        StringBuilder propertyString = new StringBuilder();
+        String[] convertSource = converterExp.split(",");
+        for (String item : convertSource)
+        {
+            String[] itemArray = item.split("=");
+            if (StringUtils.containsAny(separator, propertyValue))
+            {
+                for (String value : propertyValue.split(separator))
+                {
+                    if (itemArray[1].equals(value))
+                    {
+                        propertyString.append(itemArray[0] + separator);
+                        break;
+                    }
+                }
+            }
+            else
+            {
+                if (itemArray[1].equals(propertyValue))
+                {
+                    return itemArray[0];
+                }
+            }
+        }
+        return StringUtils.stripEnd(propertyString.toString(), separator);
+    }
+
+    /**
+     * 解析字典值
+     *
+     * @param dictValue 字典值
+     * @param dictType 字典类型
+     * @param separator 分隔符
+     * @return 字典标签
+     */
+    public static String convertDictByExp(String dictValue, String dictType, String separator)
+    {
+        return DictUtils.getDictLabel(dictType, dictValue, separator);
+    }
+
+    /**
+     * 反向解析值字典值
+     *
+     * @param dictLabel 字典标签
+     * @param dictType 字典类型
+     * @param separator 分隔符
+     * @return 字典值
+     */
+    public static String reverseDictByExp(String dictLabel, String dictType, String separator)
+    {
+        return DictUtils.getDictValue(dictType, dictLabel, separator);
+    }
+
+    /**
+     * 数据处理器
+     *
+     * @param value 数据值
+     * @param excel 数据注解
+     * @return
+     */
+    public String dataFormatHandlerAdapter(Object value, Excel excel)
+    {
+        try
+        {
+            Object instance = excel.handler().newInstance();
+            Method formatMethod = excel.handler().getMethod("format", new Class[] { Object.class, String[].class });
+            value = formatMethod.invoke(instance, value, excel.args());
+        }
+        catch (Exception e)
+        {
+            log.error("不能格式化数据 " + excel.handler(), e.getMessage());
+        }
+        return Convert.toStr(value);
+    }
+
+    /**
+     * 合计统计信息
+     */
+    private void addStatisticsData(Integer index, String text, Excel entity)
+    {
+        if (entity != null && entity.isStatistics())
+        {
+            Double temp = 0D;
+            if (!statistics.containsKey(index))
+            {
+                statistics.put(index, temp);
+            }
+            try
+            {
+                temp = Double.valueOf(text);
+            }
+            catch (NumberFormatException e)
+            {
+            }
+            statistics.put(index, statistics.get(index) + temp);
+        }
+    }
+
+    /**
+     * 创建统计行
+     */
+    public void addStatisticsRow()
+    {
+        if (statistics.size() > 0)
+        {
+            Row row = sheet.createRow(sheet.getLastRowNum() + 1);
+            Set<Integer> keys = statistics.keySet();
+            Cell cell = row.createCell(0);
+            cell.setCellStyle(styles.get("total"));
+            cell.setCellValue("合计");
+
+            for (Integer key : keys)
+            {
+                cell = row.createCell(key);
+                cell.setCellStyle(styles.get("total"));
+                cell.setCellValue(DOUBLE_FORMAT.format(statistics.get(key)));
+            }
+            statistics.clear();
+        }
+    }
+
+    /**
+     * 编码文件名
+     */
+    public String encodingFilename(String filename)
+    {
+        filename = UUID.randomUUID().toString() + "_" + filename + ".xlsx";
+        return filename;
+    }
+
+    /**
+     * 获取下载路径
+     *
+     * @param filename 文件名称
+     */
+    public String getAbsoluteFile(String filename)
+    {
+        String downloadPath = BenYunConfig.getDownloadPath() + filename;
+        File desc = new File(downloadPath);
+        if (!desc.getParentFile().exists())
+        {
+            desc.getParentFile().mkdirs();
+        }
+        return downloadPath;
+    }
+
+    /**
+     * 获取bean中的属性值
+     *
+     * @param vo 实体对象
+     * @param field 字段
+     * @param excel 注解
+     * @return 最终的属性值
+     * @throws Exception
+     */
+    private Object getTargetValue(T vo, Field field, Excel excel) throws Exception
+    {
+        Object o = field.get(vo);
+        if (StringUtils.isNotEmpty(excel.targetAttr()))
+        {
+            String target = excel.targetAttr();
+            if (target.contains("."))
+            {
+                String[] targets = target.split("[.]");
+                for (String name : targets)
+                {
+                    o = getValue(o, name);
+                }
+            }
+            else
+            {
+                o = getValue(o, target);
+            }
+        }
+        return o;
+    }
+
+    /**
+     * 以类的属性的get方法方法形式获取值
+     *
+     * @param o
+     * @param name
+     * @return value
+     * @throws Exception
+     */
+    private Object getValue(Object o, String name) throws Exception
+    {
+        if (StringUtils.isNotNull(o) && StringUtils.isNotEmpty(name))
+        {
+            Class<?> clazz = o.getClass();
+            Field field = clazz.getDeclaredField(name);
+            field.setAccessible(true);
+            o = field.get(o);
+        }
+        return o;
+    }
+
+    /**
+     * 得到所有定义字段
+     */
+    private void createExcelField()
+    {
+        this.fields = getFields();
+        this.fields = this.fields.stream().sorted(Comparator.comparing(objects -> ((Excel) objects[1]).sort())).collect(Collectors.toList());
+        this.maxHeight = getRowHeight();
+    }
+
+    /**
+     * 获取字段注解信息
+     */
+    public List<Object[]> getFields()
+    {
+        List<Object[]> fields = new ArrayList<Object[]>();
+        List<Field> tempFields = new ArrayList<>();
+        tempFields.addAll(Arrays.asList(clazz.getSuperclass().getDeclaredFields()));
+        tempFields.addAll(Arrays.asList(clazz.getDeclaredFields()));
+        for (Field field : tempFields)
+        {
+            // 单注解
+            if (field.isAnnotationPresent(Excel.class))
+            {
+                Excel attr = field.getAnnotation(Excel.class);
+                if (attr != null && (attr.type() == Type.ALL || attr.type() == type))
+                {
+                    field.setAccessible(true);
+                    fields.add(new Object[] { field, attr });
+                }
+            }
+
+            // 多注解
+            if (field.isAnnotationPresent(Excels.class))
+            {
+                Excels attrs = field.getAnnotation(Excels.class);
+                Excel[] excels = attrs.value();
+                for (Excel attr : excels)
+                {
+                    if (attr != null && (attr.type() == Type.ALL || attr.type() == type))
+                    {
+                        field.setAccessible(true);
+                        fields.add(new Object[] { field, attr });
+                    }
+                }
+            }
+        }
+        return fields;
+    }
+
+    /**
+     * 根据注解获取最大行高
+     */
+    public short getRowHeight()
+    {
+        double maxHeight = 0;
+        for (Object[] os : this.fields)
+        {
+            Excel excel = (Excel) os[1];
+            maxHeight = Math.max(maxHeight, excel.height());
+        }
+        return (short) (maxHeight * 20);
+    }
+
+    /**
+     * 创建一个工作簿
+     */
+    public void createWorkbook()
+    {
+        this.wb = new SXSSFWorkbook(500);
+        this.sheet = wb.createSheet();
+        wb.setSheetName(0, sheetName);
+        this.styles = createStyles(wb);
+    }
+
+    /**
+     * 创建工作表
+     *
+     * @param sheetNo sheet数量
+     * @param index 序号
+     */
+    public void createSheet(int sheetNo, int index)
+    {
+        // 设置工作表的名称.
+        if (sheetNo > 1 && index > 0)
+        {
+            this.sheet = wb.createSheet();
+            this.createTitle();
+            wb.setSheetName(index, sheetName + index);
+        }
+    }
+
+    /**
+     * 获取单元格值
+     *
+     * @param row 获取的行
+     * @param column 获取单元格列号
+     * @return 单元格值
+     */
+    public Object getCellValue(Row row, int column)
+    {
+        if (row == null)
+        {
+            return row;
+        }
+        Object val = "";
+        try
+        {
+            Cell cell = row.getCell(column);
+            if (StringUtils.isNotNull(cell))
+            {
+                if (cell.getCellType() == CellType.NUMERIC || cell.getCellType() == CellType.FORMULA)
+                {
+                    val = cell.getNumericCellValue();
+                    if (DateUtil.isCellDateFormatted(cell))
+                    {
+                        val = DateUtil.getJavaDate((Double) val); // POI Excel 日期格式转换
+                    }
+                    else
+                    {
+                        if ((Double) val % 1 != 0)
+                        {
+                            val = new BigDecimal(val.toString());
+                        }
+                        else
+                        {
+                            val = new DecimalFormat("0").format(val);
+                        }
+                    }
+                }
+                else if (cell.getCellType() == CellType.STRING)
+                {
+                    val = cell.getStringCellValue();
+                }
+                else if (cell.getCellType() == CellType.BOOLEAN)
+                {
+                    val = cell.getBooleanCellValue();
+                }
+                else if (cell.getCellType() == CellType.ERROR)
+                {
+                    val = cell.getErrorCellValue();
+                }
+
+            }
+        }
+        catch (Exception e)
+        {
+            return val;
+        }
+        return val;
+    }
+
+    /**
+     * 判断是否是空行
+     *
+     * @param row 判断的行
+     * @return
+     */
+    private boolean isRowEmpty(Row row)
+    {
+        if (row == null)
+        {
+            return true;
+        }
+        for (int i = row.getFirstCellNum(); i < row.getLastCellNum(); i++)
+        {
+            Cell cell = row.getCell(i);
+            if (cell != null && cell.getCellType() != CellType.BLANK)
+            {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    /**
+     * 获取Excel2003图片
+     *
+     * @param sheet 当前sheet对象
+     * @param workbook 工作簿对象
+     * @return Map key:图片单元格索引(1_1)String,value:图片流PictureData
+     */
+    public static Map<String, PictureData> getSheetPictures03(HSSFSheet sheet, HSSFWorkbook workbook)
+    {
+        Map<String, PictureData> sheetIndexPicMap = new HashMap<String, PictureData>();
+        List<HSSFPictureData> pictures = workbook.getAllPictures();
+        if (!pictures.isEmpty())
+        {
+            for (HSSFShape shape : sheet.getDrawingPatriarch().getChildren())
+            {
+                HSSFClientAnchor anchor = (HSSFClientAnchor) shape.getAnchor();
+                if (shape instanceof HSSFPicture)
+                {
+                    HSSFPicture pic = (HSSFPicture) shape;
+                    int pictureIndex = pic.getPictureIndex() - 1;
+                    HSSFPictureData picData = pictures.get(pictureIndex);
+                    String picIndex = String.valueOf(anchor.getRow1()) + "_" + String.valueOf(anchor.getCol1());
+                    sheetIndexPicMap.put(picIndex, picData);
+                }
+            }
+            return sheetIndexPicMap;
+        }
+        else
+        {
+            return sheetIndexPicMap;
+        }
+    }
+
+    /**
+     * 获取Excel2007图片
+     *
+     * @param sheet 当前sheet对象
+     * @param workbook 工作簿对象
+     * @return Map key:图片单元格索引(1_1)String,value:图片流PictureData
+     */
+    public static Map<String, PictureData> getSheetPictures07(XSSFSheet sheet, XSSFWorkbook workbook)
+    {
+        Map<String, PictureData> sheetIndexPicMap = new HashMap<String, PictureData>();
+        for (POIXMLDocumentPart dr : sheet.getRelations())
+        {
+            if (dr instanceof XSSFDrawing)
+            {
+                XSSFDrawing drawing = (XSSFDrawing) dr;
+                List<XSSFShape> shapes = drawing.getShapes();
+                for (XSSFShape shape : shapes)
+                {
+                    if (shape instanceof XSSFPicture)
+                    {
+                        XSSFPicture pic = (XSSFPicture) shape;
+                        XSSFClientAnchor anchor = pic.getPreferredSize();
+                        CTMarker ctMarker = anchor.getFrom();
+                        String picIndex = ctMarker.getRow() + "_" + ctMarker.getCol();
+                        sheetIndexPicMap.put(picIndex, pic.getPictureData());
+                    }
+                }
+            }
+        }
+        return sheetIndexPicMap;
+    }
+
+    /**
+     * 格式化不同类型的日期对象
+     *
+     * @param dateFormat 日期格式
+     * @param val 被格式化的日期对象
+     * @return 格式化后的日期字符
+     */
+    public String parseDateToStr(String dateFormat, Object val)
+    {
+        if (val == null)
+        {
+            return "";
+        }
+        String str;
+        if (val instanceof Date)
+        {
+            str = DateUtils.parseDateToStr(dateFormat, (Date) val);
+        }
+        else if (val instanceof LocalDateTime)
+        {
+            str = DateUtils.parseDateToStr(dateFormat, DateUtils.toDate((LocalDateTime) val));
+        }
+        else if (val instanceof LocalDate)
+        {
+            str = DateUtils.parseDateToStr(dateFormat, DateUtils.toDate((LocalDate) val));
+        }
+        else
+        {
+            str = val.toString();
+        }
+        return str;
+    }
+}

+ 410 - 0
src/main/java/com/benyun/common/utils/reflect/ReflectUtils.java

@@ -0,0 +1,410 @@
+package com.benyun.common.utils.reflect;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.Date;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.Validate;
+import org.apache.poi.ss.usermodel.DateUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.benyun.common.utils.DateUtils;
+import com.benyun.common.utils.text.Convert;
+
+/**
+ * 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数.
+ *
+ * @author liugang
+ */
+@SuppressWarnings("rawtypes")
+public class ReflectUtils
+{
+    private static final String SETTER_PREFIX = "set";
+
+    private static final String GETTER_PREFIX = "get";
+
+    private static final String CGLIB_CLASS_SEPARATOR = "$$";
+
+    private static Logger logger = LoggerFactory.getLogger(ReflectUtils.class);
+
+    /**
+     * 调用Getter方法.
+     * 支持多级,如:对象名.对象名.方法
+     */
+    @SuppressWarnings("unchecked")
+    public static <E> E invokeGetter(Object obj, String propertyName)
+    {
+        Object object = obj;
+        for (String name : StringUtils.split(propertyName, "."))
+        {
+            String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(name);
+            object = invokeMethod(object, getterMethodName, new Class[] {}, new Object[] {});
+        }
+        return (E) object;
+    }
+
+    /**
+     * 调用Setter方法, 仅匹配方法名。
+     * 支持多级,如:对象名.对象名.方法
+     */
+    public static <E> void invokeSetter(Object obj, String propertyName, E value)
+    {
+        Object object = obj;
+        String[] names = StringUtils.split(propertyName, ".");
+        for (int i = 0; i < names.length; i++)
+        {
+            if (i < names.length - 1)
+            {
+                String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(names[i]);
+                object = invokeMethod(object, getterMethodName, new Class[] {}, new Object[] {});
+            }
+            else
+            {
+                String setterMethodName = SETTER_PREFIX + StringUtils.capitalize(names[i]);
+                invokeMethodByName(object, setterMethodName, new Object[] { value });
+            }
+        }
+    }
+
+    /**
+     * 直接读取对象属性值, 无视private/protected修饰符, 不经过getter函数.
+     */
+    @SuppressWarnings("unchecked")
+    public static <E> E getFieldValue(final Object obj, final String fieldName)
+    {
+        Field field = getAccessibleField(obj, fieldName);
+        if (field == null)
+        {
+            logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 ");
+            return null;
+        }
+        E result = null;
+        try
+        {
+            result = (E) field.get(obj);
+        }
+        catch (IllegalAccessException e)
+        {
+            logger.error("不可能抛出的异常{}", e.getMessage());
+        }
+        return result;
+    }
+
+    /**
+     * 直接设置对象属性值, 无视private/protected修饰符, 不经过setter函数.
+     */
+    public static <E> void setFieldValue(final Object obj, final String fieldName, final E value)
+    {
+        Field field = getAccessibleField(obj, fieldName);
+        if (field == null)
+        {
+            // throw new IllegalArgumentException("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 ");
+            logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 ");
+            return;
+        }
+        try
+        {
+            field.set(obj, value);
+        }
+        catch (IllegalAccessException e)
+        {
+            logger.error("不可能抛出的异常: {}", e.getMessage());
+        }
+    }
+
+    /**
+     * 直接调用对象方法, 无视private/protected修饰符.
+     * 用于一次性调用的情况,否则应使用getAccessibleMethod()函数获得Method后反复调用.
+     * 同时匹配方法名+参数类型,
+     */
+    @SuppressWarnings("unchecked")
+    public static <E> E invokeMethod(final Object obj, final String methodName, final Class<?>[] parameterTypes,
+            final Object[] args)
+    {
+        if (obj == null || methodName == null)
+        {
+            return null;
+        }
+        Method method = getAccessibleMethod(obj, methodName, parameterTypes);
+        if (method == null)
+        {
+            logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + methodName + "] 方法 ");
+            return null;
+        }
+        try
+        {
+            return (E) method.invoke(obj, args);
+        }
+        catch (Exception e)
+        {
+            String msg = "method: " + method + ", obj: " + obj + ", args: " + args + "";
+            throw convertReflectionExceptionToUnchecked(msg, e);
+        }
+    }
+
+    /**
+     * 直接调用对象方法, 无视private/protected修饰符,
+     * 用于一次性调用的情况,否则应使用getAccessibleMethodByName()函数获得Method后反复调用.
+     * 只匹配函数名,如果有多个同名函数调用第一个。
+     */
+    @SuppressWarnings("unchecked")
+    public static <E> E invokeMethodByName(final Object obj, final String methodName, final Object[] args)
+    {
+        Method method = getAccessibleMethodByName(obj, methodName, args.length);
+        if (method == null)
+        {
+            // 如果为空不报错,直接返回空。
+            logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + methodName + "] 方法 ");
+            return null;
+        }
+        try
+        {
+            // 类型转换(将参数数据类型转换为目标方法参数类型)
+            Class<?>[] cs = method.getParameterTypes();
+            for (int i = 0; i < cs.length; i++)
+            {
+                if (args[i] != null && !args[i].getClass().equals(cs[i]))
+                {
+                    if (cs[i] == String.class)
+                    {
+                        args[i] = Convert.toStr(args[i]);
+                        if (StringUtils.endsWith((String) args[i], ".0"))
+                        {
+                            args[i] = StringUtils.substringBefore((String) args[i], ".0");
+                        }
+                    }
+                    else if (cs[i] == Integer.class)
+                    {
+                        args[i] = Convert.toInt(args[i]);
+                    }
+                    else if (cs[i] == Long.class)
+                    {
+                        args[i] = Convert.toLong(args[i]);
+                    }
+                    else if (cs[i] == Double.class)
+                    {
+                        args[i] = Convert.toDouble(args[i]);
+                    }
+                    else if (cs[i] == Float.class)
+                    {
+                        args[i] = Convert.toFloat(args[i]);
+                    }
+                    else if (cs[i] == Date.class)
+                    {
+                        if (args[i] instanceof String)
+                        {
+                            args[i] = DateUtils.parseDate(args[i]);
+                        }
+                        else
+                        {
+                            args[i] = DateUtil.getJavaDate((Double) args[i]);
+                        }
+                    }
+                    else if (cs[i] == boolean.class || cs[i] == Boolean.class)
+                    {
+                        args[i] = Convert.toBool(args[i]);
+                    }
+                }
+            }
+            return (E) method.invoke(obj, args);
+        }
+        catch (Exception e)
+        {
+            String msg = "method: " + method + ", obj: " + obj + ", args: " + args + "";
+            throw convertReflectionExceptionToUnchecked(msg, e);
+        }
+    }
+
+    /**
+     * 循环向上转型, 获取对象的DeclaredField, 并强制设置为可访问.
+     * 如向上转型到Object仍无法找到, 返回null.
+     */
+    public static Field getAccessibleField(final Object obj, final String fieldName)
+    {
+        // 为空不报错。直接返回 null
+        if (obj == null)
+        {
+            return null;
+        }
+        Validate.notBlank(fieldName, "fieldName can't be blank");
+        for (Class<?> superClass = obj.getClass(); superClass != Object.class; superClass = superClass.getSuperclass())
+        {
+            try
+            {
+                Field field = superClass.getDeclaredField(fieldName);
+                makeAccessible(field);
+                return field;
+            }
+            catch (NoSuchFieldException e)
+            {
+                continue;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * 循环向上转型, 获取对象的DeclaredMethod,并强制设置为可访问.
+     * 如向上转型到Object仍无法找到, 返回null.
+     * 匹配函数名+参数类型。
+     * 用于方法需要被多次调用的情况. 先使用本函数先取得Method,然后调用Method.invoke(Object obj, Object... args)
+     */
+    public static Method getAccessibleMethod(final Object obj, final String methodName,
+            final Class<?>... parameterTypes)
+    {
+        // 为空不报错。直接返回 null
+        if (obj == null)
+        {
+            return null;
+        }
+        Validate.notBlank(methodName, "methodName can't be blank");
+        for (Class<?> searchType = obj.getClass(); searchType != Object.class; searchType = searchType.getSuperclass())
+        {
+            try
+            {
+                Method method = searchType.getDeclaredMethod(methodName, parameterTypes);
+                makeAccessible(method);
+                return method;
+            }
+            catch (NoSuchMethodException e)
+            {
+                continue;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * 循环向上转型, 获取对象的DeclaredMethod,并强制设置为可访问.
+     * 如向上转型到Object仍无法找到, 返回null.
+     * 只匹配函数名。
+     * 用于方法需要被多次调用的情况. 先使用本函数先取得Method,然后调用Method.invoke(Object obj, Object... args)
+     */
+    public static Method getAccessibleMethodByName(final Object obj, final String methodName, int argsNum)
+    {
+        // 为空不报错。直接返回 null
+        if (obj == null)
+        {
+            return null;
+        }
+        Validate.notBlank(methodName, "methodName can't be blank");
+        for (Class<?> searchType = obj.getClass(); searchType != Object.class; searchType = searchType.getSuperclass())
+        {
+            Method[] methods = searchType.getDeclaredMethods();
+            for (Method method : methods)
+            {
+                if (method.getName().equals(methodName) && method.getParameterTypes().length == argsNum)
+                {
+                    makeAccessible(method);
+                    return method;
+                }
+            }
+        }
+        return null;
+    }
+
+    /**
+     * 改变private/protected的方法为public,尽量不调用实际改动的语句,避免JDK的SecurityManager抱怨。
+     */
+    public static void makeAccessible(Method method)
+    {
+        if ((!Modifier.isPublic(method.getModifiers()) || !Modifier.isPublic(method.getDeclaringClass().getModifiers()))
+                && !method.isAccessible())
+        {
+            method.setAccessible(true);
+        }
+    }
+
+    /**
+     * 改变private/protected的成员变量为public,尽量不调用实际改动的语句,避免JDK的SecurityManager抱怨。
+     */
+    public static void makeAccessible(Field field)
+    {
+        if ((!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers())
+                || Modifier.isFinal(field.getModifiers())) && !field.isAccessible())
+        {
+            field.setAccessible(true);
+        }
+    }
+
+    /**
+     * 通过反射, 获得Class定义中声明的泛型参数的类型, 注意泛型必须定义在父类处
+     * 如无法找到, 返回Object.class.
+     */
+    @SuppressWarnings("unchecked")
+    public static <T> Class<T> getClassGenricType(final Class clazz)
+    {
+        return getClassGenricType(clazz, 0);
+    }
+
+    /**
+     * 通过反射, 获得Class定义中声明的父类的泛型参数的类型.
+     * 如无法找到, 返回Object.class.
+     */
+    public static Class getClassGenricType(final Class clazz, final int index)
+    {
+        Type genType = clazz.getGenericSuperclass();
+
+        if (!(genType instanceof ParameterizedType))
+        {
+            logger.debug(clazz.getSimpleName() + "'s superclass not ParameterizedType");
+            return Object.class;
+        }
+
+        Type[] params = ((ParameterizedType) genType).getActualTypeArguments();
+
+        if (index >= params.length || index < 0)
+        {
+            logger.debug("Index: " + index + ", Size of " + clazz.getSimpleName() + "'s Parameterized Type: "
+                    + params.length);
+            return Object.class;
+        }
+        if (!(params[index] instanceof Class))
+        {
+            logger.debug(clazz.getSimpleName() + " not set the actual class on superclass generic parameter");
+            return Object.class;
+        }
+
+        return (Class) params[index];
+    }
+
+    public static Class<?> getUserClass(Object instance)
+    {
+        if (instance == null)
+        {
+            throw new RuntimeException("Instance must not be null");
+        }
+        Class clazz = instance.getClass();
+        if (clazz != null && clazz.getName().contains(CGLIB_CLASS_SEPARATOR))
+        {
+            Class<?> superClass = clazz.getSuperclass();
+            if (superClass != null && !Object.class.equals(superClass))
+            {
+                return superClass;
+            }
+        }
+        return clazz;
+
+    }
+
+    /**
+     * 将反射时的checked exception转换为unchecked exception.
+     */
+    public static RuntimeException convertReflectionExceptionToUnchecked(String msg, Exception e)
+    {
+        if (e instanceof IllegalAccessException || e instanceof IllegalArgumentException
+                || e instanceof NoSuchMethodException)
+        {
+            return new IllegalArgumentException(msg, e);
+        }
+        else if (e instanceof InvocationTargetException)
+        {
+            return new RuntimeException(msg, ((InvocationTargetException) e).getTargetException());
+        }
+        return new RuntimeException(msg, e);
+    }
+}

+ 30 - 0
src/main/java/com/benyun/common/utils/security/AuthorizationUtils.java

@@ -0,0 +1,30 @@
+package com.benyun.common.utils.security;
+
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.mgt.RealmSecurityManager;
+import com.benyun.framework.shiro.realm.UserRealm;
+
+/**
+ * 用户授权信息
+ *
+ * @author liugang
+ */
+public class AuthorizationUtils
+{
+    /**
+     * 清理所有用户授权信息缓存
+     */
+    public static void clearAllCachedAuthorizationInfo()
+    {
+        getUserRealm().clearAllCachedAuthorizationInfo();
+    }
+
+    /**
+     * 获取自定义Realm
+     */
+    public static UserRealm getUserRealm()
+    {
+        RealmSecurityManager rsm = (RealmSecurityManager) SecurityUtils.getSecurityManager();
+        return (UserRealm) rsm.getRealms().iterator().next();
+    }
+}

+ 36 - 0
src/main/java/com/benyun/common/utils/security/CipherUtils.java

@@ -0,0 +1,36 @@
+package com.benyun.common.utils.security;
+
+import java.security.Key;
+import java.security.NoSuchAlgorithmException;
+import javax.crypto.KeyGenerator;
+
+/**
+ * 对称密钥密码算法工具类
+ *
+ * @author liugang
+ */
+public class CipherUtils
+{
+    /**
+     * 生成随机秘钥
+     *
+     * @param keyBitSize 字节大小
+     * @param algorithmName 算法名称
+     * @return 创建密匙
+     */
+    public static Key generateNewKey(int keyBitSize, String algorithmName)
+    {
+        KeyGenerator kg;
+        try
+        {
+            kg = KeyGenerator.getInstance(algorithmName);
+        }
+        catch (NoSuchAlgorithmException e)
+        {
+            String msg = "Unable to acquire " + algorithmName + " algorithm.  This is required to function.";
+            throw new IllegalStateException(msg, e);
+        }
+        kg.init(keyBitSize);
+        return kg.generateKey();
+    }
+}

+ 77 - 0
src/main/java/com/benyun/common/utils/security/PermissionUtils.java

@@ -0,0 +1,77 @@
+package com.benyun.common.utils.security;
+
+import org.apache.commons.lang3.StringUtils;
+import com.benyun.common.constant.PermissionConstants;
+import com.benyun.common.utils.MessageUtils;
+
+/**
+ * permission 工具类
+ *
+ * @author liugang
+ */
+public class PermissionUtils
+{
+    /**
+     * 查看数据的权限
+     */
+    public static final String VIEW_PERMISSION = "no.view.permission";
+
+    /**
+     * 创建数据的权限
+     */
+    public static final String CREATE_PERMISSION = "no.create.permission";
+
+    /**
+     * 修改数据的权限
+     */
+    public static final String UPDATE_PERMISSION = "no.update.permission";
+
+    /**
+     * 删除数据的权限
+     */
+    public static final String DELETE_PERMISSION = "no.delete.permission";
+
+    /**
+     * 导出数据的权限
+     */
+    public static final String EXPORT_PERMISSION = "no.export.permission";
+
+    /**
+     * 其他数据的权限
+     */
+    public static final String PERMISSION = "no.permission";
+
+    /**
+     * 权限错误消息提醒
+     *
+     * @param permissionsStr 错误信息
+     * @return 提示信息
+     */
+    public static String getMsg(String permissionsStr)
+    {
+        String permission = StringUtils.substringBetween(permissionsStr, "[", "]");
+        String msg = MessageUtils.message(PERMISSION, permission);
+        if (StringUtils.endsWithIgnoreCase(permission, PermissionConstants.ADD_PERMISSION))
+        {
+            msg = MessageUtils.message(CREATE_PERMISSION, permission);
+        }
+        else if (StringUtils.endsWithIgnoreCase(permission, PermissionConstants.EDIT_PERMISSION))
+        {
+            msg = MessageUtils.message(UPDATE_PERMISSION, permission);
+        }
+        else if (StringUtils.endsWithIgnoreCase(permission, PermissionConstants.REMOVE_PERMISSION))
+        {
+            msg = MessageUtils.message(DELETE_PERMISSION, permission);
+        }
+        else if (StringUtils.endsWithIgnoreCase(permission, PermissionConstants.EXPORT_PERMISSION))
+        {
+            msg = MessageUtils.message(EXPORT_PERMISSION, permission);
+        }
+        else if (StringUtils.endsWithAny(permission,
+                new String[] { PermissionConstants.VIEW_PERMISSION, PermissionConstants.LIST_PERMISSION }))
+        {
+            msg = MessageUtils.message(VIEW_PERMISSION, permission);
+        }
+        return msg;
+    }
+}

+ 75 - 0
src/main/java/com/benyun/common/utils/security/ShiroUtils.java

@@ -0,0 +1,75 @@
+package com.benyun.common.utils.security;
+
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.session.Session;
+import org.apache.shiro.subject.Subject;
+import org.apache.shiro.subject.PrincipalCollection;
+import org.apache.shiro.subject.SimplePrincipalCollection;
+import com.benyun.common.utils.StringUtils;
+import com.benyun.common.utils.bean.BeanUtils;
+import com.benyun.project.system.user.domain.User;
+
+/**
+ * shiro 工具类
+ *
+ * @author liugang
+ */
+public class ShiroUtils
+{
+    public static Subject getSubject()
+    {
+        return SecurityUtils.getSubject();
+    }
+
+    public static Session getSession()
+    {
+        return SecurityUtils.getSubject().getSession();
+    }
+
+    public static void logout()
+    {
+        getSubject().logout();
+    }
+
+    public static User getSysUser()
+    {
+        User user = null;
+        Object obj = getSubject().getPrincipal();
+        if (StringUtils.isNotNull(obj))
+        {
+            user = new User();
+            BeanUtils.copyBeanProp(user, obj);
+        }
+        return user;
+    }
+
+    public static void setSysUser(User user)
+    {
+        Subject subject = getSubject();
+        PrincipalCollection principalCollection = subject.getPrincipals();
+        String realmName = principalCollection.getRealmNames().iterator().next();
+        PrincipalCollection newPrincipalCollection = new SimplePrincipalCollection(user, realmName);
+        // 重新加载Principal
+        subject.runAs(newPrincipalCollection);
+    }
+
+    public static Long getUserId()
+    {
+        return getSysUser().getUserId().longValue();
+    }
+
+    public static String getLoginName()
+    {
+        return getSysUser().getLoginName();
+    }
+
+    public static String getIp()
+    {
+        return getSubject().getSession().getHost();
+    }
+
+    public static String getSessionId()
+    {
+        return String.valueOf(getSubject().getSession().getId());
+    }
+}

+ 146 - 0
src/main/java/com/benyun/common/utils/spring/SpringUtils.java

@@ -0,0 +1,146 @@
+package com.benyun.common.utils.spring;
+
+import org.springframework.aop.framework.AopContext;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.NoSuchBeanDefinitionException;
+import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
+import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+import com.benyun.common.utils.StringUtils;
+
+/**
+ * spring工具类 方便在非spring管理环境中获取bean
+ *
+ * @author liugang
+ */
+@Component
+public final class SpringUtils implements BeanFactoryPostProcessor, ApplicationContextAware
+{
+    /** Spring应用上下文环境 */
+    private static ConfigurableListableBeanFactory beanFactory;
+
+    private static ApplicationContext applicationContext;
+
+    @Override
+    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
+    {
+        SpringUtils.beanFactory = beanFactory;
+    }
+
+    @Override
+    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
+    {
+        SpringUtils.applicationContext = applicationContext;
+    }
+
+    /**
+     * 获取对象
+     *
+     * @param name
+     * @return Object 一个以所给名字注册的bean的实例
+     * @throws org.springframework.beans.BeansException
+     *
+     */
+    @SuppressWarnings("unchecked")
+    public static <T> T getBean(String name) throws BeansException
+    {
+        return (T) beanFactory.getBean(name);
+    }
+
+    /**
+     * 获取类型为requiredType的对象
+     *
+     * @param clz
+     * @return
+     * @throws org.springframework.beans.BeansException
+     *
+     */
+    public static <T> T getBean(Class<T> clz) throws BeansException
+    {
+        T result = (T) beanFactory.getBean(clz);
+        return result;
+    }
+
+    /**
+     * 如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true
+     *
+     * @param name
+     * @return boolean
+     */
+    public static boolean containsBean(String name)
+    {
+        return beanFactory.containsBean(name);
+    }
+
+    /**
+     * 判断以给定名字注册的bean定义是一个singleton还是一个prototype。 如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException)
+     *
+     * @param name
+     * @return boolean
+     * @throws org.springframework.beans.factory.NoSuchBeanDefinitionException
+     *
+     */
+    public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException
+    {
+        return beanFactory.isSingleton(name);
+    }
+
+    /**
+     * @param name
+     * @return Class 注册对象的类型
+     * @throws org.springframework.beans.factory.NoSuchBeanDefinitionException
+     *
+     */
+    public static Class<?> getType(String name) throws NoSuchBeanDefinitionException
+    {
+        return beanFactory.getType(name);
+    }
+
+    /**
+     * 如果给定的bean名字在bean定义中有别名,则返回这些别名
+     *
+     * @param name
+     * @return
+     * @throws org.springframework.beans.factory.NoSuchBeanDefinitionException
+     *
+     */
+    public static String[] getAliases(String name) throws NoSuchBeanDefinitionException
+    {
+        return beanFactory.getAliases(name);
+    }
+
+    /**
+     * 获取aop代理对象
+     *
+     * @param invoker
+     * @return
+     */
+    @SuppressWarnings("unchecked")
+    public static <T> T getAopProxy(T invoker)
+    {
+        return (T) AopContext.currentProxy();
+    }
+
+    /**
+     * 获取当前的环境配置,无配置返回null
+     *
+     * @return 当前的环境配置
+     */
+    public static String[] getActiveProfiles()
+    {
+        return applicationContext.getEnvironment().getActiveProfiles();
+    }
+
+    /**
+     * 获取当前的环境配置,当有多个环境配置时,只获取第一个
+     *
+     * @return 当前的环境配置
+     */
+    public static String getActiveProfile()
+    {
+        final String[] activeProfiles = getActiveProfiles();
+        return StringUtils.isNotEmpty(activeProfiles) ? activeProfiles[0] : null;
+    }
+}

+ 61 - 0
src/main/java/com/benyun/common/utils/sql/SqlUtil.java

@@ -0,0 +1,61 @@
+package com.benyun.common.utils.sql;
+
+import com.benyun.common.exception.UtilException;
+import com.benyun.common.utils.StringUtils;
+
+/**
+ * sql操作工具类
+ *
+ * @author liugang
+ */
+public class SqlUtil
+{
+    /**
+     * 定义常用的 sql关键字
+     */
+    public static String SQL_REGEX = "select |insert |delete |update |drop |count |exec |chr |mid |master |truncate |char |and |declare ";
+
+    /**
+     * 仅支持字母、数字、下划线、空格、逗号、小数点(支持多个字段排序)
+     */
+    public static String SQL_PATTERN = "[a-zA-Z0-9_\\ \\,\\.]+";
+
+    /**
+     * 检查字符,防止注入绕过
+     */
+    public static String escapeOrderBySql(String value)
+    {
+        if (StringUtils.isNotEmpty(value) && !isValidOrderBySql(value))
+        {
+            throw new UtilException("参数不符合规范,不能进行查询");
+        }
+        return value;
+    }
+
+    /**
+     * 验证 order by 语法是否符合规范
+     */
+    public static boolean isValidOrderBySql(String value)
+    {
+        return value.matches(SQL_PATTERN);
+    }
+
+    /**
+     * SQL关键字检查
+     */
+    public static void filterKeyword(String value)
+    {
+        if (StringUtils.isEmpty(value))
+        {
+            return;
+        }
+        String[] sqlKeywords = StringUtils.split(SQL_REGEX, "\\|");
+        for (String sqlKeyword : sqlKeywords)
+        {
+            if (StringUtils.indexOfIgnoreCase(value, sqlKeyword) > -1)
+            {
+                throw new UtilException("参数存在SQL注入风险");
+            }
+        }
+    }
+}

+ 87 - 0
src/main/java/com/benyun/common/utils/text/CharsetKit.java

@@ -0,0 +1,87 @@
+package com.benyun.common.utils.text;
+
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+import com.benyun.common.utils.StringUtils;
+
+/**
+ * 字符集工具类
+ *
+ * @author liugang
+ *
+ */
+public class CharsetKit
+{
+    /** ISO-8859-1 */
+    public static final String ISO_8859_1 = "ISO-8859-1";
+    /** UTF-8 */
+    public static final String UTF_8 = "UTF-8";
+    /** GBK */
+    public static final String GBK = "GBK";
+
+    /** ISO-8859-1 */
+    public static final Charset CHARSET_ISO_8859_1 = Charset.forName(ISO_8859_1);
+    /** UTF-8 */
+    public static final Charset CHARSET_UTF_8 = Charset.forName(UTF_8);
+    /** GBK */
+    public static final Charset CHARSET_GBK = Charset.forName(GBK);
+
+    /**
+     * 转换为Charset对象
+     *
+     * @param charset 字符集,为空则返回默认字符集
+     * @return Charset
+     */
+    public static Charset charset(String charset)
+    {
+        return StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset);
+    }
+
+    /**
+     * 转换字符串的字符集编码
+     *
+     * @param source 字符串
+     * @param srcCharset 源字符集,默认ISO-8859-1
+     * @param destCharset 目标字符集,默认UTF-8
+     * @return 转换后的字符集
+     */
+    public static String convert(String source, String srcCharset, String destCharset)
+    {
+        return convert(source, Charset.forName(srcCharset), Charset.forName(destCharset));
+    }
+
+    /**
+     * 转换字符串的字符集编码
+     *
+     * @param source 字符串
+     * @param srcCharset 源字符集,默认ISO-8859-1
+     * @param destCharset 目标字符集,默认UTF-8
+     * @return 转换后的字符集
+     */
+    public static String convert(String source, Charset srcCharset, Charset destCharset)
+    {
+        if (null == srcCharset)
+        {
+            srcCharset = StandardCharsets.ISO_8859_1;
+        }
+
+        if (null == destCharset)
+        {
+            destCharset = StandardCharsets.UTF_8;
+        }
+
+        if (StringUtils.isEmpty(source) || srcCharset.equals(destCharset))
+        {
+            return source;
+        }
+        return new String(source.getBytes(srcCharset), destCharset);
+    }
+
+    /**
+     * @return 系统字符集编码
+     */
+    public static String systemCharset()
+    {
+        return Charset.defaultCharset().name();
+    }
+}

+ 1005 - 0
src/main/java/com/benyun/common/utils/text/Convert.java

@@ -0,0 +1,1005 @@
+package com.benyun.common.utils.text;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.nio.ByteBuffer;
+import java.nio.charset.Charset;
+import java.text.NumberFormat;
+import java.util.Set;
+import org.apache.commons.lang3.ArrayUtils;
+import com.benyun.common.utils.StringUtils;
+
+/**
+ * 类型转换器
+ *
+ * @author liugang
+ */
+public class Convert
+{
+    /**
+     * 转换为字符串<br>
+     * 如果给定的值为null,或者转换失败,返回默认值<br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @param defaultValue 转换错误时的默认值
+     * @return 结果
+     */
+    public static String toStr(Object value, String defaultValue)
+    {
+        if (null == value)
+        {
+            return defaultValue;
+        }
+        if (value instanceof String)
+        {
+            return (String) value;
+        }
+        return value.toString();
+    }
+
+    /**
+     * 转换为字符串<br>
+     * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @return 结果
+     */
+    public static String toStr(Object value)
+    {
+        return toStr(value, null);
+    }
+
+    /**
+     * 转换为字符<br>
+     * 如果给定的值为null,或者转换失败,返回默认值<br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @param defaultValue 转换错误时的默认值
+     * @return 结果
+     */
+    public static Character toChar(Object value, Character defaultValue)
+    {
+        if (null == value)
+        {
+            return defaultValue;
+        }
+        if (value instanceof Character)
+        {
+            return (Character) value;
+        }
+
+        final String valueStr = toStr(value, null);
+        return StringUtils.isEmpty(valueStr) ? defaultValue : valueStr.charAt(0);
+    }
+
+    /**
+     * 转换为字符<br>
+     * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @return 结果
+     */
+    public static Character toChar(Object value)
+    {
+        return toChar(value, null);
+    }
+
+    /**
+     * 转换为byte<br>
+     * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @param defaultValue 转换错误时的默认值
+     * @return 结果
+     */
+    public static Byte toByte(Object value, Byte defaultValue)
+    {
+        if (value == null)
+        {
+            return defaultValue;
+        }
+        if (value instanceof Byte)
+        {
+            return (Byte) value;
+        }
+        if (value instanceof Number)
+        {
+            return ((Number) value).byteValue();
+        }
+        final String valueStr = toStr(value, null);
+        if (StringUtils.isEmpty(valueStr))
+        {
+            return defaultValue;
+        }
+        try
+        {
+            return Byte.parseByte(valueStr);
+        }
+        catch (Exception e)
+        {
+            return defaultValue;
+        }
+    }
+
+    /**
+     * 转换为byte<br>
+     * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @return 结果
+     */
+    public static Byte toByte(Object value)
+    {
+        return toByte(value, null);
+    }
+
+    /**
+     * 转换为Short<br>
+     * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @param defaultValue 转换错误时的默认值
+     * @return 结果
+     */
+    public static Short toShort(Object value, Short defaultValue)
+    {
+        if (value == null)
+        {
+            return defaultValue;
+        }
+        if (value instanceof Short)
+        {
+            return (Short) value;
+        }
+        if (value instanceof Number)
+        {
+            return ((Number) value).shortValue();
+        }
+        final String valueStr = toStr(value, null);
+        if (StringUtils.isEmpty(valueStr))
+        {
+            return defaultValue;
+        }
+        try
+        {
+            return Short.parseShort(valueStr.trim());
+        }
+        catch (Exception e)
+        {
+            return defaultValue;
+        }
+    }
+
+    /**
+     * 转换为Short<br>
+     * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @return 结果
+     */
+    public static Short toShort(Object value)
+    {
+        return toShort(value, null);
+    }
+
+    /**
+     * 转换为Number<br>
+     * 如果给定的值为空,或者转换失败,返回默认值<br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @param defaultValue 转换错误时的默认值
+     * @return 结果
+     */
+    public static Number toNumber(Object value, Number defaultValue)
+    {
+        if (value == null)
+        {
+            return defaultValue;
+        }
+        if (value instanceof Number)
+        {
+            return (Number) value;
+        }
+        final String valueStr = toStr(value, null);
+        if (StringUtils.isEmpty(valueStr))
+        {
+            return defaultValue;
+        }
+        try
+        {
+            return NumberFormat.getInstance().parse(valueStr);
+        }
+        catch (Exception e)
+        {
+            return defaultValue;
+        }
+    }
+
+    /**
+     * 转换为Number<br>
+     * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @return 结果
+     */
+    public static Number toNumber(Object value)
+    {
+        return toNumber(value, null);
+    }
+
+    /**
+     * 转换为int<br>
+     * 如果给定的值为空,或者转换失败,返回默认值<br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @param defaultValue 转换错误时的默认值
+     * @return 结果
+     */
+    public static Integer toInt(Object value, Integer defaultValue)
+    {
+        if (value == null)
+        {
+            return defaultValue;
+        }
+        if (value instanceof Integer)
+        {
+            return (Integer) value;
+        }
+        if (value instanceof Number)
+        {
+            return ((Number) value).intValue();
+        }
+        final String valueStr = toStr(value, null);
+        if (StringUtils.isEmpty(valueStr))
+        {
+            return defaultValue;
+        }
+        try
+        {
+            return Integer.parseInt(valueStr.trim());
+        }
+        catch (Exception e)
+        {
+            return defaultValue;
+        }
+    }
+
+    /**
+     * 转换为int<br>
+     * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @return 结果
+     */
+    public static Integer toInt(Object value)
+    {
+        return toInt(value, null);
+    }
+
+    /**
+     * 转换为Integer数组<br>
+     *
+     * @param str 被转换的值
+     * @return 结果
+     */
+    public static Integer[] toIntArray(String str)
+    {
+        return toIntArray(",", str);
+    }
+
+    /**
+     * 转换为Long数组<br>
+     *
+     * @param str 被转换的值
+     * @return 结果
+     */
+    public static Long[] toLongArray(String str)
+    {
+        return toLongArray(",", str);
+    }
+
+    /**
+     * 转换为Integer数组<br>
+     *
+     * @param split 分隔符
+     * @param split 被转换的值
+     * @return 结果
+     */
+    public static Integer[] toIntArray(String split, String str)
+    {
+        if (StringUtils.isEmpty(str))
+        {
+            return new Integer[] {};
+        }
+        String[] arr = str.split(split);
+        final Integer[] ints = new Integer[arr.length];
+        for (int i = 0; i < arr.length; i++)
+        {
+            final Integer v = toInt(arr[i], 0);
+            ints[i] = v;
+        }
+        return ints;
+    }
+
+    /**
+     * 转换为Long数组<br>
+     *
+     * @param split 分隔符
+     * @param str 被转换的值
+     * @return 结果
+     */
+    public static Long[] toLongArray(String split, String str)
+    {
+        if (StringUtils.isEmpty(str))
+        {
+            return new Long[] {};
+        }
+        String[] arr = str.split(split);
+        final Long[] longs = new Long[arr.length];
+        for (int i = 0; i < arr.length; i++)
+        {
+            final Long v = toLong(arr[i], null);
+            longs[i] = v;
+        }
+        return longs;
+    }
+
+    /**
+     * 转换为String数组<br>
+     *
+     * @param str 被转换的值
+     * @return 结果
+     */
+    public static String[] toStrArray(String str)
+    {
+        return toStrArray(",", str);
+    }
+
+    /**
+     * 转换为String数组<br>
+     *
+     * @param split 分隔符
+     * @param split 被转换的值
+     * @return 结果
+     */
+    public static String[] toStrArray(String split, String str)
+    {
+        return str.split(split);
+    }
+
+    /**
+     * 转换为long<br>
+     * 如果给定的值为空,或者转换失败,返回默认值<br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @param defaultValue 转换错误时的默认值
+     * @return 结果
+     */
+    public static Long toLong(Object value, Long defaultValue)
+    {
+        if (value == null)
+        {
+            return defaultValue;
+        }
+        if (value instanceof Long)
+        {
+            return (Long) value;
+        }
+        if (value instanceof Number)
+        {
+            return ((Number) value).longValue();
+        }
+        final String valueStr = toStr(value, null);
+        if (StringUtils.isEmpty(valueStr))
+        {
+            return defaultValue;
+        }
+        try
+        {
+            // 支持科学计数法
+            return new BigDecimal(valueStr.trim()).longValue();
+        }
+        catch (Exception e)
+        {
+            return defaultValue;
+        }
+    }
+
+    /**
+     * 转换为long<br>
+     * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @return 结果
+     */
+    public static Long toLong(Object value)
+    {
+        return toLong(value, null);
+    }
+
+    /**
+     * 转换为double<br>
+     * 如果给定的值为空,或者转换失败,返回默认值<br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @param defaultValue 转换错误时的默认值
+     * @return 结果
+     */
+    public static Double toDouble(Object value, Double defaultValue)
+    {
+        if (value == null)
+        {
+            return defaultValue;
+        }
+        if (value instanceof Double)
+        {
+            return (Double) value;
+        }
+        if (value instanceof Number)
+        {
+            return ((Number) value).doubleValue();
+        }
+        final String valueStr = toStr(value, null);
+        if (StringUtils.isEmpty(valueStr))
+        {
+            return defaultValue;
+        }
+        try
+        {
+            // 支持科学计数法
+            return new BigDecimal(valueStr.trim()).doubleValue();
+        }
+        catch (Exception e)
+        {
+            return defaultValue;
+        }
+    }
+
+    /**
+     * 转换为double<br>
+     * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @return 结果
+     */
+    public static Double toDouble(Object value)
+    {
+        return toDouble(value, null);
+    }
+
+    /**
+     * 转换为Float<br>
+     * 如果给定的值为空,或者转换失败,返回默认值<br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @param defaultValue 转换错误时的默认值
+     * @return 结果
+     */
+    public static Float toFloat(Object value, Float defaultValue)
+    {
+        if (value == null)
+        {
+            return defaultValue;
+        }
+        if (value instanceof Float)
+        {
+            return (Float) value;
+        }
+        if (value instanceof Number)
+        {
+            return ((Number) value).floatValue();
+        }
+        final String valueStr = toStr(value, null);
+        if (StringUtils.isEmpty(valueStr))
+        {
+            return defaultValue;
+        }
+        try
+        {
+            return Float.parseFloat(valueStr.trim());
+        }
+        catch (Exception e)
+        {
+            return defaultValue;
+        }
+    }
+
+    /**
+     * 转换为Float<br>
+     * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @return 结果
+     */
+    public static Float toFloat(Object value)
+    {
+        return toFloat(value, null);
+    }
+
+    /**
+     * 转换为boolean<br>
+     * String支持的值为:true、false、yes、ok、no,1,0 如果给定的值为空,或者转换失败,返回默认值<br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @param defaultValue 转换错误时的默认值
+     * @return 结果
+     */
+    public static Boolean toBool(Object value, Boolean defaultValue)
+    {
+        if (value == null)
+        {
+            return defaultValue;
+        }
+        if (value instanceof Boolean)
+        {
+            return (Boolean) value;
+        }
+        String valueStr = toStr(value, null);
+        if (StringUtils.isEmpty(valueStr))
+        {
+            return defaultValue;
+        }
+        valueStr = valueStr.trim().toLowerCase();
+        switch (valueStr)
+        {
+            case "true":
+                return true;
+            case "false":
+                return false;
+            case "yes":
+                return true;
+            case "ok":
+                return true;
+            case "no":
+                return false;
+            case "1":
+                return true;
+            case "0":
+                return false;
+            default:
+                return defaultValue;
+        }
+    }
+
+    /**
+     * 转换为boolean<br>
+     * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @return 结果
+     */
+    public static Boolean toBool(Object value)
+    {
+        return toBool(value, null);
+    }
+
+    /**
+     * 转换为Enum对象<br>
+     * 如果给定的值为空,或者转换失败,返回默认值<br>
+     *
+     * @param clazz Enum的Class
+     * @param value 值
+     * @param defaultValue 默认值
+     * @return Enum
+     */
+    public static <E extends Enum<E>> E toEnum(Class<E> clazz, Object value, E defaultValue)
+    {
+        if (value == null)
+        {
+            return defaultValue;
+        }
+        if (clazz.isAssignableFrom(value.getClass()))
+        {
+            @SuppressWarnings("unchecked")
+            E myE = (E) value;
+            return myE;
+        }
+        final String valueStr = toStr(value, null);
+        if (StringUtils.isEmpty(valueStr))
+        {
+            return defaultValue;
+        }
+        try
+        {
+            return Enum.valueOf(clazz, valueStr);
+        }
+        catch (Exception e)
+        {
+            return defaultValue;
+        }
+    }
+
+    /**
+     * 转换为Enum对象<br>
+     * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br>
+     *
+     * @param clazz Enum的Class
+     * @param value 值
+     * @return Enum
+     */
+    public static <E extends Enum<E>> E toEnum(Class<E> clazz, Object value)
+    {
+        return toEnum(clazz, value, null);
+    }
+
+    /**
+     * 转换为BigInteger<br>
+     * 如果给定的值为空,或者转换失败,返回默认值<br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @param defaultValue 转换错误时的默认值
+     * @return 结果
+     */
+    public static BigInteger toBigInteger(Object value, BigInteger defaultValue)
+    {
+        if (value == null)
+        {
+            return defaultValue;
+        }
+        if (value instanceof BigInteger)
+        {
+            return (BigInteger) value;
+        }
+        if (value instanceof Long)
+        {
+            return BigInteger.valueOf((Long) value);
+        }
+        final String valueStr = toStr(value, null);
+        if (StringUtils.isEmpty(valueStr))
+        {
+            return defaultValue;
+        }
+        try
+        {
+            return new BigInteger(valueStr);
+        }
+        catch (Exception e)
+        {
+            return defaultValue;
+        }
+    }
+
+    /**
+     * 转换为BigInteger<br>
+     * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @return 结果
+     */
+    public static BigInteger toBigInteger(Object value)
+    {
+        return toBigInteger(value, null);
+    }
+
+    /**
+     * 转换为BigDecimal<br>
+     * 如果给定的值为空,或者转换失败,返回默认值<br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @param defaultValue 转换错误时的默认值
+     * @return 结果
+     */
+    public static BigDecimal toBigDecimal(Object value, BigDecimal defaultValue)
+    {
+        if (value == null)
+        {
+            return defaultValue;
+        }
+        if (value instanceof BigDecimal)
+        {
+            return (BigDecimal) value;
+        }
+        if (value instanceof Long)
+        {
+            return new BigDecimal((Long) value);
+        }
+        if (value instanceof Double)
+        {
+            return new BigDecimal((Double) value);
+        }
+        if (value instanceof Integer)
+        {
+            return new BigDecimal((Integer) value);
+        }
+        final String valueStr = toStr(value, null);
+        if (StringUtils.isEmpty(valueStr))
+        {
+            return defaultValue;
+        }
+        try
+        {
+            return new BigDecimal(valueStr);
+        }
+        catch (Exception e)
+        {
+            return defaultValue;
+        }
+    }
+
+    /**
+     * 转换为BigDecimal<br>
+     * 如果给定的值为空,或者转换失败,返回默认值<br>
+     * 转换失败不会报错
+     *
+     * @param value 被转换的值
+     * @return 结果
+     */
+    public static BigDecimal toBigDecimal(Object value)
+    {
+        return toBigDecimal(value, null);
+    }
+
+    /**
+     * 将对象转为字符串<br>
+     * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法
+     *
+     * @param obj 对象
+     * @return 字符串
+     */
+    public static String utf8Str(Object obj)
+    {
+        return str(obj, CharsetKit.CHARSET_UTF_8);
+    }
+
+    /**
+     * 将对象转为字符串<br>
+     * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法
+     *
+     * @param obj 对象
+     * @param charsetName 字符集
+     * @return 字符串
+     */
+    public static String str(Object obj, String charsetName)
+    {
+        return str(obj, Charset.forName(charsetName));
+    }
+
+    /**
+     * 将对象转为字符串<br>
+     * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法
+     *
+     * @param obj 对象
+     * @param charset 字符集
+     * @return 字符串
+     */
+    public static String str(Object obj, Charset charset)
+    {
+        if (null == obj)
+        {
+            return null;
+        }
+
+        if (obj instanceof String)
+        {
+            return (String) obj;
+        }
+        else if (obj instanceof byte[])
+        {
+            return str((byte[]) obj, charset);
+        }
+        else if (obj instanceof Byte[])
+        {
+            byte[] bytes = ArrayUtils.toPrimitive((Byte[]) obj);
+            return str(bytes, charset);
+        }
+        else if (obj instanceof ByteBuffer)
+        {
+            return str((ByteBuffer) obj, charset);
+        }
+        return obj.toString();
+    }
+
+    /**
+     * 将byte数组转为字符串
+     *
+     * @param bytes byte数组
+     * @param charset 字符集
+     * @return 字符串
+     */
+    public static String str(byte[] bytes, String charset)
+    {
+        return str(bytes, StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset));
+    }
+
+    /**
+     * 解码字节码
+     *
+     * @param data 字符串
+     * @param charset 字符集,如果此字段为空,则解码的结果取决于平台
+     * @return 解码后的字符串
+     */
+    public static String str(byte[] data, Charset charset)
+    {
+        if (data == null)
+        {
+            return null;
+        }
+
+        if (null == charset)
+        {
+            return new String(data);
+        }
+        return new String(data, charset);
+    }
+
+    /**
+     * 将编码的byteBuffer数据转换为字符串
+     *
+     * @param data 数据
+     * @param charset 字符集,如果为空使用当前系统字符集
+     * @return 字符串
+     */
+    public static String str(ByteBuffer data, String charset)
+    {
+        if (data == null)
+        {
+            return null;
+        }
+
+        return str(data, Charset.forName(charset));
+    }
+
+    /**
+     * 将编码的byteBuffer数据转换为字符串
+     *
+     * @param data 数据
+     * @param charset 字符集,如果为空使用当前系统字符集
+     * @return 字符串
+     */
+    public static String str(ByteBuffer data, Charset charset)
+    {
+        if (null == charset)
+        {
+            charset = Charset.defaultCharset();
+        }
+        return charset.decode(data).toString();
+    }
+
+    // ----------------------------------------------------------------------- 全角半角转换
+    /**
+     * 半角转全角
+     *
+     * @param input String.
+     * @return 全角字符串.
+     */
+    public static String toSBC(String input)
+    {
+        return toSBC(input, null);
+    }
+
+    /**
+     * 半角转全角
+     *
+     * @param input String
+     * @param notConvertSet 不替换的字符集合
+     * @return 全角字符串.
+     */
+    public static String toSBC(String input, Set<Character> notConvertSet)
+    {
+        char c[] = input.toCharArray();
+        for (int i = 0; i < c.length; i++)
+        {
+            if (null != notConvertSet && notConvertSet.contains(c[i]))
+            {
+                // 跳过不替换的字符
+                continue;
+            }
+
+            if (c[i] == ' ')
+            {
+                c[i] = '\u3000';
+            }
+            else if (c[i] < '\177')
+            {
+                c[i] = (char) (c[i] + 65248);
+
+            }
+        }
+        return new String(c);
+    }
+
+    /**
+     * 全角转半角
+     *
+     * @param input String.
+     * @return 半角字符串
+     */
+    public static String toDBC(String input)
+    {
+        return toDBC(input, null);
+    }
+
+    /**
+     * 替换全角为半角
+     *
+     * @param text 文本
+     * @param notConvertSet 不替换的字符集合
+     * @return 替换后的字符
+     */
+    public static String toDBC(String text, Set<Character> notConvertSet)
+    {
+        char c[] = text.toCharArray();
+        for (int i = 0; i < c.length; i++)
+        {
+            if (null != notConvertSet && notConvertSet.contains(c[i]))
+            {
+                // 跳过不替换的字符
+                continue;
+            }
+
+            if (c[i] == '\u3000')
+            {
+                c[i] = ' ';
+            }
+            else if (c[i] > '\uFF00' && c[i] < '\uFF5F')
+            {
+                c[i] = (char) (c[i] - 65248);
+            }
+        }
+        String returnString = new String(c);
+
+        return returnString;
+    }
+
+    /**
+     * 数字金额大写转换 先写个完整的然后将如零拾替换成零
+     *
+     * @param n 数字
+     * @return 中文大写数字
+     */
+    public static String digitUppercase(double n)
+    {
+        String[] fraction = { "角", "分" };
+        String[] digit = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
+        String[][] unit = { { "元", "万", "亿" }, { "", "拾", "佰", "仟" } };
+
+        String head = n < 0 ? "负" : "";
+        n = Math.abs(n);
+
+        String s = "";
+        for (int i = 0; i < fraction.length; i++)
+        {
+            s += (digit[(int) (Math.floor(n * 10 * Math.pow(10, i)) % 10)] + fraction[i]).replaceAll("(零.)+", "");
+        }
+        if (s.length() < 1)
+        {
+            s = "整";
+        }
+        int integerPart = (int) Math.floor(n);
+
+        for (int i = 0; i < unit[0].length && integerPart > 0; i++)
+        {
+            String p = "";
+            for (int j = 0; j < unit[1].length && n > 0; j++)
+            {
+                p = digit[integerPart % 10] + unit[1][j] + p;
+                integerPart = integerPart / 10;
+            }
+            s = p.replaceAll("(零.)*零$", "").replaceAll("^$", "零") + unit[0][i] + s;
+        }
+        return head + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整");
+    }
+}

+ 93 - 0
src/main/java/com/benyun/common/utils/text/StrFormatter.java

@@ -0,0 +1,93 @@
+package com.benyun.common.utils.text;
+
+import com.benyun.common.utils.StringUtils;
+
+/**
+ * 字符串格式化
+ *
+ * @author liugang
+ */
+public class StrFormatter
+{
+    public static final String EMPTY_JSON = "{}";
+    public static final char C_BACKSLASH = '\\';
+    public static final char C_DELIM_START = '{';
+    public static final char C_DELIM_END = '}';
+
+    /**
+     * 格式化字符串<br>
+     * 此方法只是简单将占位符 {} 按照顺序替换为参数<br>
+     * 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可<br>
+     * 例:<br>
+     * 通常使用:format("this is {} for {}", "a", "b") -> this is a for b<br>
+     * 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a<br>
+     * 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b<br>
+     *
+     * @param strPattern 字符串模板
+     * @param argArray 参数列表
+     * @return 结果
+     */
+    public static String format(final String strPattern, final Object... argArray)
+    {
+        if (StringUtils.isEmpty(strPattern) || StringUtils.isEmpty(argArray))
+        {
+            return strPattern;
+        }
+        final int strPatternLength = strPattern.length();
+
+        // 初始化定义好的长度以获得更好的性能
+        StringBuilder sbuf = new StringBuilder(strPatternLength + 50);
+
+        int handledPosition = 0;
+        int delimIndex;// 占位符所在位置
+        for (int argIndex = 0; argIndex < argArray.length; argIndex++)
+        {
+            delimIndex = strPattern.indexOf(EMPTY_JSON, handledPosition);
+            if (delimIndex == -1)
+            {
+                if (handledPosition == 0)
+                {
+                    return strPattern;
+                }
+                else
+                { // 字符串模板剩余部分不再包含占位符,加入剩余部分后返回结果
+                    sbuf.append(strPattern, handledPosition, strPatternLength);
+                    return sbuf.toString();
+                }
+            }
+            else
+            {
+                if (delimIndex > 0 && strPattern.charAt(delimIndex - 1) == C_BACKSLASH)
+                {
+                    if (delimIndex > 1 && strPattern.charAt(delimIndex - 2) == C_BACKSLASH)
+                    {
+                        // 转义符之前还有一个转义符,占位符依旧有效
+                        sbuf.append(strPattern, handledPosition, delimIndex - 1);
+                        sbuf.append(Convert.utf8Str(argArray[argIndex]));
+                        handledPosition = delimIndex + 2;
+                    }
+                    else
+                    {
+                        // 占位符被转义
+                        argIndex--;
+                        sbuf.append(strPattern, handledPosition, delimIndex - 1);
+                        sbuf.append(C_DELIM_START);
+                        handledPosition = delimIndex + 1;
+                    }
+                }
+                else
+                {
+                    // 正常占位符
+                    sbuf.append(strPattern, handledPosition, delimIndex);
+                    sbuf.append(Convert.utf8Str(argArray[argIndex]));
+                    handledPosition = delimIndex + 2;
+                }
+            }
+        }
+        // append the characters following the last {} pair.
+        // 加入最后一个占位符后所有的字符
+        sbuf.append(strPattern, handledPosition, strPattern.length());
+
+        return sbuf.toString();
+    }
+}

+ 49 - 0
src/main/java/com/benyun/common/utils/uuid/IdUtils.java

@@ -0,0 +1,49 @@
+package com.benyun.common.utils.uuid;
+
+/**
+ * ID生成器工具类
+ *
+ * @author liugang
+ */
+public class IdUtils
+{
+    /**
+     * 获取随机UUID
+     *
+     * @return 随机UUID
+     */
+    public static String randomUUID()
+    {
+        return UUID.randomUUID().toString();
+    }
+
+    /**
+     * 简化的UUID,去掉了横线
+     *
+     * @return 简化的UUID,去掉了横线
+     */
+    public static String simpleUUID()
+    {
+        return UUID.randomUUID().toString(true);
+    }
+
+    /**
+     * 获取随机UUID,使用性能更好的ThreadLocalRandom生成UUID
+     *
+     * @return 随机UUID
+     */
+    public static String fastUUID()
+    {
+        return UUID.fastUUID().toString();
+    }
+
+    /**
+     * 简化的UUID,去掉了横线,使用性能更好的ThreadLocalRandom生成UUID
+     *
+     * @return 简化的UUID,去掉了横线
+     */
+    public static String fastSimpleUUID()
+    {
+        return UUID.fastUUID().toString(true);
+    }
+}

+ 86 - 0
src/main/java/com/benyun/common/utils/uuid/Seq.java

@@ -0,0 +1,86 @@
+package com.benyun.common.utils.uuid;
+
+import java.util.concurrent.atomic.AtomicInteger;
+import com.benyun.common.utils.DateUtils;
+import com.benyun.common.utils.StringUtils;
+
+/**
+ * @author liugang 序列生成类
+ */
+public class Seq
+{
+    // 通用序列类型
+    public static final String commSeqType = "COMMON";
+
+    // 上传序列类型
+    public static final String uploadSeqType = "UPLOAD";
+
+    // 通用接口序列数
+    private static AtomicInteger commSeq = new AtomicInteger(1);
+
+    // 上传接口序列数
+    private static AtomicInteger uploadSeq = new AtomicInteger(1);
+
+    // 机器标识
+    private static String machineCode = "A";
+
+    /**
+     * 获取通用序列号
+     *
+     * @return 序列值
+     */
+    public static String getId()
+    {
+        return getId(commSeqType);
+    }
+
+    /**
+     * 默认16位序列号 yyMMddHHmmss + 一位机器标识 + 3长度循环递增字符串
+     *
+     * @return 序列值
+     */
+    public static String getId(String type)
+    {
+        AtomicInteger atomicInt = commSeq;
+        if (uploadSeqType.equals(type))
+        {
+            atomicInt = uploadSeq;
+        }
+        return getId(atomicInt, 3);
+    }
+
+    /**
+     * 通用接口序列号 yyMMddHHmmss + 一位机器标识 + length长度循环递增字符串
+     *
+     * @param atomicInt 序列数
+     * @param length 数值长度
+     * @return 序列值
+     */
+    public static String getId(AtomicInteger atomicInt, int length)
+    {
+        String result = DateUtils.dateTimeNow();
+        result += machineCode;
+        result += getSeq(atomicInt, length);
+        return result;
+    }
+
+    /**
+     * 序列循环递增字符串[1, 10 的 (length)幂次方), 用0左补齐length位数
+     *
+     * @return 序列值
+     */
+    private synchronized static String getSeq(AtomicInteger atomicInt, int length)
+    {
+        // 先取值再+1
+        int value = atomicInt.getAndIncrement();
+
+        // 如果更新后值>=10 的 (length)幂次方则重置为1
+        int maxSeq = (int) Math.pow(10, length);
+        if (atomicInt.get() >= maxSeq)
+        {
+            atomicInt.set(1);
+        }
+        // 转字符串,用0左补齐
+        return StringUtils.padl(value, length);
+    }
+}

+ 484 - 0
src/main/java/com/benyun/common/utils/uuid/UUID.java

@@ -0,0 +1,484 @@
+package com.benyun.common.utils.uuid;
+
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.security.SecureRandom;
+import java.util.Random;
+import java.util.concurrent.ThreadLocalRandom;
+import com.benyun.common.exception.UtilException;
+
+/**
+ * 提供通用唯一识别码(universally unique identifier)(UUID)实现
+ *
+ * @author liugang
+ */
+public final class UUID implements java.io.Serializable, Comparable<UUID>
+{
+    private static final long serialVersionUID = -1185015143654744140L;
+
+    /**
+     * SecureRandom 的单例
+     *
+     */
+    private static class Holder
+    {
+        static final SecureRandom numberGenerator = getSecureRandom();
+    }
+
+    /** 此UUID的最高64有效位 */
+    private final long mostSigBits;
+
+    /** 此UUID的最低64有效位 */
+    private final long leastSigBits;
+
+    /**
+     * 私有构造
+     *
+     * @param data 数据
+     */
+    private UUID(byte[] data)
+    {
+        long msb = 0;
+        long lsb = 0;
+        assert data.length == 16 : "data must be 16 bytes in length";
+        for (int i = 0; i < 8; i++)
+        {
+            msb = (msb << 8) | (data[i] & 0xff);
+        }
+        for (int i = 8; i < 16; i++)
+        {
+            lsb = (lsb << 8) | (data[i] & 0xff);
+        }
+        this.mostSigBits = msb;
+        this.leastSigBits = lsb;
+    }
+
+    /**
+     * 使用指定的数据构造新的 UUID。
+     *
+     * @param mostSigBits 用于 {@code UUID} 的最高有效 64 位
+     * @param leastSigBits 用于 {@code UUID} 的最低有效 64 位
+     */
+    public UUID(long mostSigBits, long leastSigBits)
+    {
+        this.mostSigBits = mostSigBits;
+        this.leastSigBits = leastSigBits;
+    }
+
+    /**
+     * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的本地线程伪随机数生成器生成该 UUID。
+     *
+     * @return 随机生成的 {@code UUID}
+     */
+    public static UUID fastUUID()
+    {
+        return randomUUID(false);
+    }
+
+    /**
+     * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。
+     *
+     * @return 随机生成的 {@code UUID}
+     */
+    public static UUID randomUUID()
+    {
+        return randomUUID(true);
+    }
+
+    /**
+     * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。
+     *
+     * @param isSecure 是否使用{@link SecureRandom}如果是可以获得更安全的随机码,否则可以得到更好的性能
+     * @return 随机生成的 {@code UUID}
+     */
+    public static UUID randomUUID(boolean isSecure)
+    {
+        final Random ng = isSecure ? Holder.numberGenerator : getRandom();
+
+        byte[] randomBytes = new byte[16];
+        ng.nextBytes(randomBytes);
+        randomBytes[6] &= 0x0f; /* clear version */
+        randomBytes[6] |= 0x40; /* set to version 4 */
+        randomBytes[8] &= 0x3f; /* clear variant */
+        randomBytes[8] |= 0x80; /* set to IETF variant */
+        return new UUID(randomBytes);
+    }
+
+    /**
+     * 根据指定的字节数组获取类型 3(基于名称的)UUID 的静态工厂。
+     *
+     * @param name 用于构造 UUID 的字节数组。
+     *
+     * @return 根据指定数组生成的 {@code UUID}
+     */
+    public static UUID nameUUIDFromBytes(byte[] name)
+    {
+        MessageDigest md;
+        try
+        {
+            md = MessageDigest.getInstance("MD5");
+        }
+        catch (NoSuchAlgorithmException nsae)
+        {
+            throw new InternalError("MD5 not supported");
+        }
+        byte[] md5Bytes = md.digest(name);
+        md5Bytes[6] &= 0x0f; /* clear version */
+        md5Bytes[6] |= 0x30; /* set to version 3 */
+        md5Bytes[8] &= 0x3f; /* clear variant */
+        md5Bytes[8] |= 0x80; /* set to IETF variant */
+        return new UUID(md5Bytes);
+    }
+
+    /**
+     * 根据 {@link #toString()} 方法中描述的字符串标准表示形式创建{@code UUID}。
+     *
+     * @param name 指定 {@code UUID} 字符串
+     * @return 具有指定值的 {@code UUID}
+     * @throws IllegalArgumentException 如果 name 与 {@link #toString} 中描述的字符串表示形式不符抛出此异常
+     *
+     */
+    public static UUID fromString(String name)
+    {
+        String[] components = name.split("-");
+        if (components.length != 5)
+        {
+            throw new IllegalArgumentException("Invalid UUID string: " + name);
+        }
+        for (int i = 0; i < 5; i++)
+        {
+            components[i] = "0x" + components[i];
+        }
+
+        long mostSigBits = Long.decode(components[0]).longValue();
+        mostSigBits <<= 16;
+        mostSigBits |= Long.decode(components[1]).longValue();
+        mostSigBits <<= 16;
+        mostSigBits |= Long.decode(components[2]).longValue();
+
+        long leastSigBits = Long.decode(components[3]).longValue();
+        leastSigBits <<= 48;
+        leastSigBits |= Long.decode(components[4]).longValue();
+
+        return new UUID(mostSigBits, leastSigBits);
+    }
+
+    /**
+     * 返回此 UUID 的 128 位值中的最低有效 64 位。
+     *
+     * @return 此 UUID 的 128 位值中的最低有效 64 位。
+     */
+    public long getLeastSignificantBits()
+    {
+        return leastSigBits;
+    }
+
+    /**
+     * 返回此 UUID 的 128 位值中的最高有效 64 位。
+     *
+     * @return 此 UUID 的 128 位值中最高有效 64 位。
+     */
+    public long getMostSignificantBits()
+    {
+        return mostSigBits;
+    }
+
+    /**
+     * 与此 {@code UUID} 相关联的版本号. 版本号描述此 {@code UUID} 是如何生成的。
+     * <p>
+     * 版本号具有以下含意:
+     * <ul>
+     * <li>1 基于时间的 UUID
+     * <li>2 DCE 安全 UUID
+     * <li>3 基于名称的 UUID
+     * <li>4 随机生成的 UUID
+     * </ul>
+     *
+     * @return 此 {@code UUID} 的版本号
+     */
+    public int version()
+    {
+        // Version is bits masked by 0x000000000000F000 in MS long
+        return (int) ((mostSigBits >> 12) & 0x0f);
+    }
+
+    /**
+     * 与此 {@code UUID} 相关联的变体号。变体号描述 {@code UUID} 的布局。
+     * <p>
+     * 变体号具有以下含意:
+     * <ul>
+     * <li>0 为 NCS 向后兼容保留
+     * <li>2 <a href="http://www.ietf.org/rfc/rfc4122.txt">IETF&nbsp;RFC&nbsp;4122</a>(Leach-Salz), 用于此类
+     * <li>6 保留,微软向后兼容
+     * <li>7 保留供以后定义使用
+     * </ul>
+     *
+     * @return 此 {@code UUID} 相关联的变体号
+     */
+    public int variant()
+    {
+        // This field is composed of a varying number of bits.
+        // 0 - - Reserved for NCS backward compatibility
+        // 1 0 - The IETF aka Leach-Salz variant (used by this class)
+        // 1 1 0 Reserved, Microsoft backward compatibility
+        // 1 1 1 Reserved for future definition.
+        return (int) ((leastSigBits >>> (64 - (leastSigBits >>> 62))) & (leastSigBits >> 63));
+    }
+
+    /**
+     * 与此 UUID 相关联的时间戳值。
+     *
+     * <p>
+     * 60 位的时间戳值根据此 {@code UUID} 的 time_low、time_mid 和 time_hi 字段构造。<br>
+     * 所得到的时间戳以 100 毫微秒为单位,从 UTC(通用协调时间) 1582 年 10 月 15 日零时开始。
+     *
+     * <p>
+     * 时间戳值仅在在基于时间的 UUID(其 version 类型为 1)中才有意义。<br>
+     * 如果此 {@code UUID} 不是基于时间的 UUID,则此方法抛出 UnsupportedOperationException。
+     *
+     * @throws UnsupportedOperationException 如果此 {@code UUID} 不是 version 为 1 的 UUID。
+     */
+    public long timestamp() throws UnsupportedOperationException
+    {
+        checkTimeBase();
+        return (mostSigBits & 0x0FFFL) << 48//
+                | ((mostSigBits >> 16) & 0x0FFFFL) << 32//
+                | mostSigBits >>> 32;
+    }
+
+    /**
+     * 与此 UUID 相关联的时钟序列值。
+     *
+     * <p>
+     * 14 位的时钟序列值根据此 UUID 的 clock_seq 字段构造。clock_seq 字段用于保证在基于时间的 UUID 中的时间唯一性。
+     * <p>
+     * {@code clockSequence} 值仅在基于时间的 UUID(其 version 类型为 1)中才有意义。 如果此 UUID 不是基于时间的 UUID,则此方法抛出
+     * UnsupportedOperationException。
+     *
+     * @return 此 {@code UUID} 的时钟序列
+     *
+     * @throws UnsupportedOperationException 如果此 UUID 的 version 不为 1
+     */
+    public int clockSequence() throws UnsupportedOperationException
+    {
+        checkTimeBase();
+        return (int) ((leastSigBits & 0x3FFF000000000000L) >>> 48);
+    }
+
+    /**
+     * 与此 UUID 相关的节点值。
+     *
+     * <p>
+     * 48 位的节点值根据此 UUID 的 node 字段构造。此字段旨在用于保存机器的 IEEE 802 地址,该地址用于生成此 UUID 以保证空间唯一性。
+     * <p>
+     * 节点值仅在基于时间的 UUID(其 version 类型为 1)中才有意义。<br>
+     * 如果此 UUID 不是基于时间的 UUID,则此方法抛出 UnsupportedOperationException。
+     *
+     * @return 此 {@code UUID} 的节点值
+     *
+     * @throws UnsupportedOperationException 如果此 UUID 的 version 不为 1
+     */
+    public long node() throws UnsupportedOperationException
+    {
+        checkTimeBase();
+        return leastSigBits & 0x0000FFFFFFFFFFFFL;
+    }
+
+    /**
+     * 返回此{@code UUID} 的字符串表现形式。
+     *
+     * <p>
+     * UUID 的字符串表示形式由此 BNF 描述:
+     *
+     * <pre>
+     * {@code
+     * UUID                   = <time_low>-<time_mid>-<time_high_and_version>-<variant_and_sequence>-<node>
+     * time_low               = 4*<hexOctet>
+     * time_mid               = 2*<hexOctet>
+     * time_high_and_version  = 2*<hexOctet>
+     * variant_and_sequence   = 2*<hexOctet>
+     * node                   = 6*<hexOctet>
+     * hexOctet               = <hexDigit><hexDigit>
+     * hexDigit               = [0-9a-fA-F]
+     * }
+     * </pre>
+     *
+     * </blockquote>
+     *
+     * @return 此{@code UUID} 的字符串表现形式
+     * @see #toString(boolean)
+     */
+    @Override
+    public String toString()
+    {
+        return toString(false);
+    }
+
+    /**
+     * 返回此{@code UUID} 的字符串表现形式。
+     *
+     * <p>
+     * UUID 的字符串表示形式由此 BNF 描述:
+     *
+     * <pre>
+     * {@code
+     * UUID                   = <time_low>-<time_mid>-<time_high_and_version>-<variant_and_sequence>-<node>
+     * time_low               = 4*<hexOctet>
+     * time_mid               = 2*<hexOctet>
+     * time_high_and_version  = 2*<hexOctet>
+     * variant_and_sequence   = 2*<hexOctet>
+     * node                   = 6*<hexOctet>
+     * hexOctet               = <hexDigit><hexDigit>
+     * hexDigit               = [0-9a-fA-F]
+     * }
+     * </pre>
+     *
+     * </blockquote>
+     *
+     * @param isSimple 是否简单模式,简单模式为不带'-'的UUID字符串
+     * @return 此{@code UUID} 的字符串表现形式
+     */
+    public String toString(boolean isSimple)
+    {
+        final StringBuilder builder = new StringBuilder(isSimple ? 32 : 36);
+        // time_low
+        builder.append(digits(mostSigBits >> 32, 8));
+        if (false == isSimple)
+        {
+            builder.append('-');
+        }
+        // time_mid
+        builder.append(digits(mostSigBits >> 16, 4));
+        if (false == isSimple)
+        {
+            builder.append('-');
+        }
+        // time_high_and_version
+        builder.append(digits(mostSigBits, 4));
+        if (false == isSimple)
+        {
+            builder.append('-');
+        }
+        // variant_and_sequence
+        builder.append(digits(leastSigBits >> 48, 4));
+        if (false == isSimple)
+        {
+            builder.append('-');
+        }
+        // node
+        builder.append(digits(leastSigBits, 12));
+
+        return builder.toString();
+    }
+
+    /**
+     * 返回此 UUID 的哈希码。
+     *
+     * @return UUID 的哈希码值。
+     */
+    @Override
+    public int hashCode()
+    {
+        long hilo = mostSigBits ^ leastSigBits;
+        return ((int) (hilo >> 32)) ^ (int) hilo;
+    }
+
+    /**
+     * 将此对象与指定对象比较。
+     * <p>
+     * 当且仅当参数不为 {@code null}、而是一个 UUID 对象、具有与此 UUID 相同的 varriant、包含相同的值(每一位均相同)时,结果才为 {@code true}。
+     *
+     * @param obj 要与之比较的对象
+     *
+     * @return 如果对象相同,则返回 {@code true};否则返回 {@code false}
+     */
+    @Override
+    public boolean equals(Object obj)
+    {
+        if ((null == obj) || (obj.getClass() != UUID.class))
+        {
+            return false;
+        }
+        UUID id = (UUID) obj;
+        return (mostSigBits == id.mostSigBits && leastSigBits == id.leastSigBits);
+    }
+
+    // Comparison Operations
+
+    /**
+     * 将此 UUID 与指定的 UUID 比较。
+     *
+     * <p>
+     * 如果两个 UUID 不同,且第一个 UUID 的最高有效字段大于第二个 UUID 的对应字段,则第一个 UUID 大于第二个 UUID。
+     *
+     * @param val 与此 UUID 比较的 UUID
+     *
+     * @return 在此 UUID 小于、等于或大于 val 时,分别返回 -1、0 或 1。
+     *
+     */
+    @Override
+    public int compareTo(UUID val)
+    {
+        // The ordering is intentionally set up so that the UUIDs
+        // can simply be numerically compared as two numbers
+        return (this.mostSigBits < val.mostSigBits ? -1 : //
+                (this.mostSigBits > val.mostSigBits ? 1 : //
+                        (this.leastSigBits < val.leastSigBits ? -1 : //
+                                (this.leastSigBits > val.leastSigBits ? 1 : //
+                                        0))));
+    }
+
+    // -------------------------------------------------------------------------------------------------------------------
+    // Private method start
+    /**
+     * 返回指定数字对应的hex值
+     *
+     * @param val 值
+     * @param digits 位
+     * @return 值
+     */
+    private static String digits(long val, int digits)
+    {
+        long hi = 1L << (digits * 4);
+        return Long.toHexString(hi | (val & (hi - 1))).substring(1);
+    }
+
+    /**
+     * 检查是否为time-based版本UUID
+     */
+    private void checkTimeBase()
+    {
+        if (version() != 1)
+        {
+            throw new UnsupportedOperationException("Not a time-based UUID");
+        }
+    }
+
+    /**
+     * 获取{@link SecureRandom},类提供加密的强随机数生成器 (RNG)
+     *
+     * @return {@link SecureRandom}
+     */
+    public static SecureRandom getSecureRandom()
+    {
+        try
+        {
+            return SecureRandom.getInstance("SHA1PRNG");
+        }
+        catch (NoSuchAlgorithmException e)
+        {
+            throw new UtilException(e);
+        }
+    }
+
+    /**
+     * 获取随机数生成器对象<br>
+     * ThreadLocalRandom是JDK 7之后提供并发产生随机数,能够解决多个线程发生的竞争争夺。
+     *
+     * @return {@link ThreadLocalRandom}
+     */
+    public static ThreadLocalRandom getRandom()
+    {
+        return ThreadLocalRandom.current();
+    }
+}

+ 27 - 0
src/main/java/com/benyun/common/xss/Xss.java

@@ -0,0 +1,27 @@
+package com.benyun.common.xss;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 自定义xss校验注解
+ *
+ * @author liugang
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.PARAMETER })
+@Constraint(validatedBy = { XssValidator.class })
+public @interface Xss
+{
+    String message()
+
+    default "不允许任何脚本运行";
+
+    Class<?>[] groups() default {};
+
+    Class<? extends Payload>[] payload() default {};
+}

+ 74 - 0
src/main/java/com/benyun/common/xss/XssFilter.java

@@ -0,0 +1,74 @@
+package com.benyun.common.xss;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import com.benyun.common.utils.StringUtils;
+
+/**
+ * 防止XSS攻击的过滤器
+ *
+ * @author liugang
+ */
+public class XssFilter implements Filter
+{
+    /**
+     * 排除链接
+     */
+    public List<String> excludes = new ArrayList<>();
+
+    @Override
+    public void init(FilterConfig filterConfig) throws ServletException
+    {
+        String tempExcludes = filterConfig.getInitParameter("excludes");
+        if (StringUtils.isNotEmpty(tempExcludes))
+        {
+            String[] url = tempExcludes.split(",");
+            for (int i = 0; url != null && i < url.length; i++)
+            {
+                excludes.add(url[i]);
+            }
+        }
+    }
+
+    @Override
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
+            throws IOException, ServletException
+    {
+        HttpServletRequest req = (HttpServletRequest) request;
+        HttpServletResponse resp = (HttpServletResponse) response;
+        if (handleExcludeURL(req, resp))
+        {
+            chain.doFilter(request, response);
+            return;
+        }
+        XssHttpServletRequestWrapper xssRequest = new XssHttpServletRequestWrapper((HttpServletRequest) request);
+        chain.doFilter(xssRequest, response);
+    }
+
+    private boolean handleExcludeURL(HttpServletRequest request, HttpServletResponse response)
+    {
+        String url = request.getServletPath();
+        String method = request.getMethod();
+        // GET DELETE 不过滤
+        if (method == null || method.matches("GET") || method.matches("DELETE"))
+        {
+            return true;
+        }
+        return StringUtils.matches(url, excludes);
+    }
+
+    @Override
+    public void destroy()
+    {
+
+    }
+}

+ 39 - 0
src/main/java/com/benyun/common/xss/XssHttpServletRequestWrapper.java

@@ -0,0 +1,39 @@
+package com.benyun.common.xss;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import com.benyun.common.utils.html.EscapeUtil;
+
+/**
+ * XSS过滤处理
+ *
+ * @author liugang
+ */
+public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper
+{
+    /**
+     * @param request
+     */
+    public XssHttpServletRequestWrapper(HttpServletRequest request)
+    {
+        super(request);
+    }
+
+    @Override
+    public String[] getParameterValues(String name)
+    {
+        String[] values = super.getParameterValues(name);
+        if (values != null)
+        {
+            int length = values.length;
+            String[] escapseValues = new String[length];
+            for (int i = 0; i < length; i++)
+            {
+                // 防xss攻击和过滤前后空格
+                escapseValues[i] = EscapeUtil.clean(values[i]).trim();
+            }
+            return escapseValues;
+        }
+        return super.getParameterValues(name);
+    }
+}

+ 34 - 0
src/main/java/com/benyun/common/xss/XssValidator.java

@@ -0,0 +1,34 @@
+package com.benyun.common.xss;
+
+import com.benyun.common.utils.StringUtils;
+import javax.validation.ConstraintValidator;
+import javax.validation.ConstraintValidatorContext;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * 自定义xss校验注解实现
+ *
+ * @author liugang
+ */
+public class XssValidator implements ConstraintValidator<Xss, String>
+{
+    private static final String HTML_PATTERN = "<(\\S*?)[^>]*>.*?|<.*? />";
+
+    @Override
+    public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext)
+    {
+        if (StringUtils.isBlank(value))
+        {
+            return true;
+        }
+        return !containsHtml(value);
+    }
+
+    public static boolean containsHtml(String value)
+    {
+        Pattern pattern = Pattern.compile(HTML_PATTERN);
+        Matcher matcher = pattern.matcher(value);
+        return matcher.matches();
+    }
+}

+ 148 - 0
src/main/java/com/benyun/framework/aspectj/DataScopeAspect.java

@@ -0,0 +1,148 @@
+package com.benyun.framework.aspectj;
+
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.springframework.stereotype.Component;
+import com.benyun.common.utils.StringUtils;
+import com.benyun.common.utils.security.ShiroUtils;
+import com.benyun.framework.aspectj.lang.annotation.DataScope;
+import com.benyun.framework.web.domain.BaseEntity;
+import com.benyun.project.system.role.domain.Role;
+import com.benyun.project.system.user.domain.User;
+
+/**
+ * 数据过滤处理
+ *
+ * @author liugang
+ */
+@Aspect
+@Component
+public class DataScopeAspect
+{
+    /**
+     * 全部数据权限
+     */
+    public static final String DATA_SCOPE_ALL = "1";
+
+    /**
+     * 自定数据权限
+     */
+    public static final String DATA_SCOPE_CUSTOM = "2";
+
+    /**
+     * 部门数据权限
+     */
+    public static final String DATA_SCOPE_DEPT = "3";
+
+    /**
+     * 部门及以下数据权限
+     */
+    public static final String DATA_SCOPE_DEPT_AND_CHILD = "4";
+
+    /**
+     * 仅本人数据权限
+     */
+    public static final String DATA_SCOPE_SELF = "5";
+
+    /**
+     * 数据权限过滤关键字
+     */
+    public static final String DATA_SCOPE = "dataScope";
+
+    @Before("@annotation(controllerDataScope)")
+    public void doBefore(JoinPoint point, DataScope controllerDataScope) throws Throwable
+    {
+        clearDataScope(point);
+        handleDataScope(point, controllerDataScope);
+    }
+
+    protected void handleDataScope(final JoinPoint joinPoint, DataScope controllerDataScope)
+    {
+        // 获取当前的用户
+        User currentUser = ShiroUtils.getSysUser();
+        if (currentUser != null)
+        {
+            // 如果是超级管理员,则不过滤数据
+            if (!currentUser.isAdmin())
+            {
+                dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(),
+                        controllerDataScope.userAlias());
+            }
+        }
+    }
+
+    /**
+     * 数据范围过滤
+     *
+     * @param joinPoint 切点
+     * @param user 用户
+     * @param deptAlias 部门别名
+     * @param userAlias 用户别名
+     */
+    public static void dataScopeFilter(JoinPoint joinPoint, User user, String deptAlias, String userAlias)
+    {
+        StringBuilder sqlString = new StringBuilder();
+
+        for (Role role : user.getRoles())
+        {
+            String dataScope = role.getDataScope();
+            if (DATA_SCOPE_ALL.equals(dataScope))
+            {
+                sqlString = new StringBuilder();
+                break;
+            }
+            else if (DATA_SCOPE_CUSTOM.equals(dataScope))
+            {
+                sqlString.append(StringUtils.format(
+                        " OR {}.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias,
+                        role.getRoleId()));
+            }
+            else if (DATA_SCOPE_DEPT.equals(dataScope))
+            {
+                sqlString.append(StringUtils.format(" OR {}.dept_id = {} ", deptAlias, user.getDeptId()));
+            }
+            else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope))
+            {
+                sqlString.append(StringUtils.format(
+                        " OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or find_in_set( {} , ancestors ) )",
+                        deptAlias, user.getDeptId(), user.getDeptId()));
+            }
+            else if (DATA_SCOPE_SELF.equals(dataScope))
+            {
+                if (StringUtils.isNotBlank(userAlias))
+                {
+                    sqlString.append(StringUtils.format(" OR {}.user_id = {} ", userAlias, user.getUserId()));
+                }
+                else
+                {
+                    // 数据权限为仅本人且没有userAlias别名不查询任何数据
+                    sqlString.append(" OR 1=0 ");
+                }
+            }
+        }
+
+        if (StringUtils.isNotBlank(sqlString.toString()))
+        {
+            Object params = joinPoint.getArgs()[0];
+            if (StringUtils.isNotNull(params) && params instanceof BaseEntity)
+            {
+                BaseEntity baseEntity = (BaseEntity) params;
+                baseEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")");
+            }
+        }
+    }
+
+    /**
+     * 拼接权限sql前先清空params.dataScope参数防止注入
+     */
+    private void clearDataScope(final JoinPoint joinPoint)
+    {
+        Object params = joinPoint.getArgs()[0];
+        if (StringUtils.isNotNull(params) && params instanceof BaseEntity)
+        {
+            BaseEntity baseEntity = (BaseEntity) params;
+            baseEntity.getParams().put(DATA_SCOPE, "");
+        }
+    }
+}

+ 72 - 0
src/main/java/com/benyun/framework/aspectj/DataSourceAspect.java

@@ -0,0 +1,72 @@
+package com.benyun.framework.aspectj;
+
+import java.util.Objects;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.core.annotation.AnnotationUtils;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+import com.benyun.common.utils.StringUtils;
+import com.benyun.framework.aspectj.lang.annotation.DataSource;
+import com.benyun.framework.datasource.DynamicDataSourceContextHolder;
+
+/**
+ * 多数据源处理
+ *
+ * @author liugang
+ */
+@Aspect
+@Order(1)
+@Component
+public class DataSourceAspect
+{
+    protected Logger logger = LoggerFactory.getLogger(getClass());
+
+    @Pointcut("@annotation(com.benyun.framework.aspectj.lang.annotation.DataSource)"
+            + "|| @within(com.benyun.framework.aspectj.lang.annotation.DataSource)")
+    public void dsPointCut()
+    {
+
+    }
+
+    @Around("dsPointCut()")
+    public Object around(ProceedingJoinPoint point) throws Throwable
+    {
+        DataSource dataSource = getDataSource(point);
+
+        if (StringUtils.isNotNull(dataSource))
+        {
+            DynamicDataSourceContextHolder.setDataSourceType(dataSource.value().name());
+        }
+
+        try
+        {
+            return point.proceed();
+        }
+        finally
+        {
+            // 销毁数据源 在执行方法之后
+            DynamicDataSourceContextHolder.clearDataSourceType();
+        }
+    }
+
+    /**
+     * 获取需要切换的数据源
+     */
+    public DataSource getDataSource(ProceedingJoinPoint point)
+    {
+        MethodSignature signature = (MethodSignature) point.getSignature();
+        DataSource dataSource = AnnotationUtils.findAnnotation(signature.getMethod(), DataSource.class);
+        if (Objects.nonNull(dataSource))
+        {
+            return dataSource;
+        }
+
+        return AnnotationUtils.findAnnotation(signature.getDeclaringType(), DataSource.class);
+    }
+}

+ 235 - 0
src/main/java/com/benyun/framework/aspectj/LogAspect.java

@@ -0,0 +1,235 @@
+package com.benyun.framework.aspectj;
+
+import java.util.Collection;
+import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.AfterThrowing;
+import org.aspectj.lang.annotation.Aspect;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.multipart.MultipartFile;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.support.spring.PropertyPreFilters;
+import com.benyun.common.utils.ServletUtils;
+import com.benyun.common.utils.StringUtils;
+import com.benyun.common.utils.security.ShiroUtils;
+import com.benyun.framework.aspectj.lang.annotation.Log;
+import com.benyun.framework.aspectj.lang.enums.BusinessStatus;
+import com.benyun.framework.manager.AsyncManager;
+import com.benyun.framework.manager.factory.AsyncFactory;
+import com.benyun.project.monitor.operlog.domain.OperLog;
+import com.benyun.project.system.user.domain.User;
+
+/**
+ * 操作日志记录处理
+ *
+ * @author liugang
+ */
+@Aspect
+@Component
+public class LogAspect
+{
+    private static final Logger log = LoggerFactory.getLogger(LogAspect.class);
+
+    /** 排除敏感属性字段 */
+    public static final String[] EXCLUDE_PROPERTIES = { "password", "oldPassword", "newPassword", "confirmPassword" };
+
+    /**
+     * 处理完请求后执行
+     *
+     * @param joinPoint 切点
+     */
+    @AfterReturning(pointcut = "@annotation(controllerLog)", returning = "jsonResult")
+    public void doAfterReturning(JoinPoint joinPoint, Log controllerLog, Object jsonResult)
+    {
+        handleLog(joinPoint, controllerLog, null, jsonResult);
+    }
+
+    /**
+     * 拦截异常操作
+     *
+     * @param joinPoint 切点
+     * @param e 异常
+     */
+    @AfterThrowing(value = "@annotation(controllerLog)", throwing = "e")
+    public void doAfterThrowing(JoinPoint joinPoint, Log controllerLog, Exception e)
+    {
+        handleLog(joinPoint, controllerLog, e, null);
+    }
+
+    protected void handleLog(final JoinPoint joinPoint, Log controllerLog, final Exception e, Object jsonResult)
+    {
+        try
+        {
+            // 获取当前的用户
+            User currentUser = ShiroUtils.getSysUser();
+
+            // *========数据库日志=========*//
+            OperLog operLog = new OperLog();
+            operLog.setStatus(BusinessStatus.SUCCESS.ordinal());
+            // 请求的地址
+            String ip = ShiroUtils.getIp();
+            operLog.setOperIp(ip);
+            operLog.setOperUrl(ServletUtils.getRequest().getRequestURI());
+            if (currentUser != null)
+            {
+                operLog.setOperName(currentUser.getLoginName());
+                if (StringUtils.isNotNull(currentUser.getDept())
+                        && StringUtils.isNotEmpty(currentUser.getDept().getDeptName()))
+                {
+                    operLog.setDeptName(currentUser.getDept().getDeptName());
+                }
+            }
+
+            if (e != null)
+            {
+                operLog.setStatus(BusinessStatus.FAIL.ordinal());
+                operLog.setErrorMsg(StringUtils.substring(e.getMessage(), 0, 2000));
+            }
+            // 设置方法名称
+            String className = joinPoint.getTarget().getClass().getName();
+            String methodName = joinPoint.getSignature().getName();
+            operLog.setMethod(className + "." + methodName + "()");
+            // 设置请求方式
+            operLog.setRequestMethod(ServletUtils.getRequest().getMethod());
+            // 处理设置注解上的参数
+            getControllerMethodDescription(joinPoint, controllerLog, operLog, jsonResult);
+            // 保存数据库
+            AsyncManager.me().execute(AsyncFactory.recordOper(operLog));
+        }
+        catch (Exception exp)
+        {
+            // 记录本地异常日志
+            log.error("==前置通知异常==");
+            log.error("异常信息:{}", exp.getMessage());
+            exp.printStackTrace();
+        }
+    }
+
+    /**
+     * 获取注解中对方法的描述信息 用于Controller层注解
+     *
+     * @param log 日志
+     * @param operLog 操作日志
+     * @throws Exception
+     */
+    public void getControllerMethodDescription(JoinPoint joinPoint, Log log, OperLog operLog, Object jsonResult) throws Exception
+    {
+        // 设置action动作
+        operLog.setBusinessType(log.businessType().ordinal());
+        // 设置标题
+        operLog.setTitle(log.title());
+        // 设置操作人类别
+        operLog.setOperatorType(log.operatorType().ordinal());
+        // 是否需要保存request,参数和值
+        if (log.isSaveRequestData())
+        {
+            // 获取参数的信息,传入到数据库中。
+            setRequestValue(joinPoint, operLog);
+        }
+        // 是否需要保存response,参数和值
+        if (log.isSaveResponseData() && StringUtils.isNotNull(jsonResult))
+        {
+            operLog.setJsonResult(StringUtils.substring(JSONObject.toJSONString(jsonResult), 0, 2000));
+        }
+    }
+
+    /**
+     * 获取请求的参数,放到log中
+     *
+     * @param operLog
+     * @param request
+     */
+    private void setRequestValue(JoinPoint joinPoint, OperLog operLog)
+    {
+        Map<String, String[]> map = ServletUtils.getRequest().getParameterMap();
+        if (StringUtils.isNotEmpty(map))
+        {
+            String params = JSONObject.toJSONString(map, excludePropertyPreFilter());
+            operLog.setOperParam(StringUtils.substring(params, 0, 2000));
+        }
+        else
+        {
+            Object args = joinPoint.getArgs();
+            if (StringUtils.isNotNull(args))
+            {
+                String params = argsArrayToString(joinPoint.getArgs());
+                operLog.setOperParam(StringUtils.substring(params, 0, 2000));
+            }
+        }
+    }
+
+    /**
+     * 忽略敏感属性
+     */
+    public PropertyPreFilters.MySimplePropertyPreFilter excludePropertyPreFilter()
+    {
+        return new PropertyPreFilters().addFilter().addExcludes(EXCLUDE_PROPERTIES);
+    }
+
+    /**
+     * 参数拼装
+     */
+    private String argsArrayToString(Object[] paramsArray)
+    {
+        String params = "";
+        if (paramsArray != null && paramsArray.length > 0)
+        {
+            for (Object o : paramsArray)
+            {
+                if (StringUtils.isNotNull(o) && !isFilterObject(o))
+                {
+                    try
+                    {
+                        Object jsonObj = JSONObject.toJSONString(o, excludePropertyPreFilter());
+                        params += jsonObj.toString() + " ";
+                    }
+                    catch (Exception e)
+                    {
+                    }
+                }
+            }
+        }
+        return params.trim();
+    }
+
+    /**
+     * 判断是否需要过滤的对象。
+     *
+     * @param o 对象信息。
+     * @return 如果是需要过滤的对象,则返回true;否则返回false。
+     */
+    @SuppressWarnings("rawtypes")
+    public boolean isFilterObject(final Object o)
+    {
+        Class<?> clazz = o.getClass();
+        if (clazz.isArray())
+        {
+            return clazz.getComponentType().isAssignableFrom(MultipartFile.class);
+        }
+        else if (Collection.class.isAssignableFrom(clazz))
+        {
+            Collection collection = (Collection) o;
+            for (Object value : collection)
+            {
+                return value instanceof MultipartFile;
+            }
+        }
+        else if (Map.class.isAssignableFrom(clazz))
+        {
+            Map map = (Map) o;
+            for (Object value : map.entrySet())
+            {
+                Map.Entry entry = (Map.Entry) value;
+                return entry.getValue() instanceof MultipartFile;
+            }
+        }
+        return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse
+                || o instanceof BindingResult;
+    }
+}

+ 28 - 0
src/main/java/com/benyun/framework/aspectj/lang/annotation/DataScope.java

@@ -0,0 +1,28 @@
+package com.benyun.framework.aspectj.lang.annotation;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 数据权限过滤注解
+ *
+ * @author liugang
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface DataScope
+{
+    /**
+     * 部门表的别名
+     */
+    public String deptAlias() default "";
+
+    /**
+     * 用户表的别名
+     */
+    public String userAlias() default "";
+}

+ 28 - 0
src/main/java/com/benyun/framework/aspectj/lang/annotation/DataSource.java

@@ -0,0 +1,28 @@
+package com.benyun.framework.aspectj.lang.annotation;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import com.benyun.framework.aspectj.lang.enums.DataSourceType;
+
+/**
+ * 自定义多数据源切换注解
+ *
+ * 优先级:先方法,后类,如果方法覆盖了类上的数据源类型,以方法的为准,否则以类上的为准
+ *
+ * @author liugang
+ */
+@Target({ ElementType.METHOD, ElementType.TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+@Inherited
+public @interface DataSource
+{
+    /**
+     * 切换数据源名称
+     */
+    public DataSourceType value() default DataSourceType.MASTER;
+}

+ 167 - 0
src/main/java/com/benyun/framework/aspectj/lang/annotation/Excel.java

@@ -0,0 +1,167 @@
+package com.benyun.framework.aspectj.lang.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.math.BigDecimal;
+import org.apache.poi.ss.usermodel.HorizontalAlignment;
+import org.apache.poi.ss.usermodel.IndexedColors;
+import com.benyun.common.utils.poi.ExcelHandlerAdapter;
+
+/**
+ * 自定义导出Excel数据注解
+ *
+ * @author liugang
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
+public @interface Excel
+{
+    /**
+     * 导出时在excel中排序
+     */
+    public int sort() default Integer.MAX_VALUE;
+
+    /**
+     * 导出到Excel中的名字.
+     */
+    public String name() default "";
+
+    /**
+     * 日期格式, 如: yyyy-MM-dd
+     */
+    public String dateFormat() default "";
+
+    /**
+     * 如果是字典类型,请设置字典的type值 (如: sys_user_sex)
+     */
+    public String dictType() default "";
+
+    /**
+     * 读取内容转表达式 (如: 0=男,1=女,2=未知)
+     */
+    public String readConverterExp() default "";
+
+    /**
+     * 分隔符,读取字符串组内容
+     */
+    public String separator() default ",";
+
+    /**
+     * BigDecimal 精度 默认:-1(默认不开启BigDecimal格式化)
+     */
+    public int scale() default -1;
+
+    /**
+     * BigDecimal 舍入规则 默认:BigDecimal.ROUND_HALF_EVEN
+     */
+    public int roundingMode() default BigDecimal.ROUND_HALF_EVEN;
+
+    /**
+     * 导出时在excel中每个列的高度 单位为字符
+     */
+    public double height() default 14;
+
+    /**
+     * 导出时在excel中每个列的宽 单位为字符
+     */
+    public double width() default 16;
+
+    /**
+     * 文字后缀,如% 90 变成90%
+     */
+    public String suffix() default "";
+
+    /**
+     * 当值为空时,字段的默认值
+     */
+    public String defaultValue() default "";
+
+    /**
+     * 提示信息
+     */
+    public String prompt() default "";
+
+    /**
+     * 设置只能选择不能输入的列内容.
+     */
+    public String[] combo() default {};
+
+    /**
+     * 是否导出数据,应对需求:有时我们需要导出一份模板,这是标题需要但内容需要用户手工填写.
+     */
+    public boolean isExport() default true;
+
+    /**
+     * 另一个类中的属性名称,支持多级获取,以小数点隔开
+     */
+    public String targetAttr() default "";
+
+    /**
+     * 是否自动统计数据,在最后追加一行统计数据总和
+     */
+    public boolean isStatistics() default false;
+
+    /**
+     * 导出类型(0数字 1字符串)
+     */
+    public ColumnType cellType() default ColumnType.STRING;
+
+    /**
+     * 字体颜色
+     */
+    public IndexedColors color() default IndexedColors.BLACK;
+
+    /**
+     * 导出字段对齐方式
+     */
+    public HorizontalAlignment align() default HorizontalAlignment.CENTER;
+
+    /**
+     * 自定义数据处理器
+     */
+    public Class<?> handler() default ExcelHandlerAdapter.class;
+
+    /**
+     * 自定义数据处理器参数
+     */
+    public String[] args() default {};
+
+    /**
+     * 字段类型(0:导出导入;1:仅导出;2:仅导入)
+     */
+    Type type() default Type.ALL;
+
+    public enum Type
+    {
+        ALL(0), EXPORT(1), IMPORT(2);
+        private final int value;
+
+        Type(int value)
+        {
+            this.value = value;
+        }
+
+        public int value()
+        {
+            return this.value;
+        }
+    }
+
+    public enum ColumnType
+    {
+        NUMERIC(0), STRING(1), IMAGE(2);
+        private final int value;
+
+        ColumnType(int value)
+        {
+            this.value = value;
+        }
+
+        public int value()
+        {
+            return this.value;
+        }
+    }
+}

+ 18 - 0
src/main/java/com/benyun/framework/aspectj/lang/annotation/Excels.java

@@ -0,0 +1,18 @@
+package com.benyun.framework.aspectj.lang.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Excel注解集
+ *
+ * @author liugang
+ */
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Excels
+{
+    Excel[] value();
+}

Some files were not shown because too many files changed in this diff