diff --git a/.idea/sonarlint/issuestore/index.pb b/.idea/sonarlint/issuestore/index.pb
index ae8156c..a9251b5 100644
--- a/.idea/sonarlint/issuestore/index.pb
+++ b/.idea/sonarlint/issuestore/index.pb
@@ -20,8 +20,6 @@ p
 @src/main/java/site/cnkj/common/config/AsyncThreadPoolConfig.java,8\0\80bf55a45d89443866509f377d2b4f56db7fda1b
 t
 Dsrc/main/java/site/cnkj/common/config/ElasticsearchClientConfig.java,c\1\c131e8dffaaace66f248f9071023b60be7b277a4
-h
-8src/main/java/site/cnkj/common/config/MongodbConfig.java,5\e\5ea6818d32d6309aa2758cc5429b176d6328d51f
 f
 6src/main/java/site/cnkj/common/config/RedisConfig.java,2\b\2b5e0787fcb106c7e2c215b9201949810fe97d18
 m
@@ -44,8 +42,6 @@ h
 8src/main/java/site/cnkj/common/utils/data/KafkaUtil.java,7\4\74438aca9f4a48488fe204b00a7429cabb247abb
 o
 ?src/main/java/site/cnkj/common/utils/data/MongoClientsInit.java,4\9\490c965ee8a02ce158895987485283bb4b666ab6
-j
-:src/main/java/site/cnkj/common/utils/data/MongodbUtil.java,4\f\4f937c5ca0d0fe93235acbc7630afacda85e3134
 g
 7src/main/java/site/cnkj/common/utils/date/DateUtil.java,1\5\157e0e9285b69e300624f35e79300c0ed6098936
 q
@@ -56,8 +52,6 @@ m
 =src/main/java/site/cnkj/common/utils/http/HttpCommonUtil.java,2\1\21fd7f9a07ee140f9ce9ae11bbe161bdd456cbc8
 o
 ?src/main/java/site/cnkj/common/utils/http/RestTemplateUtil.java,7\7\776a6d7b367518db3108c641270f9c6311fa1150
-g
-7src/main/java/site/cnkj/common/utils/http/SSH2Util.java,4\4\444a1dc837650c123108b5f8df3ca011832638b7
 e
 5src/main/java/site/cnkj/common/utils/io/CopyUtil.java,1\1\1195786afcb95315b3ec156ea91e7166c2c2cf10
 `
@@ -81,4 +75,10 @@ h
 _
 /src/main/java/site/cnkj/data/ProtobufOuter.java,9\f\9f5f569cdcb2cd35235adfef521ccd334b295f84
 h
-8src/main/java/site/cnkj/data/ProtobufOuterOperation.java,b\2\b28def072d697c755d8047d7c4fc36e92d284e43
\ No newline at end of file
+8src/main/java/site/cnkj/data/ProtobufOuterOperation.java,b\2\b28def072d697c755d8047d7c4fc36e92d284e43
+j
+:target/classes/META-INF/spring-configuration-metadata.json,e\a\eaaa4be2d68e0a2d603579b394cb7c0ee6bb6df5
+U
+%target/classes/application.properties,b\b\bb173f9557479135e0f1bcd9c6c5f7b4ae5f77e8
+;
+_config.yml,c\d\cd089ae45ce870c45e434019e8f1ed4f066cd425
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 5843851..7e7e717 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -1,43 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="ChangeListManager">
-    <list default="true" id="52b7c556-aac6-402c-b840-5f2564f1f5d7" name="Default" comment="change data folder">
+    <list default="true" id="52b7c556-aac6-402c-b840-5f2564f1f5d7" name="Default" comment="">
+      <change afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/MongoClientConfig.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/sonarlint/issuestore/index.pb" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/sonarlint/issuestore/index.pb" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/AsyncExecutePool.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/AsyncExecutePool.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/AsyncThreadPoolConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/AsyncThreadPoolConfig.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/ElasticsearchClientConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/ElasticsearchClientConfig.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/MongodbConfig.java" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/RedisConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/RedisConfig.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/RestTemplateConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/RestTemplateConfig.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/object/ReasonEnumeration.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/object/ReasonEnumeration.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/object/redis/Receiver.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/object/redis/Receiver.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/object/servlet/BaseResult.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/object/servlet/BaseResult.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/object/servlet/CommonInfo.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/object/servlet/CommonInfo.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/object/servlet/DataResult.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/object/servlet/DataResult.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/object/servlet/ResponseBodyCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/object/servlet/ResponseBodyCode.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/service/ActuatorInfo.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/service/ActuatorInfo.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/KafkaUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/KafkaUtil.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/MongoClientsInit.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/MongoClientsInit.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/MongodbUtil.java" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/RedisUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/RedisUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/date/DateUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/date/DateUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/file/FileEncryptDecrypt.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/file/FileEncryptDecrypt.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/file/FileUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/file/FileUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/http/HttpCommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/http/HttpCommonUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/http/RestTemplateUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/http/RestTemplateUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/http/SSH2Util.java" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/CopyUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/CopyUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/DES.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/DES.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/RSAEncrypt.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/RSAEncrypt.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/StringUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/StringUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/logger/LoggerUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/logger/LoggerUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/serialize/JacksonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/serialize/JacksonUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/serialize/SoapXmlFormatUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/serialize/SoapXmlFormatUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/serialize/UrlDecodeUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/serialize/UrlDecodeUtil.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/system/GracefulShutdown.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/system/GracefulShutdown.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/test/java/site/cnkj/utils/CommonApplicationTests.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/test/java/site/cnkj/utils/CommonApplicationTests.java" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/target/" />
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -49,76 +19,28 @@
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file leaf-file-name="RSAEncrypt.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/RSAEncrypt.java">
-          <provider selected="true" editor-type-id="text-editor" />
-        </entry>
-      </file>
-      <file leaf-file-name="RestTemplateConfig.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/config/RestTemplateConfig.java">
+      <file leaf-file-name="MongoClientConfig.java" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/config/MongoClientConfig.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="1220">
-              <caret line="77" column="19" selection-start-line="77" selection-start-column="19" selection-end-line="77" selection-end-column="19" />
+            <state relative-caret-position="506">
+              <caret line="48" column="38" lean-forward="true" selection-start-line="48" selection-start-column="38" selection-end-line="48" selection-end-column="38" />
+              <folding>
+                <element signature="imports" expanded="true" />
+                <element signature="e#985#986#0" expanded="true" />
+                <element signature="e#1082#1083#0" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="LoggerUtil.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/logger/LoggerUtil.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="5880">
-              <caret line="306" column="36" selection-start-line="306" selection-start-column="36" selection-end-line="306" selection-end-column="36" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="SoapXmlFormatUtil.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/serialize/SoapXmlFormatUtil.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="1560">
-              <caret line="86" column="8" selection-start-line="86" selection-start-column="8" selection-end-line="86" selection-end-column="8" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="ActuatorInfo.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/service/ActuatorInfo.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="260">
-              <caret line="24" column="22" selection-start-line="24" selection-start-column="22" selection-end-line="24" selection-end-column="22" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="HttpCommonUtil.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/http/HttpCommonUtil.java">
-          <provider selected="true" editor-type-id="text-editor" />
-        </entry>
-      </file>
-      <file leaf-file-name="AsyncExecutePool.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/config/AsyncExecutePool.java">
-          <provider selected="true" editor-type-id="text-editor" />
-        </entry>
-      </file>
-      <file leaf-file-name="AsyncThreadPoolConfig.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/config/AsyncThreadPoolConfig.java">
-          <provider selected="true" editor-type-id="text-editor" />
-        </entry>
-      </file>
-      <file leaf-file-name="RestTemplateUtil.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/http/RestTemplateUtil.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="140">
-              <caret line="14" column="12" selection-start-line="14" selection-start-column="12" selection-end-line="14" selection-end-column="12" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="FileEncryptDecrypt.java" pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/file/FileEncryptDecrypt.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="420">
-              <caret line="70" column="44" lean-forward="true" selection-start-line="70" selection-start-column="44" selection-end-line="70" selection-end-column="44" />
+      <file leaf-file-name="README.md" pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/README.md">
+          <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
+            <state split_layout="SPLIT">
+              <first_editor relative-caret-position="120">
+                <caret line="6" column="3" selection-start-line="6" selection-start-column="3" selection-end-line="6" selection-end-column="3" />
+              </first_editor>
+              <second_editor />
             </state>
           </provider>
         </entry>
@@ -169,19 +91,21 @@
         <option value="$PROJECT_DIR$/src/main/java/site/cnkj/utils/MongoClientsInit.java" />
         <option value="$PROJECT_DIR$/src/main/java/site/cnkj/utils/MongodbUtil.java" />
         <option value="$PROJECT_DIR$/src/main/java/common/utils/http/HttpCommonUtil.java" />
-        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/RedisConfig.java" />
-        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/RestTemplateConfig.java" />
-        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/service/ActuatorInfo.java" />
-        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/CopyUtil.java" />
-        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/StringUtil.java" />
-        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/KafkaUtil.java" />
-        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/file/FileUtil.java" />
-        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/logger/LoggerUtil.java" />
-        <option value="$PROJECT_DIR$/README.md" />
-        <option value="$PROJECT_DIR$/pom.xml" />
         <option value="$PROJECT_DIR$/src/test/java/site/cnkj/utils/CommonApplicationTests.java" />
         <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/http/RestTemplateUtil.java" />
         <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/file/FileEncryptDecrypt.java" />
+        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/file/FileUtil.java" />
+        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/KafkaUtil.java" />
+        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/RestTemplateConfig.java" />
+        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/RedisConfig.java" />
+        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/service/ActuatorInfo.java" />
+        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/CopyUtil.java" />
+        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/StringUtil.java" />
+        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/logger/LoggerUtil.java" />
+        <option value="$PROJECT_DIR$/pom.xml" />
+        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/MongoClientsInit.java" />
+        <option value="$PROJECT_DIR$/src/main/java/site/cnkj/common/config/MongoClientConfig.java" />
+        <option value="$PROJECT_DIR$/README.md" />
       </list>
     </option>
   </component>
@@ -238,8 +162,8 @@
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
+      <pane id="Scope" />
       <pane id="PackagesPane" />
-      <pane id="AndroidView" />
       <pane id="ProjectPane">
         <subPane>
           <expand>
@@ -462,11 +386,16 @@
               <item name="java" type="462c0819:PsiDirectoryNode" />
               <item name="utils" type="462c0819:PsiDirectoryNode" />
             </path>
+            <path>
+              <item name="CommonUtil" type="b2602c69:ProjectViewProjectNode" />
+              <item name="CommonUtil" type="462c0819:PsiDirectoryNode" />
+              <item name="target" type="462c0819:PsiDirectoryNode" />
+            </path>
           </expand>
           <select />
         </subPane>
       </pane>
-      <pane id="Scope" />
+      <pane id="AndroidView" />
     </panes>
   </component>
   <component name="PropertiesComponent">
@@ -497,16 +426,19 @@
     <property name="settings.editor.selected.configurable" value="fileTemplates" />
   </component>
   <component name="RecentsManager">
-    <key name="MoveFile.RECENT_KEYS">
-      <recent name="F:\CommonUtil\repository\site\cnkj\CommonUtil\1.1.0" />
-      <recent name="F:\CommonUtil\repository\site\cnkj\CommonUtil" />
-    </key>
     <key name="CopyFile.RECENT_KEYS">
       <recent name="F:\mine\CommonUtil\src\main\java\site\cnkj\common" />
       <recent name="F:\mine\CommonUtil\src\main\java" />
       <recent name="F:\CommonUtil\repository\site\cnkj\CommonUtil" />
       <recent name="F:\CommonUtil\maven" />
     </key>
+    <key name="CopyClassDialog.RECENTS_KEY">
+      <recent name="site.cnkj.common.config" />
+    </key>
+    <key name="MoveFile.RECENT_KEYS">
+      <recent name="F:\CommonUtil\repository\site\cnkj\CommonUtil\1.1.0" />
+      <recent name="F:\CommonUtil\repository\site\cnkj\CommonUtil" />
+    </key>
   </component>
   <component name="RunDashboard">
     <option name="ruleStates">
@@ -649,7 +581,8 @@
       <workItem from="1612838922198" duration="1250000" />
       <workItem from="1615280802811" duration="2696000" />
       <workItem from="1615862401748" duration="5071000" />
-      <workItem from="1616492699296" duration="761000" />
+      <workItem from="1616492699296" duration="2945000" />
+      <workItem from="1616556037817" duration="2757000" />
     </task>
     <task id="LOCAL-00001" summary="repair some lombok questions">
       <created>1574320188766</created>
@@ -833,15 +766,21 @@
       <option name="project" value="LOCAL" />
       <updated>1615280926031</updated>
     </task>
-    <option name="localTasksCounter" value="27" />
+    <task id="LOCAL-00027" summary="change data folder">
+      <created>1616493647106</created>
+      <option name="number" value="00027" />
+      <option name="presentableId" value="LOCAL-00027" />
+      <option name="project" value="LOCAL" />
+      <updated>1616493647106</updated>
+    </task>
+    <option name="localTasksCounter" value="28" />
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="92636000" />
+    <option name="totallyTimeSpent" value="97577000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
-    <editor active="true" />
     <layout>
       <window_info anchor="right" id="Palette" order="3" />
       <window_info anchor="right" id="RestServices" order="4" />
@@ -862,19 +801,19 @@
       <window_info anchor="bottom" id="Java Enterprise" order="7" />
       <window_info anchor="right" id="Capture Analysis" order="3" />
       <window_info anchor="bottom" id="Version Control" order="7" weight="0.32606325" />
-      <window_info anchor="bottom" id="Run" order="2" weight="0.3642312" />
+      <window_info anchor="bottom" id="Run" order="2" visible="true" weight="0.3642312" />
       <window_info anchor="bottom" id="Spring" order="7" />
       <window_info anchor="bottom" id="Terminal" order="7" weight="0.3293348" />
-      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.20628998" />
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.20842217" />
       <window_info id="Web" order="2" side_tool="true" />
-      <window_info active="true" anchor="bottom" id="SonarLint" order="7" visible="true" weight="0.3293348" />
+      <window_info anchor="bottom" id="SonarLint" order="7" weight="0.3293348" />
       <window_info anchor="right" id="Theme Preview" order="3" />
       <window_info id="Favorites" order="2" side_tool="true" />
       <window_info anchor="right" id="Bean Validation" order="3" />
-      <window_info anchor="bottom" id="Messages" order="7" weight="0.3293348" />
       <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
       <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
       <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
+      <window_info anchor="bottom" id="Messages" order="7" weight="0.3293348" />
       <window_info anchor="bottom" id="Message" order="0" />
       <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
       <window_info anchor="bottom" id="Find" order="1" />
@@ -986,13 +925,6 @@
     </breakpoint-manager>
   </component>
   <component name="editorHistoryManager">
-    <entry file="jar://$MAVEN_REPOSITORY$/org/apache/kafka/kafka-clients/1.1.1/kafka-clients-1.1.1-sources.jar!/org/apache/kafka/clients/consumer/internals/Fetcher.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="6360">
-          <caret line="404" column="44" selection-start-line="404" selection-start-column="44" selection-end-line="404" selection-end-column="44" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/utils/KafkaUtil.java" />
     <entry file="jar://C:/Program Files/Java/jdk1.8.0_171/src.zip!/java/util/Map.java">
       <provider selected="true" editor-type-id="text-editor">
@@ -1032,34 +964,6 @@
     <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/utils/StringUtil.java" />
     <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/utils/config/ElasticsearchConfig.java" />
     <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/utils/LoggerUtil.java" />
-    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/CopyUtil.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="480">
-          <caret line="24" column="12" selection-start-line="24" selection-start-column="12" selection-end-line="24" selection-end-column="12" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/StringUtil.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="20">
-          <caret line="1" selection-start-line="1" selection-end-line="1" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/file/FileUtil.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="291">
-          <caret line="307" column="16" selection-start-line="307" selection-start-column="16" selection-end-line="307" selection-end-column="16" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/config/RedisConfig.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1520">
-          <caret line="91" column="49" selection-start-line="91" selection-start-column="49" selection-end-line="91" selection-end-column="49" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/object/redis/Receiver.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="100">
@@ -1084,16 +988,6 @@
     <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/RedisUtil.java">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/README.md">
-      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
-        <state split_layout="SPLIT">
-          <first_editor relative-caret-position="20">
-            <caret line="6" column="54" selection-start-line="6" selection-start-column="54" selection-end-line="6" selection-end-column="54" />
-          </first_editor>
-          <second_editor />
-        </state>
-      </provider>
-    </entry>
     <entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-beans/5.2.8.RELEASE/spring-beans-5.2.8.RELEASE.jar!/org/springframework/beans/factory/xml/XmlBeanFactory.class">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="140">
@@ -1115,16 +1009,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/http/SSH2Util.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="120">
-          <caret line="6" column="40" selection-start-line="6" selection-start-column="40" selection-end-line="6" selection-end-column="40" />
-          <folding>
-            <element signature="method#login#0;class#SSH2Util#0" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/http/SSH2Util.java" />
     <entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-context/5.2.8.RELEASE/spring-context-5.2.8.RELEASE-sources.jar!/org/springframework/context/support/FileSystemXmlApplicationContext.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="660">
@@ -1132,13 +1017,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/KafkaUtil.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="60">
-          <caret line="3" column="40" selection-start-line="3" selection-start-column="40" selection-end-line="3" selection-end-column="40" />
-        </state>
-      </provider>
-    </entry>
     <entry file="jar://$MAVEN_REPOSITORY$/org/mongodb/mongodb-driver/3.8.2/mongodb-driver-3.8.2-sources.jar!/com/mongodb/MongoClientURI.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="235">
@@ -1146,17 +1024,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/pom.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2720">
-          <caret line="136" column="36" selection-start-line="136" selection-start-column="36" selection-end-line="136" selection-end-column="36" />
-          <folding>
-            <element signature="n#build#0;n#project#0;n#!!top" />
-          </folding>
-        </state>
-      </provider>
-      <provider editor-type-id="MavenHelperPluginDependencyAnalyzer" />
-    </entry>
     <entry file="jar://$MAVEN_REPOSITORY$/org/mongodb/mongodb-driver-legacy/4.0.5/mongodb-driver-legacy-4.0.5-sources.jar!/com/mongodb/MongoClientURI.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="-1373">
@@ -1189,30 +1056,8 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/MongoClientsInit.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="31">
-          <caret line="23" column="13" selection-start-line="23" selection-start-column="13" selection-end-line="23" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/config/MongodbConfig.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="780">
-          <caret line="39" column="17" selection-start-line="39" selection-start-column="17" selection-end-line="39" selection-end-column="17" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/MongodbUtil.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="360">
-          <caret line="28" column="38" lean-forward="true" selection-start-line="28" selection-start-column="38" selection-end-line="28" selection-end-column="38" />
-        </state>
-      </provider>
-    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/config/MongodbConfig.java" />
+    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/MongodbUtil.java" />
     <entry file="file://$PROJECT_DIR$/src/test/java/site/cnkj/utils/CommonApplicationTests.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="467">
@@ -1229,20 +1074,6 @@
     <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/RSAEncrypt.java">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/config/RestTemplateConfig.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1220">
-          <caret line="77" column="19" selection-start-line="77" selection-start-column="19" selection-end-line="77" selection-end-column="19" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/logger/LoggerUtil.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="5880">
-          <caret line="306" column="36" selection-start-line="306" selection-start-column="36" selection-end-line="306" selection-end-column="36" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/serialize/SoapXmlFormatUtil.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="1560">
@@ -1250,13 +1081,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/service/ActuatorInfo.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="260">
-          <caret line="24" column="22" selection-start-line="24" selection-start-column="22" selection-end-line="24" selection-end-column="22" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/http/HttpCommonUtil.java">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
@@ -1275,8 +1099,122 @@
     </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/file/FileEncryptDecrypt.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="420">
-          <caret line="70" column="44" lean-forward="true" selection-start-line="70" selection-start-column="44" selection-end-line="70" selection-end-column="44" />
+        <state relative-caret-position="820">
+          <caret line="62" column="17" selection-start-line="62" selection-start-column="17" selection-end-line="62" selection-end-column="17" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/file/FileUtil.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1740">
+          <caret line="100" column="52" selection-start-line="100" selection-start-column="52" selection-end-line="100" selection-end-column="52" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/KafkaUtil.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="40">
+          <caret line="2" column="39" selection-start-line="2" selection-start-column="39" selection-end-line="2" selection-end-column="39" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/config/RestTemplateConfig.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="320">
+          <caret line="16" selection-start-line="16" selection-end-line="16" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/config/RedisConfig.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1500">
+          <caret line="90" selection-start-line="90" selection-end-line="90" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/service/ActuatorInfo.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="120">
+          <caret line="17" column="10" selection-start-line="17" selection-start-column="10" selection-end-line="17" selection-end-column="10" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/CopyUtil.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state>
+          <caret column="34" selection-start-column="34" selection-end-column="34" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/io/StringUtil.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="220">
+          <caret line="11" column="35" selection-start-line="11" selection-start-column="35" selection-end-line="11" selection-end-column="35" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/logger/LoggerUtil.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="340">
+          <caret line="31" column="5" selection-start-line="31" selection-start-column="5" selection-end-line="31" selection-end-column="5" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pom.xml">
+      <provider editor-type-id="MavenHelperPluginDependencyAnalyzer" />
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="180">
+          <caret line="9" column="18" selection-start-line="9" selection-start-column="18" selection-end-line="9" selection-end-column="18" />
+          <folding>
+            <element signature="n#build#0;n#project#0;n#!!top" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/utils/data/MongoClientsInit.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="551">
+          <caret line="37" column="42" lean-forward="true" selection-start-line="37" selection-start-column="42" selection-end-line="37" selection-end-column="42" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/site/cnkj/common/config/MongoClientConfig.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="506">
+          <caret line="48" column="38" lean-forward="true" selection-start-line="48" selection-start-column="38" selection-end-line="48" selection-end-column="38" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#985#986#0" expanded="true" />
+            <element signature="e#1082#1083#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/README.md">
+      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
+        <state split_layout="SPLIT">
+          <first_editor relative-caret-position="120">
+            <caret line="6" column="3" selection-start-line="6" selection-start-column="3" selection-end-line="6" selection-end-column="3" />
+          </first_editor>
+          <second_editor />
         </state>
       </provider>
     </entry>
diff --git a/README.md b/README.md
index 06858b0..92c5073 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,14 @@
 
 ## [WIKI](https://github.com/carolcoral/CommonUtil/wiki)
 
+## Download
+* [CommonUtil.jar](https://github.com/carolcoral/CommonUtil/releases/download/2.0.2/CommonUtil-2.0.2.jar)
+* [CommonUtil-javadoc.jar](https://github.com/carolcoral/CommonUtil/releases/download/2.0.2/CommonUtil-2.0.2-javadoc.jar)
+* [CommonUtil-sources.jar](https://github.com/carolcoral/CommonUtil/releases/download/2.0.2/CommonUtil-2.0.2-sources.jar)
+
 ## Log
+> `2021年3月24日 11:24:53` fix some bugs and change mongoClient init. [Use MongoClientInit](https://github.com/carolcoral/CommonUtil/wiki/MongoClientInit).
+
 > `2021年2月9日 11:09:13` change folder and fix some bug.
 
 > `2020年8月20日 16:49:23` new class [MongoClientsInit](https://github.com/carolcoral/CommonUtil/blob/master/src/main/java/site/cnkj/utils/MongoClientsInit.java) for create muti mongoClient.More info to see [How to use MongoClientsInit](https://carolcoral.github.io/Article/JAVA/Java%E6%9E%84%E5%BB%BA%E5%A4%9Amongo%E6%95%B0%E6%8D%AE%E6%BA%90%E5%AE%A2%E6%88%B7%E7%AB%AF)
@@ -65,6 +72,6 @@ mvn install:install-file -Dfile=/User/carol/Desktop/CommonUtil-1.0.jar -DgroupId
 <dependency>
     <groupId>site.cnkj</groupId>
     <artifactId>CommonUtil</artifactId>
-    <version>1.0</version>
+    <version>2.0.2</version>
 </dependency>
 ```
diff --git a/pom.xml b/pom.xml
index e959df7..9349861 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
     <groupId>site.cnkj</groupId>
     <artifactId>CommonUtil</artifactId>
     <packaging>jar</packaging>
-    <version>2.0.1</version>
+    <version>2.0.2</version>
 
     <parent>
         <groupId>org.springframework.boot</groupId>
diff --git a/src/main/java/site/cnkj/common/config/MongoClientConfig.java b/src/main/java/site/cnkj/common/config/MongoClientConfig.java
new file mode 100644
index 0000000..9eeea09
--- /dev/null
+++ b/src/main/java/site/cnkj/common/config/MongoClientConfig.java
@@ -0,0 +1,102 @@
+package site.cnkj.common.config;
+
+
+import com.mongodb.*;
+import com.mongodb.selector.ServerSelector;
+import lombok.Setter;
+import org.bson.UuidRepresentation;
+import org.bson.codecs.configuration.CodecRegistry;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import site.cnkj.common.utils.data.MongoClientsInit;
+
+import javax.net.ssl.SSLContext;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+
+/*
+ * @author  LXW
+ * @create  2021/3/24 10:51
+ * @Description
+ *  1. 使用本bean的时候需要在启动类上加上下面这行注解，否则会自动链接本地mongo出现异常
+ *      <code>@EnableAutoConfiguration(exclude = {MongoAutoConfiguration.class})</code>
+ *  2. 使用MongoClient的时候不能同时使用SpringMongo，如果存在SpringMongo的maven依赖需要去除
+ */
+@Setter
+@Configuration
+@ConfigurationProperties(prefix = "spring.data.mongodb")
+public class MongoClientConfig {
+
+
+    private HashMap<String, String> uri = new HashMap<>();
+
+    private String applicationName;
+    private List<MongoCompressor> compressorList = Collections.emptyList();
+    private ReadPreference readPreference = ReadPreference.primary();
+    private WriteConcern writeConcern = WriteConcern.ACKNOWLEDGED;
+    private boolean retryWrites = true;
+    private boolean retryReads = true;
+    private ReadConcern readConcern = ReadConcern.DEFAULT;
+    private CodecRegistry codecRegistry = MongoClient.getDefaultCodecRegistry();
+    private UuidRepresentation uuidRepresentation = UuidRepresentation.UNSPECIFIED;
+    private ServerSelector serverSelector;
+    private int minConnectionsPerHost;
+    private int maxConnectionsPerHost = 100;
+    private int serverSelectionTimeout = 1000 * 30;
+    private int maxWaitTime = 1000 * 60 * 2;
+    private int maxConnectionIdleTime;
+    private int maxConnectionLifeTime;
+    private int connectTimeout = 1000 * 10;
+    private int socketTimeout = 0;
+    private boolean sslEnabled = false;
+    private boolean sslInvalidHostNameAllowed = false;
+    private SSLContext sslContext;
+
+    private int heartbeatFrequency = 10000;
+    private int minHeartbeatFrequency = 500;
+    private int heartbeatConnectTimeout = 20000;
+    private int heartbeatSocketTimeout = 20000;
+    private int localThreshold = 15;
+
+
+    private MongoClientOptions.Builder builder(){
+        //配制连接池
+        MongoClientOptions.Builder mongoClientBuilder = new MongoClientOptions.Builder();
+        mongoClientBuilder.applicationName(applicationName);
+        mongoClientBuilder.autoEncryptionSettings(AutoEncryptionSettings.builder().build());
+        mongoClientBuilder.codecRegistry(codecRegistry);
+        mongoClientBuilder.compressorList(compressorList);
+        mongoClientBuilder.connectionsPerHost(maxConnectionsPerHost);
+        mongoClientBuilder.connectTimeout(connectTimeout);
+        mongoClientBuilder.heartbeatConnectTimeout(heartbeatConnectTimeout);
+        mongoClientBuilder.heartbeatFrequency(heartbeatFrequency);
+        mongoClientBuilder.heartbeatSocketTimeout(heartbeatSocketTimeout);
+        mongoClientBuilder.localThreshold(localThreshold);
+        mongoClientBuilder.maxConnectionIdleTime(maxConnectionIdleTime);
+        mongoClientBuilder.maxConnectionLifeTime(maxConnectionLifeTime);
+        mongoClientBuilder.maxWaitTime(maxWaitTime);
+        mongoClientBuilder.minConnectionsPerHost(minConnectionsPerHost);
+        mongoClientBuilder.minHeartbeatFrequency(minHeartbeatFrequency);
+        mongoClientBuilder.readConcern(readConcern);
+        mongoClientBuilder.readPreference(readPreference);
+        mongoClientBuilder.retryReads(retryReads);
+        mongoClientBuilder.retryWrites(retryWrites);
+        mongoClientBuilder.serverSelectionTimeout(serverSelectionTimeout);
+        mongoClientBuilder.serverSelector(serverSelector);
+        mongoClientBuilder.socketTimeout(socketTimeout);
+        mongoClientBuilder.sslContext(sslContext);
+        mongoClientBuilder.sslEnabled(sslEnabled);
+        mongoClientBuilder.sslInvalidHostNameAllowed(sslInvalidHostNameAllowed);
+        mongoClientBuilder.uuidRepresentation(uuidRepresentation);
+        mongoClientBuilder.writeConcern(writeConcern);
+        return mongoClientBuilder;
+    }
+
+    @Bean(name = "mongoClientsInit")
+    public MongoClientsInit mongoClientsInit(){
+        return new MongoClientsInit(uri, builder());
+    }
+
+}
diff --git a/src/main/java/site/cnkj/common/utils/data/MongoClientsInit.java b/src/main/java/site/cnkj/common/utils/data/MongoClientsInit.java
index e6eb219..5c62dd6 100644
--- a/src/main/java/site/cnkj/common/utils/data/MongoClientsInit.java
+++ b/src/main/java/site/cnkj/common/utils/data/MongoClientsInit.java
@@ -1,36 +1,25 @@
 package site.cnkj.common.utils.data;
 
-
 import com.mongodb.MongoClient;
 import com.mongodb.MongoClientOptions;
 import com.mongodb.MongoClientURI;
 import com.mongodb.client.MongoDatabase;
-import lombok.Data;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.stereotype.Component;
 
-import javax.annotation.PostConstruct;
 import java.util.HashMap;
 
 /*
  * @author  LXW
  * @create  2020/8/17 9:50
  * @Description
- *  1. 使用本bean的时候需要在启动类上加上下面这行注解，否则会自动链接本地mongo出现异常
- *      <code>@EnableAutoConfiguration(exclude = {MongoAutoConfiguration.class})</code>
- *  2. 使用MongoClient的时候不能同时使用SpringMongo，如果存在SpringMongo的maven依赖需要去除
  */
-@Data
-@Component
-@ConfigurationProperties(prefix = "spring.data.mongodb")
-@ConditionalOnProperty(prefix = "spring.data.mongodb", value = "activity", havingValue = "true")
 public class MongoClientsInit {
 
-    private HashMap<String, String> uri = new HashMap<>();
-
     private HashMap<String, MongoDatabase> mongoClientDatabases = new HashMap<>();
 
+    public HashMap<String, MongoDatabase> getMongoClientDatabases() {
+        return mongoClientDatabases;
+    }
+
     private String getDatabase(String mongoUri) throws Exception{
         String databaseName = "";
         String substring = mongoUri.substring(10, mongoUri.length());
@@ -44,16 +33,18 @@ public class MongoClientsInit {
         return databaseName;
     }
 
-    @PostConstruct
-    public void init() throws Exception{
+    public MongoClientsInit(HashMap<String, String> uri, MongoClientOptions.Builder mongoClientBuilder){
+        try {
+            init(uri, mongoClientBuilder);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    private void init(HashMap<String, String> uri, MongoClientOptions.Builder mongoClientBuilder) throws Exception{
         if (uri.size() > 0){
             for (String name : uri.keySet()) {
                 String url = uri.get(name);
-                //配制连接池
-                MongoClientOptions.Builder mongoClientBuilder = new MongoClientOptions.Builder();
-                mongoClientBuilder.connectionsPerHost(30);
-                mongoClientBuilder.connectTimeout(30000);
-                mongoClientBuilder.retryWrites(true);
                 //支持ssl连接
                 MongoClient mongoClient = new MongoClient(new MongoClientURI(url, mongoClientBuilder));
                 MongoDatabase mongoClientDatabase = mongoClient.getDatabase(getDatabase(url));
@@ -62,4 +53,4 @@ public class MongoClientsInit {
         }
     }
 
-}
+}
\ No newline at end of file
