Просмотр исходного кода

message queue support none, Kafka ,RocketMQ

none, Kafka ,RocketMQ
MaxKey 3 лет назад
Родитель
Сommit
090f4c9cc0

+ 222 - 211
build.gradle

@@ -165,259 +165,270 @@ subprojects {
          testImplementation group: 'xmlunit', name: 'xmlunit', version: "${xmlunitVersion}"
 
          //apache
-         implementation  group: 'commons-beanutils', name: 'commons-beanutils', version: "${commonsbeanutilsVersion}"
-         implementation  group: 'commons-codec', name: 'commons-codec', version: "${commonscodecVersion}"
-         implementation  group: 'commons-collections', name: 'commons-collections', version: "${commonscollectionsVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-collections4', version: "${commonscollections4Version}"
-         //implementation  group: 'org.apache.commons', name: 'commons-csv', version: "${commonscsvVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-text', version: "${commonstextVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-dbcp2', version: "${commonsdbcp2Version}"
-         implementation  group: 'commons-dbutils', name: 'commons-dbutils', version: "${commonsdbutilsVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-digester3', version: "${commonsdigester3Version}"
-         implementation  group: 'commons-digester', name: 'commons-digester', version: "${commonsdigesterVersion}"
-         implementation  group: 'commons-io', name: 'commons-io', version: "${commonsioVersion}"
-         implementation  group: 'commons-lang', name: 'commons-lang', version: "${commonslangVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-lang3', version: "${commonslang3Version}"
-         implementation  group: 'commons-logging', name: 'commons-logging', version: "${commonsloggingVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-pool2', version: "${commonspool2Version}"
-         implementation  group: 'commons-httpclient', name: 'commons-httpclient', version: "${commonshttpclientVersion}"
-         implementation  group: 'commons-fileupload', name: 'commons-fileupload', version: "${commonsfileuploadVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-email', version: "${commonsemailVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpasyncclient', version: "${httpasyncclientVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpclient', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'fluent-hc', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpclient-cache', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpmime', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpcore', version: "${httpcoreVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpcore-nio', version: "${httpcoreVersion}"
-         implementation  group: 'org.apache.velocity', name: 'velocity', version: "${velocityVersion}"
-         implementation  group: 'velocity', name: 'velocity-dep', version: "${velocitydepVersion}"
-         implementation  group: 'org.freemarker', name: 'freemarker', version: "${freemarkerVersion}"
-         implementation  group: 'org.apache.xmlbeans', name: 'xmlbeans', version:  "${xmlbeansVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-compress', version: "${commonscompressVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi', version: "${poiVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi-excelant', version: "${poiVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi-ooxml', version: "${poiVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi-ooxml-full', version: "${poiVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi-scratchpad', version: "${poiVersion}"
-         //implementation  group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: "${notyetcommonssslVersion}"
+         implementation group: 'commons-beanutils', name: 'commons-beanutils', version: "${commonsbeanutilsVersion}"
+         implementation group: 'commons-codec', name: 'commons-codec', version: "${commonscodecVersion}"
+         implementation group: 'commons-collections', name: 'commons-collections', version: "${commonscollectionsVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-collections4', version: "${commonscollections4Version}"
+         //implementation group: 'org.apache.commons', name: 'commons-csv', version: "${commonscsvVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-text', version: "${commonstextVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-dbcp2', version: "${commonsdbcp2Version}"
+         implementation group: 'commons-dbutils', name: 'commons-dbutils', version: "${commonsdbutilsVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-digester3', version: "${commonsdigester3Version}"
+         implementation group: 'commons-digester', name: 'commons-digester', version: "${commonsdigesterVersion}"
+         implementation group: 'commons-io', name: 'commons-io', version: "${commonsioVersion}"
+         implementation group: 'commons-lang', name: 'commons-lang', version: "${commonslangVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-lang3', version: "${commonslang3Version}"
+         implementation group: 'commons-logging', name: 'commons-logging', version: "${commonsloggingVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-pool2', version: "${commonspool2Version}"
+         implementation group: 'commons-httpclient', name: 'commons-httpclient', version: "${commonshttpclientVersion}"
+         implementation group: 'commons-fileupload', name: 'commons-fileupload', version: "${commonsfileuploadVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-email', version: "${commonsemailVersion}"
+         implementation group: 'commons-validator', name: 'commons-validator', version: "${commonsvalidatorVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpasyncclient', version: "${httpasyncclientVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpclient', version: "${httpcomponentsVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'fluent-hc', version: "${httpcomponentsVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpclient-cache', version: "${httpcomponentsVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpmime', version: "${httpcomponentsVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpcore', version: "${httpcoreVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpcore-nio', version: "${httpcoreVersion}"
+         implementation group: 'org.apache.velocity', name: 'velocity', version: "${velocityVersion}"
+         implementation group: 'velocity', name: 'velocity-dep', version: "${velocitydepVersion}"
+         implementation group: 'org.freemarker', name: 'freemarker', version: "${freemarkerVersion}"
+         implementation group: 'org.apache.xmlbeans', name: 'xmlbeans', version:  "${xmlbeansVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-compress', version: "${commonscompressVersion}"
+         implementation group: 'org.apache.poi', name: 'poi', version: "${poiVersion}"
+         implementation group: 'org.apache.poi', name: 'poi-excelant', version: "${poiVersion}"
+         implementation group: 'org.apache.poi', name: 'poi-ooxml', version: "${poiVersion}"
+         implementation group: 'org.apache.poi', name: 'poi-ooxml-full', version: "${poiVersion}"
+         implementation group: 'org.apache.poi', name: 'poi-scratchpad', version: "${poiVersion}"
+         //implementation group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: "${notyetcommonssslVersion}"
          //tomcat embed Core Tomcat implementation
-         implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
-         implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-el', version: "${tomcatVersion}"
-         implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-websocket', version: "${tomcatVersion}"
+         implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
+         implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-el', version: "${tomcatVersion}"
+         implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-websocket', version: "${tomcatVersion}"
          //JULI logging implementation for embedded Tomcat
-         implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-logging-juli', version: "${tomcatembedloggingjuliVersion}"
+         implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-logging-juli', version: "${tomcatembedloggingjuliVersion}"
          //apache logs
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-api', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-core', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-jcl', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-jul', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-web', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-jcl', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-jul', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-web', version: "${log4jVersion}"
         //logs
-         implementation  group: 'org.slf4j', name: 'slf4j-api', version: "${slf4jVersion}"
-         implementation  group: 'org.jboss.logging', name: 'jboss-logging', version: "${jbossloggingVersion}"
+         implementation group: 'org.slf4j', name: 'slf4j-api', version: "${slf4jVersion}"
+         implementation group: 'org.jboss.logging', name: 'jboss-logging', version: "${jbossloggingVersion}"
          //spring
-         implementation  group: 'org.springframework', name: 'spring-aop', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-aspects', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-beans', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-core', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-context', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-context-indexer', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-context-support', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-expression', version: "${springVersion}"
-         //implementation  group: 'org.springframework', name: 'spring-instrument', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-jcl', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-jdbc', version: "${springVersion}"
-         //implementation  group: 'org.springframework', name: 'spring-jms', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-messaging', version: "${springVersion}"
-         //implementation  group: 'org.springframework', name: 'spring-orm', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-oxm', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-tx', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-web', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-webflux', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-webmvc', version: "${springVersion}"
-         //implementation  group: 'org.springframework', name: 'spring-websocket', version: "${springVersion}"
-         testImplementation  group: 'org.springframework', name: 'spring-test', version: "${springVersion}"
-         
-         //kafka support
-         // https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients
-         implementation  group: 'org.apache.kafka', name: 'kafka-clients', version: "${kafkaclientsVersion}"
-         // https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka
-         implementation  group: 'org.springframework.kafka', name: 'spring-kafka', version: "${springkafkaVersion}"
+         implementation group: 'org.springframework', name: 'spring-aop', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-aspects', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-beans', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-core', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-context', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-context-indexer', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-context-support', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-expression', version: "${springVersion}"
+         //implementation group: 'org.springframework', name: 'spring-instrument', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-jcl', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-jdbc', version: "${springVersion}"
+         //implementation group: 'org.springframework', name: 'spring-jms', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-messaging', version: "${springVersion}"
+         //implementation group: 'org.springframework', name: 'spring-orm', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-oxm', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-tx', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-web', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-webflux', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-webmvc', version: "${springVersion}"
+         //implementation group: 'org.springframework', name: 'spring-websocket', version: "${springVersion}"
          // https://mvnrepository.com/artifact/org.springframework.retry/spring-retry
-         implementation  group: 'org.springframework.retry', name: 'spring-retry', version: "${springretryVersion}"
+         implementation group: 'org.springframework.retry', name: 'spring-retry', version: "${springretryVersion}"
+         testImplementation group: 'org.springframework', name: 'spring-test', version: "${springVersion}"
          
          //spring-security
-         implementation  group: 'org.springframework.security', name: 'spring-security-core', version: "${springSecurityVersion}"
-         implementation  group: 'org.springframework.security', name: 'spring-security-web', version: "${springSecurityVersion}"
-         implementation  group: 'org.springframework.security', name: 'spring-security-crypto', version: "${springSecurityVersion}"
+         implementation group: 'org.springframework.security', name: 'spring-security-core', version: "${springSecurityVersion}"
+         implementation group: 'org.springframework.security', name: 'spring-security-web', version: "${springSecurityVersion}"
+         implementation group: 'org.springframework.security', name: 'spring-security-crypto', version: "${springSecurityVersion}"
          //srpingboot
-         implementation  group: 'org.springframework.boot', name: 'spring-boot', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-actuator', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-actuator-autoconfigure', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-autoconfigure', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-freemarker', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-json', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-log4j2', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-logging', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-web', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-webflux', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-reactor-netty', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis-reactive', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-validation', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-actuator', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-actuator-autoconfigure', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-autoconfigure', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-freemarker', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-json', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-log4j2', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-logging', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-webflux', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-reactor-netty', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis-reactive', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation', version: "${springBootVersion}"
          
          testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test', version:  "${springBootVersion}"
          //spring-boot-admin
          implementation group: 'de.codecentric', name: 'spring-boot-admin-client', version: "${springbootadminVersion}"
          implementation group: 'de.codecentric', name: 'spring-boot-admin-starter-client', version: "${springbootadminVersion}"
          //spring-data
-         implementation  group: 'org.springframework.data', name: 'spring-data-commons', version: "${springDataVersion}"
-         implementation  group: 'org.springframework.data', name: 'spring-data-keyvalue', version: "${springDataVersion}"
-         implementation  group: 'org.springframework.data', name: 'spring-data-redis', version: "${springDataVersion}"
+         implementation group: 'org.springframework.data', name: 'spring-data-commons', version: "${springDataVersion}"
+         implementation group: 'org.springframework.data', name: 'spring-data-keyvalue', version: "${springDataVersion}"
+         implementation group: 'org.springframework.data', name: 'spring-data-redis', version: "${springDataVersion}"
          //spring-session
-         implementation  group: 'org.springframework.session', name: 'spring-session-core', version: "${springSessionVersion}"
-         implementation  group: 'org.springframework.session', name: 'spring-session-data-redis', version: "${springSessionVersion}"
+         implementation group: 'org.springframework.session', name: 'spring-session-core', version: "${springSessionVersion}"
+         implementation group: 'org.springframework.session', name: 'spring-session-data-redis', version: "${springSessionVersion}"
          
-         //implementation  group: 'org.springframework.plugin', name: 'spring-plugin-core', version: "${springplugincoreVersion}"
-         //implementation  group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: "${springpluginmetadataVersion}"
+         //implementation group: 'org.springframework.plugin', name: 'spring-plugin-core', version: "${springplugincoreVersion}"
+         //implementation group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: "${springpluginmetadataVersion}"
          //spring cloud
-         implementation  group: 'org.springframework.cloud', name: 'spring-cloud-commons', version: "${springcloudVersion}"
-         implementation  group: 'org.springframework.cloud', name: 'spring-cloud-context', version: "${springcloudVersion}"
-         implementation  group: 'org.springframework.cloud', name: 'spring-cloud-starter', version: "${springcloudVersion}"
-         implementation  group: 'org.springframework.cloud', name: 'spring-cloud-starter-bootstrap', version: "${springcloudVersion}"
+         implementation group: 'org.springframework.cloud', name: 'spring-cloud-commons', version: "${springcloudVersion}"
+         implementation group: 'org.springframework.cloud', name: 'spring-cloud-context', version: "${springcloudVersion}"
+         implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter', version: "${springcloudVersion}"
+         implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-bootstrap', version: "${springcloudVersion}"
          //spring-cloud-alibaba
-         implementation  group: 'com.alibaba.spring', name: 'spring-context-support', version: "${springcloudalibabaspringVersion}"
-         implementation  group: 'com.alibaba.cloud', name: 'spring-cloud-alibaba-commons', version: "${springcloudalibabaVersion}"
+         implementation group: 'com.alibaba.spring', name: 'spring-context-support', version: "${springcloudalibabaspringVersion}"
+         implementation group: 'com.alibaba.cloud', name: 'spring-cloud-alibaba-commons', version: "${springcloudalibabaVersion}"
          //alibaba nacos
-         implementation  group: 'com.alibaba.nacos', name: 'nacos-client', version: "${alibabanacosclientVersion}"
-         implementation  group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-discovery', version: "${springcloudalibabaVersion}"
-         implementation  group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-config', version: "${springcloudalibabaVersion}"
+         implementation group: 'com.alibaba.nacos', name: 'nacos-client', version: "${alibabanacosclientVersion}"
+         implementation group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-discovery', version: "${springcloudalibabaVersion}"
+         implementation group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-config', version: "${springcloudalibabaVersion}"
          
-         //saml 
-         //implementation  group: 'org.opensaml', name: 'opensaml', version: "${opensamlVersion}"
-         //implementation  group: 'org.opensaml', name: 'openws', version: "${openwsVersion}"
-         //implementation  group: 'org.opensaml', name: 'xmltooling', version: "${xmltoolingVersion}"
-         implementation  group: 'net.shibboleth.utilities', name: 'java-support', version: "${javasupportVersion}"
+         //Message Queue
+         //kafka support
+         // https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients
+         implementation group: 'org.apache.kafka', name: 'kafka-clients', version: "${kafkaclientsVersion}"
+         // https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka
+         implementation group: 'org.springframework.kafka', name: 'spring-kafka', version: "${springkafkaVersion}"
+         //rocketmq
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-common', version: "${rocketmqclientVersion}"
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-remoting', version: "${rocketmqclientVersion}"
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-logging', version: "${rocketmqclientVersion}"
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-client', version: "${rocketmqclientVersion}"
+         // https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-spring-boot
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-spring-boot', version: "${rocketmqspringbootVersion}"
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-spring-boot-starter', version: "${rocketmqspringbootVersion}"
+
+         //saml see maxkey-lib
+         //implementation group: 'org.opensaml', name: 'opensaml', version: "${opensamlVersion}"
+         //implementation group: 'org.opensaml', name: 'openws', version: "${openwsVersion}"
+         //implementation group: 'org.opensaml', name: 'xmltooling', version: "${xmltoolingVersion}"
+         implementation group: 'net.shibboleth.utilities', name: 'java-support', version: "${javasupportVersion}"
          //jose-jwt
-         implementation  group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: "${nimbusjosejwtVersion}"
-         implementation  group: 'net.jcip', name: 'jcip-annotations', version: "${jcipannotationsVersion}"
-         implementation  group: 'net.minidev', name: 'json-smart', version: "${minidevjsonsmartVersion}"
-         implementation  group: 'net.minidev', name: 'asm', version: "${minidevasmVersion}"
+         implementation group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: "${nimbusjosejwtVersion}"
+         implementation group: 'net.jcip', name: 'jcip-annotations', version: "${jcipannotationsVersion}"
+         implementation group: 'net.minidev', name: 'json-smart', version: "${minidevjsonsmartVersion}"
+         implementation group: 'net.minidev', name: 'asm', version: "${minidevasmVersion}"
          //oauth third party JustAuth
-         implementation  group: 'com.xkcoding.http', name: 'simple-http', version: "${simplehttpVersion}"
-         implementation  group: 'me.zhyd.oauth', name: 'JustAuth', version: "${JustAuthVersion}"
+         implementation group: 'com.xkcoding.http', name: 'simple-http', version: "${simplehttpVersion}"
+         implementation group: 'me.zhyd.oauth', name: 'JustAuth', version: "${JustAuthVersion}"
          //common
-         implementation  group: 'org.javassist', name: 'javassist', version: "${javassistVersion}"
-         implementation  group: 'org.owasp.esapi', name: 'esapi', version: "${esapiVersion}"
-         implementation  group: 'com.sun.mail', name: 'javax.mail', version: "${javaxmailVersion}"
+         implementation group: 'org.javassist', name: 'javassist', version: "${javassistVersion}"
+         implementation group: 'org.owasp.esapi', name: 'esapi', version: "${esapiVersion}"
+         implementation group: 'com.sun.mail', name: 'javax.mail', version: "${javaxmailVersion}"
          // https://mvnrepository.com/artifact/org.eclipse.persistence/javax.persistence
          // for mybatis-jpa-extra
-         implementation  group: 'org.eclipse.persistence', name: 'javax.persistence', version: "${javaxpersistenceVersion}"
-         implementation  group: 'jakarta.persistence', name: 'jakarta.persistence-api', version: '3.0.0'
-         implementation  group: 'jakarta.annotation', name: 'jakarta.annotation-api', version: "${jakartaannotationVersion}"
-         implementation  group: 'jakarta.validation', name: 'jakarta.validation-api', version: "${jakartavalidationapiVersion}"
-         implementation  group: 'javax.activation', name: 'activation', version: "${activationVersion}"
-         implementation  group: 'javax.annotation', name: 'javax.annotation-api', version: "${javaxannotationapiVersion}"
-         implementation  group: 'javax.transaction', name: 'jta', version: "${jtaVersion}"
-         implementation  group: 'javax.transaction', name: 'javax.transaction-api', version: "${javaxtransactionapiVersion}"
-         implementation  group: 'javax.validation', name: 'validation-api', version: "${validationapiVersion}"
-         implementation  group: 'javax.xml', name: 'jsr173', version: "${jsr173Version}"
-         implementation  group: 'javax.xml.bind', name: 'jaxb-api', version: "${jaxbapiVersion}"
-         implementation  group: 'com.sun.xml.bind', name: 'jaxb-core', version: "${jaxbcoreVersion}"
-         implementation  group: 'com.sun.xml.bind', name: 'jaxb-impl', version: "${jaxbimplVersion}"
-         implementation  group: 'com.sun.xml.bind', name: 'jaxb-xjc',  version: "${jaxbxjcVersion}"
+         implementation group: 'org.eclipse.persistence', name: 'javax.persistence', version: "${javaxpersistenceVersion}"
+         implementation group: 'jakarta.persistence', name: 'jakarta.persistence-api', version: '3.0.0'
+         implementation group: 'jakarta.annotation', name: 'jakarta.annotation-api', version: "${jakartaannotationVersion}"
+         implementation group: 'jakarta.validation', name: 'jakarta.validation-api', version: "${jakartavalidationapiVersion}"
+         implementation group: 'javax.activation', name: 'activation', version: "${activationVersion}"
+         implementation group: 'javax.annotation', name: 'javax.annotation-api', version: "${javaxannotationapiVersion}"
+         implementation group: 'javax.transaction', name: 'jta', version: "${jtaVersion}"
+         implementation group: 'javax.transaction', name: 'javax.transaction-api', version: "${javaxtransactionapiVersion}"
+         implementation group: 'javax.validation', name: 'validation-api', version: "${validationapiVersion}"
+         implementation group: 'javax.xml', name: 'jsr173', version: "${jsr173Version}"
+         implementation group: 'javax.xml.bind', name: 'jaxb-api', version: "${jaxbapiVersion}"
+         implementation group: 'com.sun.xml.bind', name: 'jaxb-core', version: "${jaxbcoreVersion}"
+         implementation group: 'com.sun.xml.bind', name: 'jaxb-impl', version: "${jaxbimplVersion}"
+         implementation group: 'com.sun.xml.bind', name: 'jaxb-xjc',  version: "${jaxbxjcVersion}"
          //crypto
-         implementation  group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: "${bouncycastleVersion}"
-         implementation  group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: "${bouncycastleVersion}"
-         implementation  group: 'org.bouncycastle', name: 'bcprov-ext-jdk15on', version: "${bouncycastleVersion}"
+         implementation group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: "${bouncycastleVersion}"
+         implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: "${bouncycastleVersion}"
+         implementation group: 'org.bouncycastle', name: 'bcprov-ext-jdk15on', version: "${bouncycastleVersion}"
          //google
-         implementation  group: 'com.google.crypto.tink', name: 'tink', version: "${tinkVersion}"
+         implementation group: 'com.google.crypto.tink', name: 'tink', version: "${tinkVersion}"
          //kaptcha
-         implementation  group: 'com.jhlabs', name: 'filters', version: "${jhlabsfiltersVersion}"
-         implementation  group: 'com.github.penggle', name: 'kaptcha', version: "${kaptchaVersion}"
+         implementation group: 'com.jhlabs', name: 'filters', version: "${jhlabsfiltersVersion}"
+         implementation group: 'com.github.penggle', name: 'kaptcha', version: "${kaptchaVersion}"
          //json
-         implementation  group: 'com.google.code.gson', name: 'gson', version: "${gsonVersion}"
+         implementation group: 'com.google.code.gson', name: 'gson', version: "${gsonVersion}"
          //reactive
-         implementation  group: 'org.reactivestreams', name: 'reactive-streams', version: "${reactivestreamsVersion}"
-         implementation  group: 'io.projectreactor', name: 'reactor-core', version: "${reactorcoreVersion}"
-         implementation  group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: "${szxcvbnVersion}"
+         implementation group: 'org.reactivestreams', name: 'reactive-streams', version: "${reactivestreamsVersion}"
+         implementation group: 'io.projectreactor', name: 'reactor-core', version: "${reactorcoreVersion}"
+         implementation group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: "${szxcvbnVersion}"
          //quartz
-         implementation  group: 'org.quartz-scheduler', name: 'quartz', version: "${quartzVersion}"
+         implementation group: 'org.quartz-scheduler', name: 'quartz', version: "${quartzVersion}"
          //database
-         implementation  group: 'mysql', name: 'mysql-connector-java', version: "${mysqlconnectorjavaVersion}"
-         implementation  group: 'org.postgresql', name: 'postgresql', version: "${postgresqlVersion}"
-         implementation  group: 'com.alibaba', name: 'druid', version: "${druidVersion}"
-         implementation  group: 'com.alibaba', name: 'druid-spring-boot-starter', version: "${druidspringbootstarterVersion}"
-         implementation  group: 'redis.clients', name: 'jedis', version: "${jedisVersion}"
-         //implementation  group: 'org.liquibase', name: 'liquibase-core', version: '4.3.5'
+         implementation group: 'mysql', name: 'mysql-connector-java', version: "${mysqlconnectorjavaVersion}"
+         implementation group: 'org.postgresql', name: 'postgresql', version: "${postgresqlVersion}"
+         implementation group: 'com.alibaba', name: 'druid', version: "${druidVersion}"
+         implementation group: 'com.alibaba', name: 'druid-spring-boot-starter', version: "${druidspringbootstarterVersion}"
+         implementation group: 'redis.clients', name: 'jedis', version: "${jedisVersion}"
+         //implementation group: 'org.liquibase', name: 'liquibase-core', version: '4.3.5'
          implementation group: 'com.github.ben-manes.caffeine', name: 'caffeine', version: "${caffeineVersion}"
          //mybatis
-         implementation  group: 'org.mybatis', name: 'mybatis', version: "${mybatisVersion}"
-         implementation  group: 'org.mybatis', name: 'mybatis-spring', version: "${mybatisspringVersion}"
+         implementation group: 'org.mybatis', name: 'mybatis', version: "${mybatisVersion}"
+         implementation group: 'org.mybatis', name: 'mybatis-spring', version: "${mybatisspringVersion}"
          //hibernate
-         implementation  group: 'org.hibernate.validator', name: 'hibernate-validator', version: "${hibernateVersion}"
-         implementation  group: 'org.hibernate', name: 'hibernate-validator-cdi', version: "${hibernateVersion}"
-         implementation  group: 'org.hibernate.validator', name: 'hibernate-validator-annotation-processor', version: "${hibernateVersion}"
+         implementation group: 'org.hibernate.validator', name: 'hibernate-validator', version: "${hibernateVersion}"
+         implementation group: 'org.hibernate', name: 'hibernate-validator-cdi', version: "${hibernateVersion}"
+         implementation group: 'org.hibernate.validator', name: 'hibernate-validator-annotation-processor', version: "${hibernateVersion}"
          //usefull
-         implementation  group: 'joda-time', name: 'joda-time', version: "${jodatimeVersion}"
-         implementation  group: 'org.yaml', name: 'snakeyaml', version: "${snakeyamlVersion}"
-         implementation  group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: "${nekohtmlVersion}"
-         implementation  group: 'org.jdom', name: 'jdom', version: "${jdomVersion}"
-         implementation  group: 'com.google.zxing', name: 'core', version: "${zxingcoreVersion}"
-         implementation  group: 'com.google.guava', name: 'guava', version: "${guavaVersion}"
-         implementation  group: 'ognl', name: 'ognl', version: "${ognlVersion}"
-         implementation  group: 'cglib', name: 'cglib', version: "${cglibVersion}"
-         implementation  group: 'org.ow2.asm', name: 'asm', version: "${asmVersion}"
-         implementation  group: 'aopalliance', name: 'aopalliance', version: "${aopallianceVersion}"
-         implementation  group: 'org.aspectj', name: 'aspectjtools', version: "${aspectjtoolsVersion}"
-         implementation  group: 'dom4j', name: 'dom4j', version: "${dom4jVersion}"
-         implementation  group: 'xalan', name: 'serializer', version: "${serializerVersion}"
-         implementation  group: 'xml-resolver', name: 'xml-resolver', version: "${xmlresolverVersion}"
-         implementation  group: 'org.apache.santuario', name: 'xmlsec', version: "${xmlsecVersion}"
-         implementation  group: 'org.ogce', name: 'xpp3', version: "${xpp3Version}"
-         implementation  group: 'com.thoughtworks.xstream', name: 'xstream', version: "${xstreamVersion}"
-         implementation  group: 'org.passay', name: 'passay', version: "${passayVersion}"
-         implementation  group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}"
-         implementation  group: 'io.micrometer', name: 'micrometer-registry-prometheus', version: "${micrometercoreVersion}"
-         implementation  group: 'org.latencyutils', name: 'LatencyUtils', version: "${LatencyUtilsVersion}"
-         implementation  group: 'org.codehaus.woodstox', name: 'stax2-api', version: "${stax2apiVersion}"
-         implementation  group: 'org.reflections', name: 'reflections', version: '0.9.11'
-         implementation  group: 'io.prometheus', name: 'simpleclient', version: "${prometheusVersion}"
-         implementation  group: 'io.prometheus', name: 'simpleclient_common', version: "${prometheusVersion}"
-         implementation  group: 'com.belerweb', name: 'pinyin4j', version: "${pinyin4jVersion}"
+         implementation group: 'joda-time', name: 'joda-time', version: "${jodatimeVersion}"
+         implementation group: 'org.yaml', name: 'snakeyaml', version: "${snakeyamlVersion}"
+         implementation group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: "${nekohtmlVersion}"
+         implementation group: 'org.jdom', name: 'jdom', version: "${jdomVersion}"
+         implementation group: 'com.google.zxing', name: 'core', version: "${zxingcoreVersion}"
+         implementation group: 'com.google.guava', name: 'guava', version: "${guavaVersion}"
+         implementation group: 'ognl', name: 'ognl', version: "${ognlVersion}"
+         implementation group: 'cglib', name: 'cglib', version: "${cglibVersion}"
+         implementation group: 'org.ow2.asm', name: 'asm', version: "${asmVersion}"
+         implementation group: 'aopalliance', name: 'aopalliance', version: "${aopallianceVersion}"
+         implementation group: 'org.aspectj', name: 'aspectjtools', version: "${aspectjtoolsVersion}"
+         implementation group: 'dom4j', name: 'dom4j', version: "${dom4jVersion}"
+         implementation group: 'xalan', name: 'serializer', version: "${serializerVersion}"
+         implementation group: 'xml-resolver', name: 'xml-resolver', version: "${xmlresolverVersion}"
+         implementation group: 'org.apache.santuario', name: 'xmlsec', version: "${xmlsecVersion}"
+         implementation group: 'org.ogce', name: 'xpp3', version: "${xpp3Version}"
+         implementation group: 'com.thoughtworks.xstream', name: 'xstream', version: "${xstreamVersion}"
+         implementation group: 'org.passay', name: 'passay', version: "${passayVersion}"
+         implementation group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}"
+         implementation group: 'io.micrometer', name: 'micrometer-registry-prometheus', version: "${micrometercoreVersion}"
+         implementation group: 'org.latencyutils', name: 'LatencyUtils', version: "${LatencyUtilsVersion}"
+         implementation group: 'org.codehaus.woodstox', name: 'stax2-api', version: "${stax2apiVersion}"
+         implementation group: 'org.reflections', name: 'reflections', version: '0.9.11'
+         implementation group: 'io.prometheus', name: 'simpleclient', version: "${prometheusVersion}"
+         implementation group: 'io.prometheus', name: 'simpleclient_common', version: "${prometheusVersion}"
+         implementation group: 'com.belerweb', name: 'pinyin4j', version: "${pinyin4jVersion}"
          
+         implementation group: 'io.netty', name: 'netty-all', version: "${nettyVersion}"
           //阿里云
-         implementation  group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}"
+         implementation group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}"
          //腾讯云
-         implementation  group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: "${tencentcloudsdkjavaVersion}"
+         implementation group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: "${tencentcloudsdkjavaVersion}"
          //json
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jdk8', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.module', name: 'jackson-module-parameter-names', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.module', name: 'jackson-module-jaxb-annotations', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.module', name: 'jackson-module-jakarta-xmlbind-annotations', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml', name: 'classmate', version: "${classmateVersion}"
-         implementation  group: 'com.fasterxml.woodstox', name: 'woodstox-core', version: "${woodstoxVersion}"
-         implementation  group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
+         implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jdk8', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-parameter-names', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-jaxb-annotations', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-jakarta-xmlbind-annotations', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml', name: 'classmate', version: "${classmateVersion}"
+         implementation group: 'com.fasterxml.woodstox', name: 'woodstox-core', version: "${woodstoxVersion}"
+         implementation group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
          //docs
-         implementation  group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
-         //implementation  group: 'io.swagger', name: 'swagger-annotations', version: "${swaggerVersion}"
-         //implementation  group: 'io.swagger', name: 'swagger-models', version: "${swaggerVersion}"
-         implementation  group: 'io.swagger.core.v3', name: 'swagger-annotations', version: "${swaggerV3Version}"
-         implementation  group: 'io.swagger.core.v3', name: 'swagger-core', version: "${swaggerV3Version}"
-         implementation  group: 'io.swagger.core.v3', name: 'swagger-integration', version: "${swaggerV3Version}"
-         implementation  group: 'io.swagger.core.v3', name: 'swagger-models', version: "${swaggerV3Version}"
+         implementation group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
+         //implementation group: 'io.swagger', name: 'swagger-annotations', version: "${swaggerVersion}"
+         //implementation group: 'io.swagger', name: 'swagger-models', version: "${swaggerVersion}"
+         implementation group: 'io.swagger.core.v3', name: 'swagger-annotations', version: "${swaggerV3Version}"
+         implementation group: 'io.swagger.core.v3', name: 'swagger-core', version: "${swaggerV3Version}"
+         implementation group: 'io.swagger.core.v3', name: 'swagger-integration', version: "${swaggerV3Version}"
+         implementation group: 'io.swagger.core.v3', name: 'swagger-models', version: "${swaggerV3Version}"
          //springdoc
          implementation group: 'io.github.classgraph', name: 'classgraph', version: '4.8.137'
          implementation group: 'org.springdoc', name: 'springdoc-openapi-common', version: "${springdocVersion}"

+ 220 - 209
config/build_docker.gradle

@@ -130,257 +130,268 @@ subprojects {
          testImplementation group: 'xmlunit', name: 'xmlunit', version: "${xmlunitVersion}"
 
          //apache
-         implementation  group: 'commons-beanutils', name: 'commons-beanutils', version: "${commonsbeanutilsVersion}"
-         implementation  group: 'commons-codec', name: 'commons-codec', version: "${commonscodecVersion}"
-         implementation  group: 'commons-collections', name: 'commons-collections', version: "${commonscollectionsVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-collections4', version: "${commonscollections4Version}"
-         //implementation  group: 'org.apache.commons', name: 'commons-csv', version: "${commonscsvVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-text', version: "${commonstextVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-dbcp2', version: "${commonsdbcp2Version}"
-         implementation  group: 'commons-dbutils', name: 'commons-dbutils', version: "${commonsdbutilsVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-digester3', version: "${commonsdigester3Version}"
-         implementation  group: 'commons-digester', name: 'commons-digester', version: "${commonsdigesterVersion}"
-         implementation  group: 'commons-io', name: 'commons-io', version: "${commonsioVersion}"
-         implementation  group: 'commons-lang', name: 'commons-lang', version: "${commonslangVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-lang3', version: "${commonslang3Version}"
-         implementation  group: 'commons-logging', name: 'commons-logging', version: "${commonsloggingVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-pool2', version: "${commonspool2Version}"
-         implementation  group: 'commons-httpclient', name: 'commons-httpclient', version: "${commonshttpclientVersion}"
-         implementation  group: 'commons-fileupload', name: 'commons-fileupload', version: "${commonsfileuploadVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-email', version: "${commonsemailVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpasyncclient', version: "${httpasyncclientVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpclient', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'fluent-hc', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpclient-cache', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpmime', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpcore', version: "${httpcoreVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpcore-nio', version: "${httpcoreVersion}"
-         implementation  group: 'org.apache.velocity', name: 'velocity', version: "${velocityVersion}"
-         implementation  group: 'velocity', name: 'velocity-dep', version: "${velocitydepVersion}"
-         implementation  group: 'org.freemarker', name: 'freemarker', version: "${freemarkerVersion}"
-         implementation  group: 'org.apache.xmlbeans', name: 'xmlbeans', version:  "${xmlbeansVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-compress', version: "${commonscompressVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi', version: "${poiVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi-excelant', version: "${poiVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi-ooxml', version: "${poiVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi-ooxml-full', version: "${poiVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi-scratchpad', version: "${poiVersion}"
-         //implementation  group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: "${notyetcommonssslVersion}"
+         implementation group: 'commons-beanutils', name: 'commons-beanutils', version: "${commonsbeanutilsVersion}"
+         implementation group: 'commons-codec', name: 'commons-codec', version: "${commonscodecVersion}"
+         implementation group: 'commons-collections', name: 'commons-collections', version: "${commonscollectionsVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-collections4', version: "${commonscollections4Version}"
+         //implementation group: 'org.apache.commons', name: 'commons-csv', version: "${commonscsvVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-text', version: "${commonstextVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-dbcp2', version: "${commonsdbcp2Version}"
+         implementation group: 'commons-dbutils', name: 'commons-dbutils', version: "${commonsdbutilsVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-digester3', version: "${commonsdigester3Version}"
+         implementation group: 'commons-digester', name: 'commons-digester', version: "${commonsdigesterVersion}"
+         implementation group: 'commons-io', name: 'commons-io', version: "${commonsioVersion}"
+         implementation group: 'commons-lang', name: 'commons-lang', version: "${commonslangVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-lang3', version: "${commonslang3Version}"
+         implementation group: 'commons-logging', name: 'commons-logging', version: "${commonsloggingVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-pool2', version: "${commonspool2Version}"
+         implementation group: 'commons-httpclient', name: 'commons-httpclient', version: "${commonshttpclientVersion}"
+         implementation group: 'commons-fileupload', name: 'commons-fileupload', version: "${commonsfileuploadVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-email', version: "${commonsemailVersion}"
+         implementation group: 'commons-validator', name: 'commons-validator', version: "${commonsvalidatorVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpasyncclient', version: "${httpasyncclientVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpclient', version: "${httpcomponentsVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'fluent-hc', version: "${httpcomponentsVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpclient-cache', version: "${httpcomponentsVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpmime', version: "${httpcomponentsVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpcore', version: "${httpcoreVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpcore-nio', version: "${httpcoreVersion}"
+         implementation group: 'org.apache.velocity', name: 'velocity', version: "${velocityVersion}"
+         implementation group: 'velocity', name: 'velocity-dep', version: "${velocitydepVersion}"
+         implementation group: 'org.freemarker', name: 'freemarker', version: "${freemarkerVersion}"
+         implementation group: 'org.apache.xmlbeans', name: 'xmlbeans', version:  "${xmlbeansVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-compress', version: "${commonscompressVersion}"
+         implementation group: 'org.apache.poi', name: 'poi', version: "${poiVersion}"
+         implementation group: 'org.apache.poi', name: 'poi-excelant', version: "${poiVersion}"
+         implementation group: 'org.apache.poi', name: 'poi-ooxml', version: "${poiVersion}"
+         implementation group: 'org.apache.poi', name: 'poi-ooxml-full', version: "${poiVersion}"
+         implementation group: 'org.apache.poi', name: 'poi-scratchpad', version: "${poiVersion}"
+         //implementation group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: "${notyetcommonssslVersion}"
          //tomcat embed Core Tomcat implementation
-         implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
-         implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-el', version: "${tomcatVersion}"
-         implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-websocket', version: "${tomcatVersion}"
+         implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
+         implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-el', version: "${tomcatVersion}"
+         implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-websocket', version: "${tomcatVersion}"
          //JULI logging implementation for embedded Tomcat
-         implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-logging-juli', version: "${tomcatembedloggingjuliVersion}"
+         implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-logging-juli', version: "${tomcatembedloggingjuliVersion}"
          //apache logs
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-api', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-core', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-jcl', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-jul', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-web', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-jcl', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-jul', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-web', version: "${log4jVersion}"
         //logs
-         implementation  group: 'org.slf4j', name: 'slf4j-api', version: "${slf4jVersion}"
-         implementation  group: 'org.jboss.logging', name: 'jboss-logging', version: "${jbossloggingVersion}"
+         implementation group: 'org.slf4j', name: 'slf4j-api', version: "${slf4jVersion}"
+         implementation group: 'org.jboss.logging', name: 'jboss-logging', version: "${jbossloggingVersion}"
          //spring
-         implementation  group: 'org.springframework', name: 'spring-aop', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-aspects', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-beans', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-core', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-context', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-context-indexer', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-context-support', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-expression', version: "${springVersion}"
-         //implementation  group: 'org.springframework', name: 'spring-instrument', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-jcl', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-jdbc', version: "${springVersion}"
-         //implementation  group: 'org.springframework', name: 'spring-jms', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-messaging', version: "${springVersion}"
-         //implementation  group: 'org.springframework', name: 'spring-orm', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-oxm', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-tx', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-web', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-webflux', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-webmvc', version: "${springVersion}"
-         //implementation  group: 'org.springframework', name: 'spring-websocket', version: "${springVersion}"
-         testImplementation  group: 'org.springframework', name: 'spring-test', version: "${springVersion}"
-         
-         //kafka support
-         // https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients
-         implementation  group: 'org.apache.kafka', name: 'kafka-clients', version: "${kafkaclientsVersion}"
-         // https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka
-         implementation  group: 'org.springframework.kafka', name: 'spring-kafka', version: "${springkafkaVersion}"
+         implementation group: 'org.springframework', name: 'spring-aop', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-aspects', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-beans', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-core', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-context', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-context-indexer', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-context-support', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-expression', version: "${springVersion}"
+         //implementation group: 'org.springframework', name: 'spring-instrument', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-jcl', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-jdbc', version: "${springVersion}"
+         //implementation group: 'org.springframework', name: 'spring-jms', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-messaging', version: "${springVersion}"
+         //implementation group: 'org.springframework', name: 'spring-orm', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-oxm', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-tx', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-web', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-webflux', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-webmvc', version: "${springVersion}"
+         //implementation group: 'org.springframework', name: 'spring-websocket', version: "${springVersion}"
          // https://mvnrepository.com/artifact/org.springframework.retry/spring-retry
-         implementation  group: 'org.springframework.retry', name: 'spring-retry', version: "${springretryVersion}"
+         implementation group: 'org.springframework.retry', name: 'spring-retry', version: "${springretryVersion}"
+         testimplementation group: 'org.springframework', name: 'spring-test', version: "${springVersion}"
          
          //spring-security
-         implementation  group: 'org.springframework.security', name: 'spring-security-core', version: "${springSecurityVersion}"
-         implementation  group: 'org.springframework.security', name: 'spring-security-web', version: "${springSecurityVersion}"
-         implementation  group: 'org.springframework.security', name: 'spring-security-crypto', version: "${springSecurityVersion}"
+         implementation group: 'org.springframework.security', name: 'spring-security-core', version: "${springSecurityVersion}"
+         implementation group: 'org.springframework.security', name: 'spring-security-web', version: "${springSecurityVersion}"
+         implementation group: 'org.springframework.security', name: 'spring-security-crypto', version: "${springSecurityVersion}"
          //srpingboot
-         implementation  group: 'org.springframework.boot', name: 'spring-boot', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-actuator', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-actuator-autoconfigure', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-autoconfigure', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-freemarker', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-json', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-log4j2', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-logging', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-web', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-webflux', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-reactor-netty', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis-reactive', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-validation', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-actuator', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-actuator-autoconfigure', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-autoconfigure', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-freemarker', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-json', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-log4j2', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-logging', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-webflux', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-reactor-netty', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis-reactive', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation', version: "${springBootVersion}"
          
          testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test', version:  "${springBootVersion}"
          //spring-boot-admin
          implementation group: 'de.codecentric', name: 'spring-boot-admin-client', version: "${springbootadminVersion}"
          implementation group: 'de.codecentric', name: 'spring-boot-admin-starter-client', version: "${springbootadminVersion}"
          //spring-data
-         implementation  group: 'org.springframework.data', name: 'spring-data-commons', version: "${springDataVersion}"
-         implementation  group: 'org.springframework.data', name: 'spring-data-keyvalue', version: "${springDataVersion}"
-         implementation  group: 'org.springframework.data', name: 'spring-data-redis', version: "${springDataVersion}"
+         implementation group: 'org.springframework.data', name: 'spring-data-commons', version: "${springDataVersion}"
+         implementation group: 'org.springframework.data', name: 'spring-data-keyvalue', version: "${springDataVersion}"
+         implementation group: 'org.springframework.data', name: 'spring-data-redis', version: "${springDataVersion}"
          //spring-session
-         implementation  group: 'org.springframework.session', name: 'spring-session-core', version: "${springSessionVersion}"
-         implementation  group: 'org.springframework.session', name: 'spring-session-data-redis', version: "${springSessionVersion}"
+         implementation group: 'org.springframework.session', name: 'spring-session-core', version: "${springSessionVersion}"
+         implementation group: 'org.springframework.session', name: 'spring-session-data-redis', version: "${springSessionVersion}"
          
-         //implementation  group: 'org.springframework.plugin', name: 'spring-plugin-core', version: "${springplugincoreVersion}"
-         //implementation  group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: "${springpluginmetadataVersion}"
+         //implementation group: 'org.springframework.plugin', name: 'spring-plugin-core', version: "${springplugincoreVersion}"
+         //implementation group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: "${springpluginmetadataVersion}"
          //spring cloud
-         implementation  group: 'org.springframework.cloud', name: 'spring-cloud-commons', version: "${springcloudVersion}"
-         implementation  group: 'org.springframework.cloud', name: 'spring-cloud-context', version: "${springcloudVersion}"
-         implementation  group: 'org.springframework.cloud', name: 'spring-cloud-starter', version: "${springcloudVersion}"
-         implementation  group: 'org.springframework.cloud', name: 'spring-cloud-starter-bootstrap', version: "${springcloudVersion}"
+         implementation group: 'org.springframework.cloud', name: 'spring-cloud-commons', version: "${springcloudVersion}"
+         implementation group: 'org.springframework.cloud', name: 'spring-cloud-context', version: "${springcloudVersion}"
+         implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter', version: "${springcloudVersion}"
+         implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-bootstrap', version: "${springcloudVersion}"
          //spring-cloud-alibaba
-         implementation  group: 'com.alibaba.spring', name: 'spring-context-support', version: "${springcloudalibabaspringVersion}"
-         implementation  group: 'com.alibaba.cloud', name: 'spring-cloud-alibaba-commons', version: "${springcloudalibabaVersion}"
+         implementation group: 'com.alibaba.spring', name: 'spring-context-support', version: "${springcloudalibabaspringVersion}"
+         implementation group: 'com.alibaba.cloud', name: 'spring-cloud-alibaba-commons', version: "${springcloudalibabaVersion}"
          //alibaba nacos
-         implementation  group: 'com.alibaba.nacos', name: 'nacos-client', version: "${alibabanacosclientVersion}"
-         implementation  group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-discovery', version: "${springcloudalibabaVersion}"
-         implementation  group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-config', version: "${springcloudalibabaVersion}"
+         implementation group: 'com.alibaba.nacos', name: 'nacos-client', version: "${alibabanacosclientVersion}"
+         implementation group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-discovery', version: "${springcloudalibabaVersion}"
+         implementation group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-config', version: "${springcloudalibabaVersion}"
+         
+         //Message Queue
+         //kafka support
+         // https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients
+         implementation group: 'org.apache.kafka', name: 'kafka-clients', version: "${kafkaclientsVersion}"
+         // https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka
+         implementation group: 'org.springframework.kafka', name: 'spring-kafka', version: "${springkafkaVersion}"
+         //rocketmq
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-common', version: "${rocketmqclientVersion}"
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-remoting', version: "${rocketmqclientVersion}"
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-logging', version: "${rocketmqclientVersion}"
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-client', version: "${rocketmqclientVersion}"
+         // https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-spring-boot
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-spring-boot', version: "${rocketmqspringbootVersion}"
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-spring-boot-starter', version: "${rocketmqspringbootVersion}"
          
-         //saml 
-         //implementation  group: 'org.opensaml', name: 'opensaml', version: "${opensamlVersion}"
-         //implementation  group: 'org.opensaml', name: 'openws', version: "${openwsVersion}"
-         //implementation  group: 'org.opensaml', name: 'xmltooling', version: "${xmltoolingVersion}"
-         implementation  group: 'net.shibboleth.utilities', name: 'java-support', version: "${javasupportVersion}"
+         //saml see maxkey-lib
+         //implementation group: 'org.opensaml', name: 'opensaml', version: "${opensamlVersion}"
+         //implementation group: 'org.opensaml', name: 'openws', version: "${openwsVersion}"
+         //implementation group: 'org.opensaml', name: 'xmltooling', version: "${xmltoolingVersion}"
+         implementation group: 'net.shibboleth.utilities', name: 'java-support', version: "${javasupportVersion}"
          //jose-jwt
-         implementation  group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: "${nimbusjosejwtVersion}"
-         implementation  group: 'net.jcip', name: 'jcip-annotations', version: "${jcipannotationsVersion}"
-         implementation  group: 'net.minidev', name: 'json-smart', version: "${minidevjsonsmartVersion}"
-         implementation  group: 'net.minidev', name: 'asm', version: "${minidevasmVersion}"
+         implementation group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: "${nimbusjosejwtVersion}"
+         implementation group: 'net.jcip', name: 'jcip-annotations', version: "${jcipannotationsVersion}"
+         implementation group: 'net.minidev', name: 'json-smart', version: "${minidevjsonsmartVersion}"
+         implementation group: 'net.minidev', name: 'asm', version: "${minidevasmVersion}"
          //oauth third party JustAuth
-         implementation  group: 'com.xkcoding.http', name: 'simple-http', version: "${simplehttpVersion}"
-         implementation  group: 'me.zhyd.oauth', name: 'JustAuth', version: "${JustAuthVersion}"
+         implementation group: 'com.xkcoding.http', name: 'simple-http', version: "${simplehttpVersion}"
+         implementation group: 'me.zhyd.oauth', name: 'JustAuth', version: "${JustAuthVersion}"
          //common
-         implementation  group: 'org.javassist', name: 'javassist', version: "${javassistVersion}"
-         implementation  group: 'org.owasp.esapi', name: 'esapi', version: "${esapiVersion}"
-         implementation  group: 'com.sun.mail', name: 'javax.mail', version: "${javaxmailVersion}"
+         implementation group: 'org.javassist', name: 'javassist', version: "${javassistVersion}"
+         implementation group: 'org.owasp.esapi', name: 'esapi', version: "${esapiVersion}"
+         implementation group: 'com.sun.mail', name: 'javax.mail', version: "${javaxmailVersion}"
          // https://mvnrepository.com/artifact/org.eclipse.persistence/javax.persistence
          // for mybatis-jpa-extra
-         implementation  group: 'org.eclipse.persistence', name: 'javax.persistence', version: "${javaxpersistenceVersion}"
-         implementation  group: 'jakarta.persistence', name: 'jakarta.persistence-api', version: '3.0.0'
-         implementation  group: 'jakarta.annotation', name: 'jakarta.annotation-api', version: "${jakartaannotationVersion}"
-         implementation  group: 'jakarta.validation', name: 'jakarta.validation-api', version: "${jakartavalidationapiVersion}"
-         implementation  group: 'javax.activation', name: 'activation', version: "${activationVersion}"
-         implementation  group: 'javax.annotation', name: 'javax.annotation-api', version: "${javaxannotationapiVersion}"
-         implementation  group: 'javax.transaction', name: 'jta', version: "${jtaVersion}"
-         implementation  group: 'javax.transaction', name: 'javax.transaction-api', version: "${javaxtransactionapiVersion}"
-         implementation  group: 'javax.validation', name: 'validation-api', version: "${validationapiVersion}"
-         implementation  group: 'javax.xml', name: 'jsr173', version: "${jsr173Version}"
-         implementation  group: 'javax.xml.bind', name: 'jaxb-api', version: "${jaxbapiVersion}"
-         implementation  group: 'com.sun.xml.bind', name: 'jaxb-core', version: "${jaxbcoreVersion}"
-         implementation  group: 'com.sun.xml.bind', name: 'jaxb-impl', version: "${jaxbimplVersion}"
-         implementation  group: 'com.sun.xml.bind', name: 'jaxb-xjc',  version: "${jaxbxjcVersion}"
+         implementation group: 'org.eclipse.persistence', name: 'javax.persistence', version: "${javaxpersistenceVersion}"
+         implementation group: 'jakarta.persistence', name: 'jakarta.persistence-api', version: '3.0.0'
+         implementation group: 'jakarta.annotation', name: 'jakarta.annotation-api', version: "${jakartaannotationVersion}"
+         implementation group: 'jakarta.validation', name: 'jakarta.validation-api', version: "${jakartavalidationapiVersion}"
+         implementation group: 'javax.activation', name: 'activation', version: "${activationVersion}"
+         implementation group: 'javax.annotation', name: 'javax.annotation-api', version: "${javaxannotationapiVersion}"
+         implementation group: 'javax.transaction', name: 'jta', version: "${jtaVersion}"
+         implementation group: 'javax.transaction', name: 'javax.transaction-api', version: "${javaxtransactionapiVersion}"
+         implementation group: 'javax.validation', name: 'validation-api', version: "${validationapiVersion}"
+         implementation group: 'javax.xml', name: 'jsr173', version: "${jsr173Version}"
+         implementation group: 'javax.xml.bind', name: 'jaxb-api', version: "${jaxbapiVersion}"
+         implementation group: 'com.sun.xml.bind', name: 'jaxb-core', version: "${jaxbcoreVersion}"
+         implementation group: 'com.sun.xml.bind', name: 'jaxb-impl', version: "${jaxbimplVersion}"
+         implementation group: 'com.sun.xml.bind', name: 'jaxb-xjc',  version: "${jaxbxjcVersion}"
          //crypto
-         implementation  group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: "${bouncycastleVersion}"
-         implementation  group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: "${bouncycastleVersion}"
-         implementation  group: 'org.bouncycastle', name: 'bcprov-ext-jdk15on', version: "${bouncycastleVersion}"
+         implementation group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: "${bouncycastleVersion}"
+         implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: "${bouncycastleVersion}"
+         implementation group: 'org.bouncycastle', name: 'bcprov-ext-jdk15on', version: "${bouncycastleVersion}"
          //google
-         implementation  group: 'com.google.crypto.tink', name: 'tink', version: "${tinkVersion}"
+         implementation group: 'com.google.crypto.tink', name: 'tink', version: "${tinkVersion}"
          //kaptcha
-         implementation  group: 'com.jhlabs', name: 'filters', version: "${jhlabsfiltersVersion}"
-         implementation  group: 'com.github.penggle', name: 'kaptcha', version: "${kaptchaVersion}"
+         implementation group: 'com.jhlabs', name: 'filters', version: "${jhlabsfiltersVersion}"
+         implementation group: 'com.github.penggle', name: 'kaptcha', version: "${kaptchaVersion}"
          //json
-         implementation  group: 'com.google.code.gson', name: 'gson', version: "${gsonVersion}"
+         implementation group: 'com.google.code.gson', name: 'gson', version: "${gsonVersion}"
          //reactive
-         implementation  group: 'org.reactivestreams', name: 'reactive-streams', version: "${reactivestreamsVersion}"
-         implementation  group: 'io.projectreactor', name: 'reactor-core', version: "${reactorcoreVersion}"
-         implementation  group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: "${szxcvbnVersion}"
+         implementation group: 'org.reactivestreams', name: 'reactive-streams', version: "${reactivestreamsVersion}"
+         implementation group: 'io.projectreactor', name: 'reactor-core', version: "${reactorcoreVersion}"
+         implementation group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: "${szxcvbnVersion}"
          //quartz
-         implementation  group: 'org.quartz-scheduler', name: 'quartz', version: "${quartzVersion}"
+         implementation group: 'org.quartz-scheduler', name: 'quartz', version: "${quartzVersion}"
          //database
-         implementation  group: 'mysql', name: 'mysql-connector-java', version: "${mysqlconnectorjavaVersion}"
-         implementation  group: 'org.postgresql', name: 'postgresql', version: "${postgresqlVersion}"
-         implementation  group: 'com.alibaba', name: 'druid', version: "${druidVersion}"
-         implementation  group: 'com.alibaba', name: 'druid-spring-boot-starter', version: "${druidspringbootstarterVersion}"
-         implementation  group: 'redis.clients', name: 'jedis', version: "${jedisVersion}"
-         //implementation  group: 'org.liquibase', name: 'liquibase-core', version: '4.3.5'
+         implementation group: 'mysql', name: 'mysql-connector-java', version: "${mysqlconnectorjavaVersion}"
+         implementation group: 'org.postgresql', name: 'postgresql', version: "${postgresqlVersion}"
+         implementation group: 'com.alibaba', name: 'druid', version: "${druidVersion}"
+         implementation group: 'com.alibaba', name: 'druid-spring-boot-starter', version: "${druidspringbootstarterVersion}"
+         implementation group: 'redis.clients', name: 'jedis', version: "${jedisVersion}"
+         //implementation group: 'org.liquibase', name: 'liquibase-core', version: '4.3.5'
          implementation group: 'com.github.ben-manes.caffeine', name: 'caffeine', version: "${caffeineVersion}"
          //mybatis
-         implementation  group: 'org.mybatis', name: 'mybatis', version: "${mybatisVersion}"
-         implementation  group: 'org.mybatis', name: 'mybatis-spring', version: "${mybatisspringVersion}"
+         implementation group: 'org.mybatis', name: 'mybatis', version: "${mybatisVersion}"
+         implementation group: 'org.mybatis', name: 'mybatis-spring', version: "${mybatisspringVersion}"
          //hibernate
-         implementation  group: 'org.hibernate.validator', name: 'hibernate-validator', version: "${hibernateVersion}"
-         implementation  group: 'org.hibernate', name: 'hibernate-validator-cdi', version: "${hibernateVersion}"
-         implementation  group: 'org.hibernate.validator', name: 'hibernate-validator-annotation-processor', version: "${hibernateVersion}"
+         implementation group: 'org.hibernate.validator', name: 'hibernate-validator', version: "${hibernateVersion}"
+         implementation group: 'org.hibernate', name: 'hibernate-validator-cdi', version: "${hibernateVersion}"
+         implementation group: 'org.hibernate.validator', name: 'hibernate-validator-annotation-processor', version: "${hibernateVersion}"
          //usefull
-         implementation  group: 'joda-time', name: 'joda-time', version: "${jodatimeVersion}"
-         implementation  group: 'org.yaml', name: 'snakeyaml', version: "${snakeyamlVersion}"
-         implementation  group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: "${nekohtmlVersion}"
-         implementation  group: 'org.jdom', name: 'jdom', version: "${jdomVersion}"
-         implementation  group: 'com.google.zxing', name: 'core', version: "${zxingcoreVersion}"
-         implementation  group: 'com.google.guava', name: 'guava', version: "${guavaVersion}"
-         implementation  group: 'ognl', name: 'ognl', version: "${ognlVersion}"
-         implementation  group: 'cglib', name: 'cglib', version: "${cglibVersion}"
-         implementation  group: 'org.ow2.asm', name: 'asm', version: "${asmVersion}"
-         implementation  group: 'aopalliance', name: 'aopalliance', version: "${aopallianceVersion}"
-         implementation  group: 'org.aspectj', name: 'aspectjtools', version: "${aspectjtoolsVersion}"
-         implementation  group: 'dom4j', name: 'dom4j', version: "${dom4jVersion}"
-         implementation  group: 'xalan', name: 'serializer', version: "${serializerVersion}"
-         implementation  group: 'xml-resolver', name: 'xml-resolver', version: "${xmlresolverVersion}"
-         implementation  group: 'org.apache.santuario', name: 'xmlsec', version: "${xmlsecVersion}"
-         implementation  group: 'org.ogce', name: 'xpp3', version: "${xpp3Version}"
-         implementation  group: 'com.thoughtworks.xstream', name: 'xstream', version: "${xstreamVersion}"
-         implementation  group: 'org.passay', name: 'passay', version: "${passayVersion}"
-         implementation  group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}"
-         implementation  group: 'org.latencyutils', name: 'LatencyUtils', version: "${LatencyUtilsVersion}"
-         implementation  group: 'org.codehaus.woodstox', name: 'stax2-api', version: "${stax2apiVersion}"
-         implementation  group: 'org.reflections', name: 'reflections', version: '0.9.11'
-         implementation  group: 'io.prometheus', name: 'simpleclient', version: '0.5.0'
-         implementation  group: 'com.belerweb', name: 'pinyin4j', version: "${pinyin4jVersion}"
+         implementation group: 'joda-time', name: 'joda-time', version: "${jodatimeVersion}"
+         implementation group: 'org.yaml', name: 'snakeyaml', version: "${snakeyamlVersion}"
+         implementation group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: "${nekohtmlVersion}"
+         implementation group: 'org.jdom', name: 'jdom', version: "${jdomVersion}"
+         implementation group: 'com.google.zxing', name: 'core', version: "${zxingcoreVersion}"
+         implementation group: 'com.google.guava', name: 'guava', version: "${guavaVersion}"
+         implementation group: 'ognl', name: 'ognl', version: "${ognlVersion}"
+         implementation group: 'cglib', name: 'cglib', version: "${cglibVersion}"
+         implementation group: 'org.ow2.asm', name: 'asm', version: "${asmVersion}"
+         implementation group: 'aopalliance', name: 'aopalliance', version: "${aopallianceVersion}"
+         implementation group: 'org.aspectj', name: 'aspectjtools', version: "${aspectjtoolsVersion}"
+         implementation group: 'dom4j', name: 'dom4j', version: "${dom4jVersion}"
+         implementation group: 'xalan', name: 'serializer', version: "${serializerVersion}"
+         implementation group: 'xml-resolver', name: 'xml-resolver', version: "${xmlresolverVersion}"
+         implementation group: 'org.apache.santuario', name: 'xmlsec', version: "${xmlsecVersion}"
+         implementation group: 'org.ogce', name: 'xpp3', version: "${xpp3Version}"
+         implementation group: 'com.thoughtworks.xstream', name: 'xstream', version: "${xstreamVersion}"
+         implementation group: 'org.passay', name: 'passay', version: "${passayVersion}"
+         implementation group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}"
+         implementation group: 'org.latencyutils', name: 'LatencyUtils', version: "${LatencyUtilsVersion}"
+         implementation group: 'org.codehaus.woodstox', name: 'stax2-api', version: "${stax2apiVersion}"
+         implementation group: 'org.reflections', name: 'reflections', version: '0.9.11'
+         implementation group: 'io.prometheus', name: 'simpleclient', version: '0.5.0'
+         implementation group: 'com.belerweb', name: 'pinyin4j', version: "${pinyin4jVersion}"
          
+         implementation group: 'io.netty', name: 'netty-all', version: "${nettyVersion}"
           //阿里云
-         implementation  group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}"
+         implementation group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}"
          //腾讯云
-         implementation  group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: "${tencentcloudsdkjavaVersion}"
+         implementation group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: "${tencentcloudsdkjavaVersion}"
          //json
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jdk8', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.module', name: 'jackson-module-parameter-names', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.module', name: 'jackson-module-jaxb-annotations', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.module', name: 'jackson-module-jakarta-xmlbind-annotations', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml', name: 'classmate', version: "${classmateVersion}"
-         implementation  group: 'com.fasterxml.woodstox', name: 'woodstox-core', version: "${woodstoxVersion}"
-         implementation  group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
+         implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jdk8', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-parameter-names', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-jaxb-annotations', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-jakarta-xmlbind-annotations', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml', name: 'classmate', version: "${classmateVersion}"
+         implementation group: 'com.fasterxml.woodstox', name: 'woodstox-core', version: "${woodstoxVersion}"
+         implementation group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
          //docs
-         implementation  group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
-         //implementation  group: 'io.swagger', name: 'swagger-annotations', version: "${swaggerVersion}"
-         //implementation  group: 'io.swagger', name: 'swagger-models', version: "${swaggerVersion}"
-         implementation  group: 'io.swagger.core.v3', name: 'swagger-annotations', version: "${swaggerV3Version}"
-         implementation  group: 'io.swagger.core.v3', name: 'swagger-core', version: "${swaggerV3Version}"
-         implementation  group: 'io.swagger.core.v3', name: 'swagger-integration', version: "${swaggerV3Version}"
-         implementation  group: 'io.swagger.core.v3', name: 'swagger-models', version: "${swaggerV3Version}"
+         implementation group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
+         //implementation group: 'io.swagger', name: 'swagger-annotations', version: "${swaggerVersion}"
+         //implementation group: 'io.swagger', name: 'swagger-models', version: "${swaggerVersion}"
+         implementation group: 'io.swagger.core.v3', name: 'swagger-annotations', version: "${swaggerV3Version}"
+         implementation group: 'io.swagger.core.v3', name: 'swagger-core', version: "${swaggerV3Version}"
+         implementation group: 'io.swagger.core.v3', name: 'swagger-integration', version: "${swaggerV3Version}"
+         implementation group: 'io.swagger.core.v3', name: 'swagger-models', version: "${swaggerV3Version}"
          //springdoc
          implementation group: 'io.github.classgraph', name: 'classgraph', version: '4.8.137'
          implementation group: 'org.springdoc', name: 'springdoc-openapi-common', version: "${springdocVersion}"

+ 220 - 209
config/build_jar.gradle

@@ -130,257 +130,268 @@ subprojects {
          testImplementation group: 'xmlunit', name: 'xmlunit', version: "${xmlunitVersion}"
 
          //apache
-         implementation  group: 'commons-beanutils', name: 'commons-beanutils', version: "${commonsbeanutilsVersion}"
-         implementation  group: 'commons-codec', name: 'commons-codec', version: "${commonscodecVersion}"
-         implementation  group: 'commons-collections', name: 'commons-collections', version: "${commonscollectionsVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-collections4', version: "${commonscollections4Version}"
-         //implementation  group: 'org.apache.commons', name: 'commons-csv', version: "${commonscsvVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-text', version: "${commonstextVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-dbcp2', version: "${commonsdbcp2Version}"
-         implementation  group: 'commons-dbutils', name: 'commons-dbutils', version: "${commonsdbutilsVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-digester3', version: "${commonsdigester3Version}"
-         implementation  group: 'commons-digester', name: 'commons-digester', version: "${commonsdigesterVersion}"
-         implementation  group: 'commons-io', name: 'commons-io', version: "${commonsioVersion}"
-         implementation  group: 'commons-lang', name: 'commons-lang', version: "${commonslangVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-lang3', version: "${commonslang3Version}"
-         implementation  group: 'commons-logging', name: 'commons-logging', version: "${commonsloggingVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-pool2', version: "${commonspool2Version}"
-         implementation  group: 'commons-httpclient', name: 'commons-httpclient', version: "${commonshttpclientVersion}"
-         implementation  group: 'commons-fileupload', name: 'commons-fileupload', version: "${commonsfileuploadVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-email', version: "${commonsemailVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpasyncclient', version: "${httpasyncclientVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpclient', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'fluent-hc', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpclient-cache', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpmime', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpcore', version: "${httpcoreVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpcore-nio', version: "${httpcoreVersion}"
-         implementation  group: 'org.apache.velocity', name: 'velocity', version: "${velocityVersion}"
-         implementation  group: 'velocity', name: 'velocity-dep', version: "${velocitydepVersion}"
-         implementation  group: 'org.freemarker', name: 'freemarker', version: "${freemarkerVersion}"
-         implementation  group: 'org.apache.xmlbeans', name: 'xmlbeans', version:  "${xmlbeansVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-compress', version: "${commonscompressVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi', version: "${poiVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi-excelant', version: "${poiVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi-ooxml', version: "${poiVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi-ooxml-full', version: "${poiVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi-scratchpad', version: "${poiVersion}"
-         //implementation  group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: "${notyetcommonssslVersion}"
+         implementation group: 'commons-beanutils', name: 'commons-beanutils', version: "${commonsbeanutilsVersion}"
+         implementation group: 'commons-codec', name: 'commons-codec', version: "${commonscodecVersion}"
+         implementation group: 'commons-collections', name: 'commons-collections', version: "${commonscollectionsVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-collections4', version: "${commonscollections4Version}"
+         //implementation group: 'org.apache.commons', name: 'commons-csv', version: "${commonscsvVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-text', version: "${commonstextVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-dbcp2', version: "${commonsdbcp2Version}"
+         implementation group: 'commons-dbutils', name: 'commons-dbutils', version: "${commonsdbutilsVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-digester3', version: "${commonsdigester3Version}"
+         implementation group: 'commons-digester', name: 'commons-digester', version: "${commonsdigesterVersion}"
+         implementation group: 'commons-io', name: 'commons-io', version: "${commonsioVersion}"
+         implementation group: 'commons-lang', name: 'commons-lang', version: "${commonslangVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-lang3', version: "${commonslang3Version}"
+         implementation group: 'commons-logging', name: 'commons-logging', version: "${commonsloggingVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-pool2', version: "${commonspool2Version}"
+         implementation group: 'commons-httpclient', name: 'commons-httpclient', version: "${commonshttpclientVersion}"
+         implementation group: 'commons-fileupload', name: 'commons-fileupload', version: "${commonsfileuploadVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-email', version: "${commonsemailVersion}"
+         implementation group: 'commons-validator', name: 'commons-validator', version: "${commonsvalidatorVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpasyncclient', version: "${httpasyncclientVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpclient', version: "${httpcomponentsVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'fluent-hc', version: "${httpcomponentsVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpclient-cache', version: "${httpcomponentsVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpmime', version: "${httpcomponentsVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpcore', version: "${httpcoreVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpcore-nio', version: "${httpcoreVersion}"
+         implementation group: 'org.apache.velocity', name: 'velocity', version: "${velocityVersion}"
+         implementation group: 'velocity', name: 'velocity-dep', version: "${velocitydepVersion}"
+         implementation group: 'org.freemarker', name: 'freemarker', version: "${freemarkerVersion}"
+         implementation group: 'org.apache.xmlbeans', name: 'xmlbeans', version:  "${xmlbeansVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-compress', version: "${commonscompressVersion}"
+         implementation group: 'org.apache.poi', name: 'poi', version: "${poiVersion}"
+         implementation group: 'org.apache.poi', name: 'poi-excelant', version: "${poiVersion}"
+         implementation group: 'org.apache.poi', name: 'poi-ooxml', version: "${poiVersion}"
+         implementation group: 'org.apache.poi', name: 'poi-ooxml-full', version: "${poiVersion}"
+         implementation group: 'org.apache.poi', name: 'poi-scratchpad', version: "${poiVersion}"
+         //implementation group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: "${notyetcommonssslVersion}"
          //tomcat embed Core Tomcat implementation
-         implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
-         implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-el', version: "${tomcatVersion}"
-         implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-websocket', version: "${tomcatVersion}"
+         implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
+         implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-el', version: "${tomcatVersion}"
+         implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-websocket', version: "${tomcatVersion}"
          //JULI logging implementation for embedded Tomcat
-         implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-logging-juli', version: "${tomcatembedloggingjuliVersion}"
+         implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-logging-juli', version: "${tomcatembedloggingjuliVersion}"
          //apache logs
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-api', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-core', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-jcl', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-jul', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-web', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-jcl', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-jul', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-web', version: "${log4jVersion}"
         //logs
-         implementation  group: 'org.slf4j', name: 'slf4j-api', version: "${slf4jVersion}"
-         implementation  group: 'org.jboss.logging', name: 'jboss-logging', version: "${jbossloggingVersion}"
+         implementation group: 'org.slf4j', name: 'slf4j-api', version: "${slf4jVersion}"
+         implementation group: 'org.jboss.logging', name: 'jboss-logging', version: "${jbossloggingVersion}"
          //spring
-         implementation  group: 'org.springframework', name: 'spring-aop', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-aspects', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-beans', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-core', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-context', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-context-indexer', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-context-support', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-expression', version: "${springVersion}"
-         //implementation  group: 'org.springframework', name: 'spring-instrument', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-jcl', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-jdbc', version: "${springVersion}"
-         //implementation  group: 'org.springframework', name: 'spring-jms', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-messaging', version: "${springVersion}"
-         //implementation  group: 'org.springframework', name: 'spring-orm', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-oxm', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-tx', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-web', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-webflux', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-webmvc', version: "${springVersion}"
-         //implementation  group: 'org.springframework', name: 'spring-websocket', version: "${springVersion}"
-         testImplementation  group: 'org.springframework', name: 'spring-test', version: "${springVersion}"
-         
-         //kafka support
-         // https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients
-         implementation  group: 'org.apache.kafka', name: 'kafka-clients', version: "${kafkaclientsVersion}"
-         // https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka
-         implementation  group: 'org.springframework.kafka', name: 'spring-kafka', version: "${springkafkaVersion}"
+         implementation group: 'org.springframework', name: 'spring-aop', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-aspects', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-beans', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-core', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-context', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-context-indexer', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-context-support', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-expression', version: "${springVersion}"
+         //implementation group: 'org.springframework', name: 'spring-instrument', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-jcl', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-jdbc', version: "${springVersion}"
+         //implementation group: 'org.springframework', name: 'spring-jms', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-messaging', version: "${springVersion}"
+         //implementation group: 'org.springframework', name: 'spring-orm', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-oxm', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-tx', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-web', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-webflux', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-webmvc', version: "${springVersion}"
+         //implementation group: 'org.springframework', name: 'spring-websocket', version: "${springVersion}"
          // https://mvnrepository.com/artifact/org.springframework.retry/spring-retry
-         implementation  group: 'org.springframework.retry', name: 'spring-retry', version: "${springretryVersion}"
+         implementation group: 'org.springframework.retry', name: 'spring-retry', version: "${springretryVersion}"
+         testImplementation  group: 'org.springframework', name: 'spring-test', version: "${springVersion}"
          
          //spring-security
-         implementation  group: 'org.springframework.security', name: 'spring-security-core', version: "${springSecurityVersion}"
-         implementation  group: 'org.springframework.security', name: 'spring-security-web', version: "${springSecurityVersion}"
-         implementation  group: 'org.springframework.security', name: 'spring-security-crypto', version: "${springSecurityVersion}"
+         implementation group: 'org.springframework.security', name: 'spring-security-core', version: "${springSecurityVersion}"
+         implementation group: 'org.springframework.security', name: 'spring-security-web', version: "${springSecurityVersion}"
+         implementation group: 'org.springframework.security', name: 'spring-security-crypto', version: "${springSecurityVersion}"
          //srpingboot
-         implementation  group: 'org.springframework.boot', name: 'spring-boot', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-actuator', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-actuator-autoconfigure', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-autoconfigure', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-freemarker', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-json', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-log4j2', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-logging', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-web', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-webflux', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-reactor-netty', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis-reactive', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-validation', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-actuator', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-actuator-autoconfigure', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-autoconfigure', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-freemarker', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-json', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-log4j2', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-logging', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-webflux', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-reactor-netty', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis-reactive', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation', version: "${springBootVersion}"
          
          testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test', version:  "${springBootVersion}"
          //spring-boot-admin
          implementation group: 'de.codecentric', name: 'spring-boot-admin-client', version: "${springbootadminVersion}"
          implementation group: 'de.codecentric', name: 'spring-boot-admin-starter-client', version: "${springbootadminVersion}"
          //spring-data
-         implementation  group: 'org.springframework.data', name: 'spring-data-commons', version: "${springDataVersion}"
-         implementation  group: 'org.springframework.data', name: 'spring-data-keyvalue', version: "${springDataVersion}"
-         implementation  group: 'org.springframework.data', name: 'spring-data-redis', version: "${springDataVersion}"
+         implementation group: 'org.springframework.data', name: 'spring-data-commons', version: "${springDataVersion}"
+         implementation group: 'org.springframework.data', name: 'spring-data-keyvalue', version: "${springDataVersion}"
+         implementation group: 'org.springframework.data', name: 'spring-data-redis', version: "${springDataVersion}"
          //spring-session
-         implementation  group: 'org.springframework.session', name: 'spring-session-core', version: "${springSessionVersion}"
-         implementation  group: 'org.springframework.session', name: 'spring-session-data-redis', version: "${springSessionVersion}"
+         implementation group: 'org.springframework.session', name: 'spring-session-core', version: "${springSessionVersion}"
+         implementation group: 'org.springframework.session', name: 'spring-session-data-redis', version: "${springSessionVersion}"
          
-         //implementation  group: 'org.springframework.plugin', name: 'spring-plugin-core', version: "${springplugincoreVersion}"
-         //implementation  group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: "${springpluginmetadataVersion}"
+         //implementation group: 'org.springframework.plugin', name: 'spring-plugin-core', version: "${springplugincoreVersion}"
+         //implementation group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: "${springpluginmetadataVersion}"
          //spring cloud
-         implementation  group: 'org.springframework.cloud', name: 'spring-cloud-commons', version: "${springcloudVersion}"
-         implementation  group: 'org.springframework.cloud', name: 'spring-cloud-context', version: "${springcloudVersion}"
-         implementation  group: 'org.springframework.cloud', name: 'spring-cloud-starter', version: "${springcloudVersion}"
-         implementation  group: 'org.springframework.cloud', name: 'spring-cloud-starter-bootstrap', version: "${springcloudVersion}"
+         implementation group: 'org.springframework.cloud', name: 'spring-cloud-commons', version: "${springcloudVersion}"
+         implementation group: 'org.springframework.cloud', name: 'spring-cloud-context', version: "${springcloudVersion}"
+         implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter', version: "${springcloudVersion}"
+         implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-bootstrap', version: "${springcloudVersion}"
          //spring-cloud-alibaba
-         implementation  group: 'com.alibaba.spring', name: 'spring-context-support', version: "${springcloudalibabaspringVersion}"
-         implementation  group: 'com.alibaba.cloud', name: 'spring-cloud-alibaba-commons', version: "${springcloudalibabaVersion}"
+         implementation group: 'com.alibaba.spring', name: 'spring-context-support', version: "${springcloudalibabaspringVersion}"
+         implementation group: 'com.alibaba.cloud', name: 'spring-cloud-alibaba-commons', version: "${springcloudalibabaVersion}"
          //alibaba nacos
-         implementation  group: 'com.alibaba.nacos', name: 'nacos-client', version: "${alibabanacosclientVersion}"
-         implementation  group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-discovery', version: "${springcloudalibabaVersion}"
-         implementation  group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-config', version: "${springcloudalibabaVersion}"
+         implementation group: 'com.alibaba.nacos', name: 'nacos-client', version: "${alibabanacosclientVersion}"
+         implementation group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-discovery', version: "${springcloudalibabaVersion}"
+         implementation group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-config', version: "${springcloudalibabaVersion}"
+         
+         //Message Queue
+         //kafka support
+         // https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients
+         implementation group: 'org.apache.kafka', name: 'kafka-clients', version: "${kafkaclientsVersion}"
+         // https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka
+         implementation group: 'org.springframework.kafka', name: 'spring-kafka', version: "${springkafkaVersion}"
+         //rocketmq
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-common', version: "${rocketmqclientVersion}"
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-remoting', version: "${rocketmqclientVersion}"
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-logging', version: "${rocketmqclientVersion}"
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-client', version: "${rocketmqclientVersion}"
+         // https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-spring-boot
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-spring-boot', version: "${rocketmqspringbootVersion}"
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-spring-boot-starter', version: "${rocketmqspringbootVersion}"
          
-         //saml 
-         //implementation  group: 'org.opensaml', name: 'opensaml', version: "${opensamlVersion}"
-         //implementation  group: 'org.opensaml', name: 'openws', version: "${openwsVersion}"
-         //implementation  group: 'org.opensaml', name: 'xmltooling', version: "${xmltoolingVersion}"
-         implementation  group: 'net.shibboleth.utilities', name: 'java-support', version: "${javasupportVersion}"
+         //saml see maxkey-lib
+         //implementation group: 'org.opensaml', name: 'opensaml', version: "${opensamlVersion}"
+         //implementation group: 'org.opensaml', name: 'openws', version: "${openwsVersion}"
+         //implementation group: 'org.opensaml', name: 'xmltooling', version: "${xmltoolingVersion}"
+         implementation group: 'net.shibboleth.utilities', name: 'java-support', version: "${javasupportVersion}"
          //jose-jwt
-         implementation  group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: "${nimbusjosejwtVersion}"
-         implementation  group: 'net.jcip', name: 'jcip-annotations', version: "${jcipannotationsVersion}"
-         implementation  group: 'net.minidev', name: 'json-smart', version: "${minidevjsonsmartVersion}"
-         implementation  group: 'net.minidev', name: 'asm', version: "${minidevasmVersion}"
+         implementation group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: "${nimbusjosejwtVersion}"
+         implementation group: 'net.jcip', name: 'jcip-annotations', version: "${jcipannotationsVersion}"
+         implementation group: 'net.minidev', name: 'json-smart', version: "${minidevjsonsmartVersion}"
+         implementation group: 'net.minidev', name: 'asm', version: "${minidevasmVersion}"
          //oauth third party JustAuth
-         implementation  group: 'com.xkcoding.http', name: 'simple-http', version: "${simplehttpVersion}"
-         implementation  group: 'me.zhyd.oauth', name: 'JustAuth', version: "${JustAuthVersion}"
+         implementation group: 'com.xkcoding.http', name: 'simple-http', version: "${simplehttpVersion}"
+         implementation group: 'me.zhyd.oauth', name: 'JustAuth', version: "${JustAuthVersion}"
          //common
-         implementation  group: 'org.javassist', name: 'javassist', version: "${javassistVersion}"
-         implementation  group: 'org.owasp.esapi', name: 'esapi', version: "${esapiVersion}"
-         implementation  group: 'com.sun.mail', name: 'javax.mail', version: "${javaxmailVersion}"
+         implementation group: 'org.javassist', name: 'javassist', version: "${javassistVersion}"
+         implementation group: 'org.owasp.esapi', name: 'esapi', version: "${esapiVersion}"
+         implementation group: 'com.sun.mail', name: 'javax.mail', version: "${javaxmailVersion}"
          // https://mvnrepository.com/artifact/org.eclipse.persistence/javax.persistence
          // for mybatis-jpa-extra
-         implementation  group: 'org.eclipse.persistence', name: 'javax.persistence', version: "${javaxpersistenceVersion}"
-         implementation  group: 'jakarta.persistence', name: 'jakarta.persistence-api', version: '3.0.0'
-         implementation  group: 'jakarta.annotation', name: 'jakarta.annotation-api', version: "${jakartaannotationVersion}"
-         implementation  group: 'jakarta.validation', name: 'jakarta.validation-api', version: "${jakartavalidationapiVersion}"
-         implementation  group: 'javax.activation', name: 'activation', version: "${activationVersion}"
-         implementation  group: 'javax.annotation', name: 'javax.annotation-api', version: "${javaxannotationapiVersion}"
-         implementation  group: 'javax.transaction', name: 'jta', version: "${jtaVersion}"
-         implementation  group: 'javax.transaction', name: 'javax.transaction-api', version: "${javaxtransactionapiVersion}"
-         implementation  group: 'javax.validation', name: 'validation-api', version: "${validationapiVersion}"
-         implementation  group: 'javax.xml', name: 'jsr173', version: "${jsr173Version}"
-         implementation  group: 'javax.xml.bind', name: 'jaxb-api', version: "${jaxbapiVersion}"
-         implementation  group: 'com.sun.xml.bind', name: 'jaxb-core', version: "${jaxbcoreVersion}"
-         implementation  group: 'com.sun.xml.bind', name: 'jaxb-impl', version: "${jaxbimplVersion}"
-         implementation  group: 'com.sun.xml.bind', name: 'jaxb-xjc',  version: "${jaxbxjcVersion}"
+         implementation group: 'org.eclipse.persistence', name: 'javax.persistence', version: "${javaxpersistenceVersion}"
+         implementation group: 'jakarta.persistence', name: 'jakarta.persistence-api', version: '3.0.0'
+         implementation group: 'jakarta.annotation', name: 'jakarta.annotation-api', version: "${jakartaannotationVersion}"
+         implementation group: 'jakarta.validation', name: 'jakarta.validation-api', version: "${jakartavalidationapiVersion}"
+         implementation group: 'javax.activation', name: 'activation', version: "${activationVersion}"
+         implementation group: 'javax.annotation', name: 'javax.annotation-api', version: "${javaxannotationapiVersion}"
+         implementation group: 'javax.transaction', name: 'jta', version: "${jtaVersion}"
+         implementation group: 'javax.transaction', name: 'javax.transaction-api', version: "${javaxtransactionapiVersion}"
+         implementation group: 'javax.validation', name: 'validation-api', version: "${validationapiVersion}"
+         implementation group: 'javax.xml', name: 'jsr173', version: "${jsr173Version}"
+         implementation group: 'javax.xml.bind', name: 'jaxb-api', version: "${jaxbapiVersion}"
+         implementation group: 'com.sun.xml.bind', name: 'jaxb-core', version: "${jaxbcoreVersion}"
+         implementation group: 'com.sun.xml.bind', name: 'jaxb-impl', version: "${jaxbimplVersion}"
+         implementation group: 'com.sun.xml.bind', name: 'jaxb-xjc',  version: "${jaxbxjcVersion}"
          //crypto
-         implementation  group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: "${bouncycastleVersion}"
-         implementation  group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: "${bouncycastleVersion}"
-         implementation  group: 'org.bouncycastle', name: 'bcprov-ext-jdk15on', version: "${bouncycastleVersion}"
+         implementation group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: "${bouncycastleVersion}"
+         implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: "${bouncycastleVersion}"
+         implementation group: 'org.bouncycastle', name: 'bcprov-ext-jdk15on', version: "${bouncycastleVersion}"
          //google
-         implementation  group: 'com.google.crypto.tink', name: 'tink', version: "${tinkVersion}"
+         implementation group: 'com.google.crypto.tink', name: 'tink', version: "${tinkVersion}"
          //kaptcha
-         implementation  group: 'com.jhlabs', name: 'filters', version: "${jhlabsfiltersVersion}"
-         implementation  group: 'com.github.penggle', name: 'kaptcha', version: "${kaptchaVersion}"
+         implementation group: 'com.jhlabs', name: 'filters', version: "${jhlabsfiltersVersion}"
+         implementation group: 'com.github.penggle', name: 'kaptcha', version: "${kaptchaVersion}"
          //json
-         implementation  group: 'com.google.code.gson', name: 'gson', version: "${gsonVersion}"
+         implementation group: 'com.google.code.gson', name: 'gson', version: "${gsonVersion}"
          //reactive
-         implementation  group: 'org.reactivestreams', name: 'reactive-streams', version: "${reactivestreamsVersion}"
-         implementation  group: 'io.projectreactor', name: 'reactor-core', version: "${reactorcoreVersion}"
-         implementation  group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: "${szxcvbnVersion}"
+         implementation group: 'org.reactivestreams', name: 'reactive-streams', version: "${reactivestreamsVersion}"
+         implementation group: 'io.projectreactor', name: 'reactor-core', version: "${reactorcoreVersion}"
+         implementation group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: "${szxcvbnVersion}"
          //quartz
-         implementation  group: 'org.quartz-scheduler', name: 'quartz', version: "${quartzVersion}"
+         implementation group: 'org.quartz-scheduler', name: 'quartz', version: "${quartzVersion}"
          //database
-         implementation  group: 'mysql', name: 'mysql-connector-java', version: "${mysqlconnectorjavaVersion}"
-         implementation  group: 'org.postgresql', name: 'postgresql', version: "${postgresqlVersion}"
-         implementation  group: 'com.alibaba', name: 'druid', version: "${druidVersion}"
-         implementation  group: 'com.alibaba', name: 'druid-spring-boot-starter', version: "${druidspringbootstarterVersion}"
-         implementation  group: 'redis.clients', name: 'jedis', version: "${jedisVersion}"
-         //implementation  group: 'org.liquibase', name: 'liquibase-core', version: '4.3.5'
+         implementation group: 'mysql', name: 'mysql-connector-java', version: "${mysqlconnectorjavaVersion}"
+         implementation group: 'org.postgresql', name: 'postgresql', version: "${postgresqlVersion}"
+         implementation group: 'com.alibaba', name: 'druid', version: "${druidVersion}"
+         implementation group: 'com.alibaba', name: 'druid-spring-boot-starter', version: "${druidspringbootstarterVersion}"
+         implementation group: 'redis.clients', name: 'jedis', version: "${jedisVersion}"
+         //implementation group: 'org.liquibase', name: 'liquibase-core', version: '4.3.5'
          implementation group: 'com.github.ben-manes.caffeine', name: 'caffeine', version: "${caffeineVersion}"
          //mybatis
-         implementation  group: 'org.mybatis', name: 'mybatis', version: "${mybatisVersion}"
-         implementation  group: 'org.mybatis', name: 'mybatis-spring', version: "${mybatisspringVersion}"
+         implementation group: 'org.mybatis', name: 'mybatis', version: "${mybatisVersion}"
+         implementation group: 'org.mybatis', name: 'mybatis-spring', version: "${mybatisspringVersion}"
          //hibernate
-         implementation  group: 'org.hibernate.validator', name: 'hibernate-validator', version: "${hibernateVersion}"
-         implementation  group: 'org.hibernate', name: 'hibernate-validator-cdi', version: "${hibernateVersion}"
-         implementation  group: 'org.hibernate.validator', name: 'hibernate-validator-annotation-processor', version: "${hibernateVersion}"
+         implementation group: 'org.hibernate.validator', name: 'hibernate-validator', version: "${hibernateVersion}"
+         implementation group: 'org.hibernate', name: 'hibernate-validator-cdi', version: "${hibernateVersion}"
+         implementation group: 'org.hibernate.validator', name: 'hibernate-validator-annotation-processor', version: "${hibernateVersion}"
          //usefull
-         implementation  group: 'joda-time', name: 'joda-time', version: "${jodatimeVersion}"
-         implementation  group: 'org.yaml', name: 'snakeyaml', version: "${snakeyamlVersion}"
-         implementation  group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: "${nekohtmlVersion}"
-         implementation  group: 'org.jdom', name: 'jdom', version: "${jdomVersion}"
-         implementation  group: 'com.google.zxing', name: 'core', version: "${zxingcoreVersion}"
-         implementation  group: 'com.google.guava', name: 'guava', version: "${guavaVersion}"
-         implementation  group: 'ognl', name: 'ognl', version: "${ognlVersion}"
-         implementation  group: 'cglib', name: 'cglib', version: "${cglibVersion}"
-         implementation  group: 'org.ow2.asm', name: 'asm', version: "${asmVersion}"
-         implementation  group: 'aopalliance', name: 'aopalliance', version: "${aopallianceVersion}"
-         implementation  group: 'org.aspectj', name: 'aspectjtools', version: "${aspectjtoolsVersion}"
-         implementation  group: 'dom4j', name: 'dom4j', version: "${dom4jVersion}"
-         implementation  group: 'xalan', name: 'serializer', version: "${serializerVersion}"
-         implementation  group: 'xml-resolver', name: 'xml-resolver', version: "${xmlresolverVersion}"
-         implementation  group: 'org.apache.santuario', name: 'xmlsec', version: "${xmlsecVersion}"
-         implementation  group: 'org.ogce', name: 'xpp3', version: "${xpp3Version}"
-         implementation  group: 'com.thoughtworks.xstream', name: 'xstream', version: "${xstreamVersion}"
-         implementation  group: 'org.passay', name: 'passay', version: "${passayVersion}"
-         implementation  group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}"
-         implementation  group: 'org.latencyutils', name: 'LatencyUtils', version: "${LatencyUtilsVersion}"
-         implementation  group: 'org.codehaus.woodstox', name: 'stax2-api', version: "${stax2apiVersion}"
-         implementation  group: 'org.reflections', name: 'reflections', version: '0.9.11'
-         implementation  group: 'io.prometheus', name: 'simpleclient', version: '0.5.0'
-         implementation  group: 'com.belerweb', name: 'pinyin4j', version: "${pinyin4jVersion}"
+         implementation group: 'joda-time', name: 'joda-time', version: "${jodatimeVersion}"
+         implementation group: 'org.yaml', name: 'snakeyaml', version: "${snakeyamlVersion}"
+         implementation group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: "${nekohtmlVersion}"
+         implementation group: 'org.jdom', name: 'jdom', version: "${jdomVersion}"
+         implementation group: 'com.google.zxing', name: 'core', version: "${zxingcoreVersion}"
+         implementation group: 'com.google.guava', name: 'guava', version: "${guavaVersion}"
+         implementation group: 'ognl', name: 'ognl', version: "${ognlVersion}"
+         implementation group: 'cglib', name: 'cglib', version: "${cglibVersion}"
+         implementation group: 'org.ow2.asm', name: 'asm', version: "${asmVersion}"
+         implementation group: 'aopalliance', name: 'aopalliance', version: "${aopallianceVersion}"
+         implementation group: 'org.aspectj', name: 'aspectjtools', version: "${aspectjtoolsVersion}"
+         implementation group: 'dom4j', name: 'dom4j', version: "${dom4jVersion}"
+         implementation group: 'xalan', name: 'serializer', version: "${serializerVersion}"
+         implementation group: 'xml-resolver', name: 'xml-resolver', version: "${xmlresolverVersion}"
+         implementation group: 'org.apache.santuario', name: 'xmlsec', version: "${xmlsecVersion}"
+         implementation group: 'org.ogce', name: 'xpp3', version: "${xpp3Version}"
+         implementation group: 'com.thoughtworks.xstream', name: 'xstream', version: "${xstreamVersion}"
+         implementation group: 'org.passay', name: 'passay', version: "${passayVersion}"
+         implementation group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}"
+         implementation group: 'org.latencyutils', name: 'LatencyUtils', version: "${LatencyUtilsVersion}"
+         implementation group: 'org.codehaus.woodstox', name: 'stax2-api', version: "${stax2apiVersion}"
+         implementation group: 'org.reflections', name: 'reflections', version: '0.9.11'
+         implementation group: 'io.prometheus', name: 'simpleclient', version: '0.5.0'
+         implementation group: 'com.belerweb', name: 'pinyin4j', version: "${pinyin4jVersion}"
          
+         implementation group: 'io.netty', name: 'netty-all', version: "${nettyVersion}"
           //阿里云
-         implementation  group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}"
+         implementation group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}"
          //腾讯云
-         implementation  group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: "${tencentcloudsdkjavaVersion}"
+         implementation group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: "${tencentcloudsdkjavaVersion}"
          //json
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jdk8', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.module', name: 'jackson-module-parameter-names', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.module', name: 'jackson-module-jaxb-annotations', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.module', name: 'jackson-module-jakarta-xmlbind-annotations', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml', name: 'classmate', version: "${classmateVersion}"
-         implementation  group: 'com.fasterxml.woodstox', name: 'woodstox-core', version: "${woodstoxVersion}"
-         implementation  group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
+         implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jdk8', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-parameter-names', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-jaxb-annotations', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-jakarta-xmlbind-annotations', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml', name: 'classmate', version: "${classmateVersion}"
+         implementation group: 'com.fasterxml.woodstox', name: 'woodstox-core', version: "${woodstoxVersion}"
+         implementation group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
          //docs
-         implementation  group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
-         //implementation  group: 'io.swagger', name: 'swagger-annotations', version: "${swaggerVersion}"
-         //implementation  group: 'io.swagger', name: 'swagger-models', version: "${swaggerVersion}"
-         implementation  group: 'io.swagger.core.v3', name: 'swagger-annotations', version: "${swaggerV3Version}"
-         implementation  group: 'io.swagger.core.v3', name: 'swagger-core', version: "${swaggerV3Version}"
-         implementation  group: 'io.swagger.core.v3', name: 'swagger-integration', version: "${swaggerV3Version}"
-         implementation  group: 'io.swagger.core.v3', name: 'swagger-models', version: "${swaggerV3Version}"
+         implementation group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
+         //implementation group: 'io.swagger', name: 'swagger-annotations', version: "${swaggerVersion}"
+         //implementation group: 'io.swagger', name: 'swagger-models', version: "${swaggerVersion}"
+         implementation group: 'io.swagger.core.v3', name: 'swagger-annotations', version: "${swaggerV3Version}"
+         implementation group: 'io.swagger.core.v3', name: 'swagger-core', version: "${swaggerV3Version}"
+         implementation group: 'io.swagger.core.v3', name: 'swagger-integration', version: "${swaggerV3Version}"
+         implementation group: 'io.swagger.core.v3', name: 'swagger-models', version: "${swaggerV3Version}"
          //springdoc
          implementation group: 'io.github.classgraph', name: 'classgraph', version: '4.8.137'
          implementation group: 'org.springdoc', name: 'springdoc-openapi-common', version: "${springdocVersion}"

+ 220 - 209
config/build_standard.gradle

@@ -165,257 +165,268 @@ subprojects {
          testImplementation group: 'xmlunit', name: 'xmlunit', version: "${xmlunitVersion}"
 
          //apache
-         implementation  group: 'commons-beanutils', name: 'commons-beanutils', version: "${commonsbeanutilsVersion}"
-         implementation  group: 'commons-codec', name: 'commons-codec', version: "${commonscodecVersion}"
-         implementation  group: 'commons-collections', name: 'commons-collections', version: "${commonscollectionsVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-collections4', version: "${commonscollections4Version}"
-         //implementation  group: 'org.apache.commons', name: 'commons-csv', version: "${commonscsvVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-text', version: "${commonstextVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-dbcp2', version: "${commonsdbcp2Version}"
-         implementation  group: 'commons-dbutils', name: 'commons-dbutils', version: "${commonsdbutilsVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-digester3', version: "${commonsdigester3Version}"
-         implementation  group: 'commons-digester', name: 'commons-digester', version: "${commonsdigesterVersion}"
-         implementation  group: 'commons-io', name: 'commons-io', version: "${commonsioVersion}"
-         implementation  group: 'commons-lang', name: 'commons-lang', version: "${commonslangVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-lang3', version: "${commonslang3Version}"
-         implementation  group: 'commons-logging', name: 'commons-logging', version: "${commonsloggingVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-pool2', version: "${commonspool2Version}"
-         implementation  group: 'commons-httpclient', name: 'commons-httpclient', version: "${commonshttpclientVersion}"
-         implementation  group: 'commons-fileupload', name: 'commons-fileupload', version: "${commonsfileuploadVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-email', version: "${commonsemailVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpasyncclient', version: "${httpasyncclientVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpclient', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'fluent-hc', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpclient-cache', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpmime', version: "${httpcomponentsVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpcore', version: "${httpcoreVersion}"
-         implementation  group: 'org.apache.httpcomponents', name: 'httpcore-nio', version: "${httpcoreVersion}"
-         implementation  group: 'org.apache.velocity', name: 'velocity', version: "${velocityVersion}"
-         implementation  group: 'velocity', name: 'velocity-dep', version: "${velocitydepVersion}"
-         implementation  group: 'org.freemarker', name: 'freemarker', version: "${freemarkerVersion}"
-         implementation  group: 'org.apache.xmlbeans', name: 'xmlbeans', version:  "${xmlbeansVersion}"
-         implementation  group: 'org.apache.commons', name: 'commons-compress', version: "${commonscompressVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi', version: "${poiVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi-excelant', version: "${poiVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi-ooxml', version: "${poiVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi-ooxml-full', version: "${poiVersion}"
-         implementation  group: 'org.apache.poi', name: 'poi-scratchpad', version: "${poiVersion}"
-         //implementation  group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: "${notyetcommonssslVersion}"
+         implementation group: 'commons-beanutils', name: 'commons-beanutils', version: "${commonsbeanutilsVersion}"
+         implementation group: 'commons-codec', name: 'commons-codec', version: "${commonscodecVersion}"
+         implementation group: 'commons-collections', name: 'commons-collections', version: "${commonscollectionsVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-collections4', version: "${commonscollections4Version}"
+         //implementation group: 'org.apache.commons', name: 'commons-csv', version: "${commonscsvVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-text', version: "${commonstextVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-dbcp2', version: "${commonsdbcp2Version}"
+         implementation group: 'commons-dbutils', name: 'commons-dbutils', version: "${commonsdbutilsVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-digester3', version: "${commonsdigester3Version}"
+         implementation group: 'commons-digester', name: 'commons-digester', version: "${commonsdigesterVersion}"
+         implementation group: 'commons-io', name: 'commons-io', version: "${commonsioVersion}"
+         implementation group: 'commons-lang', name: 'commons-lang', version: "${commonslangVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-lang3', version: "${commonslang3Version}"
+         implementation group: 'commons-logging', name: 'commons-logging', version: "${commonsloggingVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-pool2', version: "${commonspool2Version}"
+         implementation group: 'commons-httpclient', name: 'commons-httpclient', version: "${commonshttpclientVersion}"
+         implementation group: 'commons-fileupload', name: 'commons-fileupload', version: "${commonsfileuploadVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-email', version: "${commonsemailVersion}"
+         implementation group: 'commons-validator', name: 'commons-validator', version: "${commonsvalidatorVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpasyncclient', version: "${httpasyncclientVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpclient', version: "${httpcomponentsVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'fluent-hc', version: "${httpcomponentsVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpclient-cache', version: "${httpcomponentsVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpmime', version: "${httpcomponentsVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpcore', version: "${httpcoreVersion}"
+         implementation group: 'org.apache.httpcomponents', name: 'httpcore-nio', version: "${httpcoreVersion}"
+         implementation group: 'org.apache.velocity', name: 'velocity', version: "${velocityVersion}"
+         implementation group: 'velocity', name: 'velocity-dep', version: "${velocitydepVersion}"
+         implementation group: 'org.freemarker', name: 'freemarker', version: "${freemarkerVersion}"
+         implementation group: 'org.apache.xmlbeans', name: 'xmlbeans', version:  "${xmlbeansVersion}"
+         implementation group: 'org.apache.commons', name: 'commons-compress', version: "${commonscompressVersion}"
+         implementation group: 'org.apache.poi', name: 'poi', version: "${poiVersion}"
+         implementation group: 'org.apache.poi', name: 'poi-excelant', version: "${poiVersion}"
+         implementation group: 'org.apache.poi', name: 'poi-ooxml', version: "${poiVersion}"
+         implementation group: 'org.apache.poi', name: 'poi-ooxml-full', version: "${poiVersion}"
+         implementation group: 'org.apache.poi', name: 'poi-scratchpad', version: "${poiVersion}"
+         //implementation group: 'org.apache.commons', name: 'not-yet-commons-ssl', version: "${notyetcommonssslVersion}"
          //tomcat embed Core Tomcat implementation
-         implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
-         implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-el', version: "${tomcatVersion}"
-         implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-websocket', version: "${tomcatVersion}"
+         implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
+         implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-el', version: "${tomcatVersion}"
+         implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-websocket', version: "${tomcatVersion}"
          //JULI logging implementation for embedded Tomcat
-         implementation  group: 'org.apache.tomcat.embed', name: 'tomcat-embed-logging-juli', version: "${tomcatembedloggingjuliVersion}"
+         implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-logging-juli', version: "${tomcatembedloggingjuliVersion}"
          //apache logs
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-api', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-core', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-jcl', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-jul', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: "${log4jVersion}"
-         implementation  group: 'org.apache.logging.log4j', name: 'log4j-web', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-jcl', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-jul', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: "${log4jVersion}"
+         implementation group: 'org.apache.logging.log4j', name: 'log4j-web', version: "${log4jVersion}"
         //logs
-         implementation  group: 'org.slf4j', name: 'slf4j-api', version: "${slf4jVersion}"
-         implementation  group: 'org.jboss.logging', name: 'jboss-logging', version: "${jbossloggingVersion}"
+         implementation group: 'org.slf4j', name: 'slf4j-api', version: "${slf4jVersion}"
+         implementation group: 'org.jboss.logging', name: 'jboss-logging', version: "${jbossloggingVersion}"
          //spring
-         implementation  group: 'org.springframework', name: 'spring-aop', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-aspects', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-beans', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-core', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-context', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-context-indexer', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-context-support', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-expression', version: "${springVersion}"
-         //implementation  group: 'org.springframework', name: 'spring-instrument', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-jcl', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-jdbc', version: "${springVersion}"
-         //implementation  group: 'org.springframework', name: 'spring-jms', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-messaging', version: "${springVersion}"
-         //implementation  group: 'org.springframework', name: 'spring-orm', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-oxm', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-tx', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-web', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-webflux', version: "${springVersion}"
-         implementation  group: 'org.springframework', name: 'spring-webmvc', version: "${springVersion}"
-         //implementation  group: 'org.springframework', name: 'spring-websocket', version: "${springVersion}"
-         testImplementation  group: 'org.springframework', name: 'spring-test', version: "${springVersion}"
-         
-         //kafka support
-         // https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients
-         implementation  group: 'org.apache.kafka', name: 'kafka-clients', version: "${kafkaclientsVersion}"
-         // https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka
-         implementation  group: 'org.springframework.kafka', name: 'spring-kafka', version: "${springkafkaVersion}"
+         implementation group: 'org.springframework', name: 'spring-aop', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-aspects', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-beans', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-core', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-context', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-context-indexer', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-context-support', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-expression', version: "${springVersion}"
+         //implementation group: 'org.springframework', name: 'spring-instrument', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-jcl', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-jdbc', version: "${springVersion}"
+         //implementation group: 'org.springframework', name: 'spring-jms', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-messaging', version: "${springVersion}"
+         //implementation group: 'org.springframework', name: 'spring-orm', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-oxm', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-tx', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-web', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-webflux', version: "${springVersion}"
+         implementation group: 'org.springframework', name: 'spring-webmvc', version: "${springVersion}"
+         //implementation group: 'org.springframework', name: 'spring-websocket', version: "${springVersion}"
          // https://mvnrepository.com/artifact/org.springframework.retry/spring-retry
-         implementation  group: 'org.springframework.retry', name: 'spring-retry', version: "${springretryVersion}"
+         implementation group: 'org.springframework.retry', name: 'spring-retry', version: "${springretryVersion}"
+         testImplementation  group: 'org.springframework', name: 'spring-test', version: "${springVersion}"
          
          //spring-security
-         implementation  group: 'org.springframework.security', name: 'spring-security-core', version: "${springSecurityVersion}"
-         implementation  group: 'org.springframework.security', name: 'spring-security-web', version: "${springSecurityVersion}"
-         implementation  group: 'org.springframework.security', name: 'spring-security-crypto', version: "${springSecurityVersion}"
+         implementation group: 'org.springframework.security', name: 'spring-security-core', version: "${springSecurityVersion}"
+         implementation group: 'org.springframework.security', name: 'spring-security-web', version: "${springSecurityVersion}"
+         implementation group: 'org.springframework.security', name: 'spring-security-crypto', version: "${springSecurityVersion}"
          //srpingboot
-         implementation  group: 'org.springframework.boot', name: 'spring-boot', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-actuator', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-actuator-autoconfigure', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-autoconfigure', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-freemarker', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-json', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-log4j2', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-logging', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-web', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version:  "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-webflux', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-reactor-netty', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis-reactive', version: "${springBootVersion}"
-         implementation  group: 'org.springframework.boot', name: 'spring-boot-starter-validation', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-actuator', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-actuator-autoconfigure', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-autoconfigure', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-freemarker', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-json', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-log4j2', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-logging', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version:  "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-webflux', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-reactor-netty', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis-reactive', version: "${springBootVersion}"
+         implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation', version: "${springBootVersion}"
          
          testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test', version:  "${springBootVersion}"
          //spring-boot-admin
          implementation group: 'de.codecentric', name: 'spring-boot-admin-client', version: "${springbootadminVersion}"
          implementation group: 'de.codecentric', name: 'spring-boot-admin-starter-client', version: "${springbootadminVersion}"
          //spring-data
-         implementation  group: 'org.springframework.data', name: 'spring-data-commons', version: "${springDataVersion}"
-         implementation  group: 'org.springframework.data', name: 'spring-data-keyvalue', version: "${springDataVersion}"
-         implementation  group: 'org.springframework.data', name: 'spring-data-redis', version: "${springDataVersion}"
+         implementation group: 'org.springframework.data', name: 'spring-data-commons', version: "${springDataVersion}"
+         implementation group: 'org.springframework.data', name: 'spring-data-keyvalue', version: "${springDataVersion}"
+         implementation group: 'org.springframework.data', name: 'spring-data-redis', version: "${springDataVersion}"
          //spring-session
-         implementation  group: 'org.springframework.session', name: 'spring-session-core', version: "${springSessionVersion}"
-         implementation  group: 'org.springframework.session', name: 'spring-session-data-redis', version: "${springSessionVersion}"
+         implementation group: 'org.springframework.session', name: 'spring-session-core', version: "${springSessionVersion}"
+         implementation group: 'org.springframework.session', name: 'spring-session-data-redis', version: "${springSessionVersion}"
          
-         //implementation  group: 'org.springframework.plugin', name: 'spring-plugin-core', version: "${springplugincoreVersion}"
-         //implementation  group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: "${springpluginmetadataVersion}"
+         //implementation group: 'org.springframework.plugin', name: 'spring-plugin-core', version: "${springplugincoreVersion}"
+         //implementation group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: "${springpluginmetadataVersion}"
          //spring cloud
-         implementation  group: 'org.springframework.cloud', name: 'spring-cloud-commons', version: "${springcloudVersion}"
-         implementation  group: 'org.springframework.cloud', name: 'spring-cloud-context', version: "${springcloudVersion}"
-         implementation  group: 'org.springframework.cloud', name: 'spring-cloud-starter', version: "${springcloudVersion}"
-         implementation  group: 'org.springframework.cloud', name: 'spring-cloud-starter-bootstrap', version: "${springcloudVersion}"
+         implementation group: 'org.springframework.cloud', name: 'spring-cloud-commons', version: "${springcloudVersion}"
+         implementation group: 'org.springframework.cloud', name: 'spring-cloud-context', version: "${springcloudVersion}"
+         implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter', version: "${springcloudVersion}"
+         implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-bootstrap', version: "${springcloudVersion}"
          //spring-cloud-alibaba
-         implementation  group: 'com.alibaba.spring', name: 'spring-context-support', version: "${springcloudalibabaspringVersion}"
-         implementation  group: 'com.alibaba.cloud', name: 'spring-cloud-alibaba-commons', version: "${springcloudalibabaVersion}"
+         implementation group: 'com.alibaba.spring', name: 'spring-context-support', version: "${springcloudalibabaspringVersion}"
+         implementation group: 'com.alibaba.cloud', name: 'spring-cloud-alibaba-commons', version: "${springcloudalibabaVersion}"
          //alibaba nacos
-         implementation  group: 'com.alibaba.nacos', name: 'nacos-client', version: "${alibabanacosclientVersion}"
-         implementation  group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-discovery', version: "${springcloudalibabaVersion}"
-         implementation  group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-config', version: "${springcloudalibabaVersion}"
+         implementation group: 'com.alibaba.nacos', name: 'nacos-client', version: "${alibabanacosclientVersion}"
+         implementation group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-discovery', version: "${springcloudalibabaVersion}"
+         implementation group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-config', version: "${springcloudalibabaVersion}"
+         
+         //Message Queue
+         //kafka support
+         // https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients
+         implementation group: 'org.apache.kafka', name: 'kafka-clients', version: "${kafkaclientsVersion}"
+         // https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka
+         implementation group: 'org.springframework.kafka', name: 'spring-kafka', version: "${springkafkaVersion}"
+         //rocketmq
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-common', version: "${rocketmqclientVersion}"
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-remoting', version: "${rocketmqclientVersion}"
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-logging', version: "${rocketmqclientVersion}"
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-client', version: "${rocketmqclientVersion}"
+         // https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-spring-boot
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-spring-boot', version: "${rocketmqspringbootVersion}"
+         implementation group: 'org.apache.rocketmq', name: 'rocketmq-spring-boot-starter', version: "${rocketmqspringbootVersion}"
          
-         //saml 
-         implementation  group: 'org.opensaml', name: 'opensaml', version: "${opensamlVersion}"
-         implementation  group: 'org.opensaml', name: 'openws', version: "${openwsVersion}"
-         implementation  group: 'org.opensaml', name: 'xmltooling', version: "${xmltoolingVersion}"
-         implementation  group: 'net.shibboleth.utilities', name: 'java-support', version: "${javasupportVersion}"
+         //saml see maxkey-lib
+         //implementation group: 'org.opensaml', name: 'opensaml', version: "${opensamlVersion}"
+         //implementation group: 'org.opensaml', name: 'openws', version: "${openwsVersion}"
+         //implementation group: 'org.opensaml', name: 'xmltooling', version: "${xmltoolingVersion}"
+         implementation group: 'net.shibboleth.utilities', name: 'java-support', version: "${javasupportVersion}"
          //jose-jwt
-         implementation  group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: "${nimbusjosejwtVersion}"
-         implementation  group: 'net.jcip', name: 'jcip-annotations', version: "${jcipannotationsVersion}"
-         implementation  group: 'net.minidev', name: 'json-smart', version: "${minidevjsonsmartVersion}"
-         implementation  group: 'net.minidev', name: 'asm', version: "${minidevasmVersion}"
+         implementation group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: "${nimbusjosejwtVersion}"
+         implementation group: 'net.jcip', name: 'jcip-annotations', version: "${jcipannotationsVersion}"
+         implementation group: 'net.minidev', name: 'json-smart', version: "${minidevjsonsmartVersion}"
+         implementation group: 'net.minidev', name: 'asm', version: "${minidevasmVersion}"
          //oauth third party JustAuth
-         implementation  group: 'com.xkcoding.http', name: 'simple-http', version: "${simplehttpVersion}"
-         implementation  group: 'me.zhyd.oauth', name: 'JustAuth', version: "${JustAuthVersion}"
+         implementation group: 'com.xkcoding.http', name: 'simple-http', version: "${simplehttpVersion}"
+         implementation group: 'me.zhyd.oauth', name: 'JustAuth', version: "${JustAuthVersion}"
          //common
-         implementation  group: 'org.javassist', name: 'javassist', version: "${javassistVersion}"
-         implementation  group: 'org.owasp.esapi', name: 'esapi', version: "${esapiVersion}"
-         implementation  group: 'com.sun.mail', name: 'javax.mail', version: "${javaxmailVersion}"
+         implementation group: 'org.javassist', name: 'javassist', version: "${javassistVersion}"
+         implementation group: 'org.owasp.esapi', name: 'esapi', version: "${esapiVersion}"
+         implementation group: 'com.sun.mail', name: 'javax.mail', version: "${javaxmailVersion}"
          // https://mvnrepository.com/artifact/org.eclipse.persistence/javax.persistence
          // for mybatis-jpa-extra
-         implementation  group: 'org.eclipse.persistence', name: 'javax.persistence', version: "${javaxpersistenceVersion}"
-         implementation  group: 'jakarta.persistence', name: 'jakarta.persistence-api', version: '3.0.0'
-         implementation  group: 'jakarta.annotation', name: 'jakarta.annotation-api', version: "${jakartaannotationVersion}"
-         implementation  group: 'jakarta.validation', name: 'jakarta.validation-api', version: "${jakartavalidationapiVersion}"
-         implementation  group: 'javax.activation', name: 'activation', version: "${activationVersion}"
-         implementation  group: 'javax.annotation', name: 'javax.annotation-api', version: "${javaxannotationapiVersion}"
-         implementation  group: 'javax.transaction', name: 'jta', version: "${jtaVersion}"
-         implementation  group: 'javax.transaction', name: 'javax.transaction-api', version: "${javaxtransactionapiVersion}"
-         implementation  group: 'javax.validation', name: 'validation-api', version: "${validationapiVersion}"
-         implementation  group: 'javax.xml', name: 'jsr173', version: "${jsr173Version}"
-         implementation  group: 'javax.xml.bind', name: 'jaxb-api', version: "${jaxbapiVersion}"
-         implementation  group: 'com.sun.xml.bind', name: 'jaxb-core', version: "${jaxbcoreVersion}"
-         implementation  group: 'com.sun.xml.bind', name: 'jaxb-impl', version: "${jaxbimplVersion}"
-         implementation  group: 'com.sun.xml.bind', name: 'jaxb-xjc',  version: "${jaxbxjcVersion}"
+         implementation group: 'org.eclipse.persistence', name: 'javax.persistence', version: "${javaxpersistenceVersion}"
+         implementation group: 'jakarta.persistence', name: 'jakarta.persistence-api', version: '3.0.0'
+         implementation group: 'jakarta.annotation', name: 'jakarta.annotation-api', version: "${jakartaannotationVersion}"
+         implementation group: 'jakarta.validation', name: 'jakarta.validation-api', version: "${jakartavalidationapiVersion}"
+         implementation group: 'javax.activation', name: 'activation', version: "${activationVersion}"
+         implementation group: 'javax.annotation', name: 'javax.annotation-api', version: "${javaxannotationapiVersion}"
+         implementation group: 'javax.transaction', name: 'jta', version: "${jtaVersion}"
+         implementation group: 'javax.transaction', name: 'javax.transaction-api', version: "${javaxtransactionapiVersion}"
+         implementation group: 'javax.validation', name: 'validation-api', version: "${validationapiVersion}"
+         implementation group: 'javax.xml', name: 'jsr173', version: "${jsr173Version}"
+         implementation group: 'javax.xml.bind', name: 'jaxb-api', version: "${jaxbapiVersion}"
+         implementation group: 'com.sun.xml.bind', name: 'jaxb-core', version: "${jaxbcoreVersion}"
+         implementation group: 'com.sun.xml.bind', name: 'jaxb-impl', version: "${jaxbimplVersion}"
+         implementation group: 'com.sun.xml.bind', name: 'jaxb-xjc',  version: "${jaxbxjcVersion}"
          //crypto
-         implementation  group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: "${bouncycastleVersion}"
-         implementation  group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: "${bouncycastleVersion}"
-         implementation  group: 'org.bouncycastle', name: 'bcprov-ext-jdk15on', version: "${bouncycastleVersion}"
+         implementation group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: "${bouncycastleVersion}"
+         implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: "${bouncycastleVersion}"
+         implementation group: 'org.bouncycastle', name: 'bcprov-ext-jdk15on', version: "${bouncycastleVersion}"
          //google
-         implementation  group: 'com.google.crypto.tink', name: 'tink', version: "${tinkVersion}"
+         implementation group: 'com.google.crypto.tink', name: 'tink', version: "${tinkVersion}"
          //kaptcha
-         implementation  group: 'com.jhlabs', name: 'filters', version: "${jhlabsfiltersVersion}"
-         implementation  group: 'com.github.penggle', name: 'kaptcha', version: "${kaptchaVersion}"
+         implementation group: 'com.jhlabs', name: 'filters', version: "${jhlabsfiltersVersion}"
+         implementation group: 'com.github.penggle', name: 'kaptcha', version: "${kaptchaVersion}"
          //json
-         implementation  group: 'com.google.code.gson', name: 'gson', version: "${gsonVersion}"
+         implementation group: 'com.google.code.gson', name: 'gson', version: "${gsonVersion}"
          //reactive
-         implementation  group: 'org.reactivestreams', name: 'reactive-streams', version: "${reactivestreamsVersion}"
-         implementation  group: 'io.projectreactor', name: 'reactor-core', version: "${reactorcoreVersion}"
-         implementation  group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: "${szxcvbnVersion}"
+         implementation group: 'org.reactivestreams', name: 'reactive-streams', version: "${reactivestreamsVersion}"
+         implementation group: 'io.projectreactor', name: 'reactor-core', version: "${reactorcoreVersion}"
+         implementation group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: "${szxcvbnVersion}"
          //quartz
-         implementation  group: 'org.quartz-scheduler', name: 'quartz', version: "${quartzVersion}"
+         implementation group: 'org.quartz-scheduler', name: 'quartz', version: "${quartzVersion}"
          //database
-         implementation  group: 'mysql', name: 'mysql-connector-java', version: "${mysqlconnectorjavaVersion}"
-         implementation  group: 'org.postgresql', name: 'postgresql', version: "${postgresqlVersion}"
-         implementation  group: 'com.alibaba', name: 'druid', version: "${druidVersion}"
-         implementation  group: 'com.alibaba', name: 'druid-spring-boot-starter', version: "${druidspringbootstarterVersion}"
-         implementation  group: 'redis.clients', name: 'jedis', version: "${jedisVersion}"
-         //implementation  group: 'org.liquibase', name: 'liquibase-core', version: '4.3.5'
+         implementation group: 'mysql', name: 'mysql-connector-java', version: "${mysqlconnectorjavaVersion}"
+         implementation group: 'org.postgresql', name: 'postgresql', version: "${postgresqlVersion}"
+         implementation group: 'com.alibaba', name: 'druid', version: "${druidVersion}"
+         implementation group: 'com.alibaba', name: 'druid-spring-boot-starter', version: "${druidspringbootstarterVersion}"
+         implementation group: 'redis.clients', name: 'jedis', version: "${jedisVersion}"
+         //implementation group: 'org.liquibase', name: 'liquibase-core', version: '4.3.5'
          implementation group: 'com.github.ben-manes.caffeine', name: 'caffeine', version: "${caffeineVersion}"
          //mybatis
-         implementation  group: 'org.mybatis', name: 'mybatis', version: "${mybatisVersion}"
-         implementation  group: 'org.mybatis', name: 'mybatis-spring', version: "${mybatisspringVersion}"
+         implementation group: 'org.mybatis', name: 'mybatis', version: "${mybatisVersion}"
+         implementation group: 'org.mybatis', name: 'mybatis-spring', version: "${mybatisspringVersion}"
          //hibernate
-         implementation  group: 'org.hibernate.validator', name: 'hibernate-validator', version: "${hibernateVersion}"
-         implementation  group: 'org.hibernate', name: 'hibernate-validator-cdi', version: "${hibernateVersion}"
-         implementation  group: 'org.hibernate.validator', name: 'hibernate-validator-annotation-processor', version: "${hibernateVersion}"
+         implementation group: 'org.hibernate.validator', name: 'hibernate-validator', version: "${hibernateVersion}"
+         implementation group: 'org.hibernate', name: 'hibernate-validator-cdi', version: "${hibernateVersion}"
+         implementation group: 'org.hibernate.validator', name: 'hibernate-validator-annotation-processor', version: "${hibernateVersion}"
          //usefull
-         implementation  group: 'joda-time', name: 'joda-time', version: "${jodatimeVersion}"
-         implementation  group: 'org.yaml', name: 'snakeyaml', version: "${snakeyamlVersion}"
-         implementation  group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: "${nekohtmlVersion}"
-         implementation  group: 'org.jdom', name: 'jdom', version: "${jdomVersion}"
-         implementation  group: 'com.google.zxing', name: 'core', version: "${zxingcoreVersion}"
-         implementation  group: 'com.google.guava', name: 'guava', version: "${guavaVersion}"
-         implementation  group: 'ognl', name: 'ognl', version: "${ognlVersion}"
-         implementation  group: 'cglib', name: 'cglib', version: "${cglibVersion}"
-         implementation  group: 'org.ow2.asm', name: 'asm', version: "${asmVersion}"
-         implementation  group: 'aopalliance', name: 'aopalliance', version: "${aopallianceVersion}"
-         implementation  group: 'org.aspectj', name: 'aspectjtools', version: "${aspectjtoolsVersion}"
-         implementation  group: 'dom4j', name: 'dom4j', version: "${dom4jVersion}"
-         implementation  group: 'xalan', name: 'serializer', version: "${serializerVersion}"
-         implementation  group: 'xml-resolver', name: 'xml-resolver', version: "${xmlresolverVersion}"
-         implementation  group: 'org.apache.santuario', name: 'xmlsec', version: "${xmlsecVersion}"
-         implementation  group: 'org.ogce', name: 'xpp3', version: "${xpp3Version}"
-         implementation  group: 'com.thoughtworks.xstream', name: 'xstream', version: "${xstreamVersion}"
-         implementation  group: 'org.passay', name: 'passay', version: "${passayVersion}"
-         implementation  group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}"
-         implementation  group: 'org.latencyutils', name: 'LatencyUtils', version: "${LatencyUtilsVersion}"
-         implementation  group: 'org.codehaus.woodstox', name: 'stax2-api', version: "${stax2apiVersion}"
-         implementation  group: 'org.reflections', name: 'reflections', version: '0.9.11'
-         implementation  group: 'io.prometheus', name: 'simpleclient', version: '0.5.0'
-         implementation  group: 'com.belerweb', name: 'pinyin4j', version: "${pinyin4jVersion}"
+         implementation group: 'joda-time', name: 'joda-time', version: "${jodatimeVersion}"
+         implementation group: 'org.yaml', name: 'snakeyaml', version: "${snakeyamlVersion}"
+         implementation group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: "${nekohtmlVersion}"
+         implementation group: 'org.jdom', name: 'jdom', version: "${jdomVersion}"
+         implementation group: 'com.google.zxing', name: 'core', version: "${zxingcoreVersion}"
+         implementation group: 'com.google.guava', name: 'guava', version: "${guavaVersion}"
+         implementation group: 'ognl', name: 'ognl', version: "${ognlVersion}"
+         implementation group: 'cglib', name: 'cglib', version: "${cglibVersion}"
+         implementation group: 'org.ow2.asm', name: 'asm', version: "${asmVersion}"
+         implementation group: 'aopalliance', name: 'aopalliance', version: "${aopallianceVersion}"
+         implementation group: 'org.aspectj', name: 'aspectjtools', version: "${aspectjtoolsVersion}"
+         implementation group: 'dom4j', name: 'dom4j', version: "${dom4jVersion}"
+         implementation group: 'xalan', name: 'serializer', version: "${serializerVersion}"
+         implementation group: 'xml-resolver', name: 'xml-resolver', version: "${xmlresolverVersion}"
+         implementation group: 'org.apache.santuario', name: 'xmlsec', version: "${xmlsecVersion}"
+         implementation group: 'org.ogce', name: 'xpp3', version: "${xpp3Version}"
+         implementation group: 'com.thoughtworks.xstream', name: 'xstream', version: "${xstreamVersion}"
+         implementation group: 'org.passay', name: 'passay', version: "${passayVersion}"
+         implementation group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}"
+         implementation group: 'org.latencyutils', name: 'LatencyUtils', version: "${LatencyUtilsVersion}"
+         implementation group: 'org.codehaus.woodstox', name: 'stax2-api', version: "${stax2apiVersion}"
+         implementation group: 'org.reflections', name: 'reflections', version: '0.9.11'
+         implementation group: 'io.prometheus', name: 'simpleclient', version: '0.5.0'
+         implementation group: 'com.belerweb', name: 'pinyin4j', version: "${pinyin4jVersion}"
          
+         implementation group: 'io.netty', name: 'netty-all', version: "${nettyVersion}"
           //阿里云
-         implementation  group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}"
+         implementation group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}"
          //腾讯云
-         implementation  group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: "${tencentcloudsdkjavaVersion}"
+         implementation group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: "${tencentcloudsdkjavaVersion}"
          //json
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jdk8', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.module', name: 'jackson-module-parameter-names', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.module', name: 'jackson-module-jaxb-annotations', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml.jackson.module', name: 'jackson-module-jakarta-xmlbind-annotations', version: "${jacksonVersion}"
-         implementation  group: 'com.fasterxml', name: 'classmate', version: "${classmateVersion}"
-         implementation  group: 'com.fasterxml.woodstox', name: 'woodstox-core', version: "${woodstoxVersion}"
-         implementation  group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
+         implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jdk8', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-parameter-names', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-jaxb-annotations', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-jakarta-xmlbind-annotations', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml', name: 'classmate', version: "${classmateVersion}"
+         implementation group: 'com.fasterxml.woodstox', name: 'woodstox-core', version: "${woodstoxVersion}"
+         implementation group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
          //docs
-         implementation  group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
-         //implementation  group: 'io.swagger', name: 'swagger-annotations', version: "${swaggerVersion}"
-         //implementation  group: 'io.swagger', name: 'swagger-models', version: "${swaggerVersion}"
-         implementation  group: 'io.swagger.core.v3', name: 'swagger-annotations', version: "${swaggerV3Version}"
-         implementation  group: 'io.swagger.core.v3', name: 'swagger-core', version: "${swaggerV3Version}"
-         implementation  group: 'io.swagger.core.v3', name: 'swagger-integration', version: "${swaggerV3Version}"
-         implementation  group: 'io.swagger.core.v3', name: 'swagger-models', version: "${swaggerV3Version}"
+         implementation group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
+         //implementation group: 'io.swagger', name: 'swagger-annotations', version: "${swaggerVersion}"
+         //implementation group: 'io.swagger', name: 'swagger-models', version: "${swaggerVersion}"
+         implementation group: 'io.swagger.core.v3', name: 'swagger-annotations', version: "${swaggerV3Version}"
+         implementation group: 'io.swagger.core.v3', name: 'swagger-core', version: "${swaggerV3Version}"
+         implementation group: 'io.swagger.core.v3', name: 'swagger-integration', version: "${swaggerV3Version}"
+         implementation group: 'io.swagger.core.v3', name: 'swagger-models', version: "${swaggerV3Version}"
          //springdoc
          implementation group: 'io.github.classgraph', name: 'classgraph', version: '4.8.137'
          implementation group: 'org.springdoc', name: 'springdoc-openapi-common', version: "${springdocVersion}"

+ 3 - 0
gradle.properties

@@ -30,6 +30,7 @@ commonspool2Version             =2.11.1
 commonshttpclientVersion        =3.1
 commonsfileuploadVersion        =1.4
 commonsemailVersion             =1.5
+commonsvalidatorVersion         =1.7
 httpcomponentsVersion           =4.5.13
 httpcoreVersion                 =4.4.14
 httpasyncclientVersion          =4.1.4
@@ -40,6 +41,8 @@ xmlbeansVersion                 =5.0.2
 commonscompressVersion          =1.20
 log4jVersion                    =2.17.1
 kafkaclientsVersion             =2.8.1
+rocketmqclientVersion           =4.9.2
+rocketmqspringbootVersion       =2.2.1
 poiVersion                      =5.1.0
 tomcatVersion                   =9.0.58
 tomcatembedloggingjuliVersion   =8.5.2

+ 19 - 11
maxkey-core/src/main/java/org/maxkey/configuration/ApplicationConfig.java

@@ -17,6 +17,7 @@
 
 package org.maxkey.configuration;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Configuration;
@@ -72,8 +73,8 @@ public class ApplicationConfig {
     @Value("${server.servlet.session.timeout:1800}")
     private int sessionTimeout;
 
-    @Value("${maxkey.server.kafka.support:false}")
-    private boolean kafkaSupport;
+    @Value("${maxkey.server.message.queue:none}")
+    private String messageQueue;
     
     @Value("${maxkey.notices.visible:false}")
     private boolean noticesVisible;
@@ -178,15 +179,22 @@ public class ApplicationConfig {
         this.defaultUri = defaultUri;
     }
 
-    public boolean isKafkaSupport() {
-        return kafkaSupport;
-    }
-
-    public void setKafkaSupport(boolean kafkaSupport) {
-        this.kafkaSupport = kafkaSupport;
-    }
+    public String getMessageQueue() {
+		return messageQueue;
+	}
+    
+    public boolean isMessageQueueSupport() {
+    	if(StringUtils.isBlank(messageQueue)||messageQueue.equalsIgnoreCase("none")) {
+    		return false;
+    	}
+		return true;
+	}
+    
+	public void setMessageQueue(String messageQueue) {
+		this.messageQueue = messageQueue;
+	}
 
-    public String getMgtUri() {
+	public String getMgtUri() {
 		return mgtUri;
 	}
 
@@ -242,7 +250,7 @@ public class ApplicationConfig {
         builder.append(", port=");
         builder.append(port);
         builder.append(", kafkaSupport=");
-        builder.append(kafkaSupport);
+        builder.append(messageQueue);
         builder.append(", maxKeyUri=");
         builder.append(authzUri);
         builder.append("]");

+ 2 - 2
maxkey-persistence/src/main/java/org/maxkey/persistence/kafka/KafkaIdentityAction.java → maxkey-persistence/src/main/java/org/maxkey/persistence/mq/MqIdentityAction.java

@@ -15,9 +15,9 @@
  */
  
 
-package org.maxkey.persistence.kafka;
+package org.maxkey.persistence.mq;
 
-public class KafkaIdentityAction {
+public class MqIdentityAction {
     
     public static String  CREATE_ACTION     = "CREATE_ACTION";
     

+ 2 - 2
maxkey-persistence/src/main/java/org/maxkey/persistence/kafka/KafkaIdentityTopic.java → maxkey-persistence/src/main/java/org/maxkey/persistence/mq/MqIdentityTopic.java

@@ -15,9 +15,9 @@
  */
  
 
-package org.maxkey.persistence.kafka;
+package org.maxkey.persistence.mq;
 
-public class KafkaIdentityTopic {
+public class MqIdentityTopic {
     
     public final static String   USERINFO_TOPIC                     = "MXK_IDENTITY_USERINFO_TOPIC";
     

+ 13 - 13
maxkey-persistence/src/main/java/org/maxkey/persistence/kafka/KafkaMessage.java → maxkey-persistence/src/main/java/org/maxkey/persistence/mq/MqMessage.java

@@ -15,14 +15,14 @@
  */
  
 
-package org.maxkey.persistence.kafka;
+package org.maxkey.persistence.mq;
 
-public class KafkaMessage {
+public class MqMessage {
 
+	String id;
     String topic;
     String actionType;
     String sendTime;
-    String msgId;
     Object content;
 
     public String getTopic() {
@@ -49,15 +49,15 @@ public class KafkaMessage {
         this.sendTime = sendTime;
     }
 
-    public String getMsgId() {
-        return msgId;
-    }
+    public String getId() {
+		return id;
+	}
 
-    public void setMsgId(String msgId) {
-        this.msgId = msgId;
-    }
+	public void setId(String id) {
+		this.id = id;
+	}
 
-    public Object getContent() {
+	public Object getContent() {
         return content;
     }
 
@@ -65,15 +65,15 @@ public class KafkaMessage {
         this.content = content;
     }
 
-    public KafkaMessage() {
+    public MqMessage() {
     }
 
-	public KafkaMessage(String topic, String actionType, String sendTime, String msgId, Object content) {
+	public MqMessage(String id,String topic, String actionType, String sendTime,  Object content) {
 		super();
+		this.id = id;
 		this.topic = topic;
 		this.actionType = actionType;
 		this.sendTime = sendTime;
-		this.msgId = msgId;
 		this.content = content;
 	}
     

+ 25 - 43
maxkey-persistence/src/main/java/org/maxkey/persistence/kafka/KafkaPersistService.java → maxkey-persistence/src/main/java/org/maxkey/persistence/mq/MqPersistService.java

@@ -15,12 +15,14 @@
  */
  
 
-package org.maxkey.persistence.kafka;
+package org.maxkey.persistence.mq;
 
 import java.util.UUID;
 
+import org.apache.rocketmq.spring.core.RocketMQTemplate;
 import org.maxkey.configuration.ApplicationConfig;
-import org.maxkey.pretty.PrettyFactory;
+import org.maxkey.persistence.mq.thread.KafkaProvisioningThread;
+import org.maxkey.persistence.mq.thread.RocketMQProvisioningThread;
 import org.maxkey.util.DateUtils;
 import org.maxkey.util.JsonUtils;
 import org.slf4j.Logger;
@@ -30,14 +32,17 @@ import org.springframework.kafka.core.KafkaTemplate;
 import org.springframework.stereotype.Component;
 
 @Component
-public class KafkaPersistService {
-    private static final Logger _logger = LoggerFactory.getLogger(KafkaPersistService.class);
+public class MqPersistService {
+    private static final Logger _logger = LoggerFactory.getLogger(MqPersistService.class);
     
     @Autowired
     protected ApplicationConfig applicationConfig;
     
     @Autowired
     protected KafkaTemplate<String, String> kafkaTemplate;
+    
+    @Autowired
+    private RocketMQTemplate rocketMQTemplate;
 
     public void setApplicationConfig(ApplicationConfig applicationConfig) {
         this.applicationConfig = applicationConfig;
@@ -58,50 +63,27 @@ public class KafkaPersistService {
      * @param actionType CREATE UPDATE DELETE
      */
     public void send(String topic,Object content,String actionType) {
-        //maxkey.server.kafka.support , if true 
-        if(applicationConfig.isKafkaSupport()) {
-            KafkaMessage message = 
-            		new KafkaMessage(
-            				topic,	//kafka TOPIC
-            				actionType,	//action of content
-            				DateUtils.getCurrentDateTimeAsString(),	//send to kafka time
+        //maxkey.server.message.queue , if not none , Kafka , RocketMQ
+        if(applicationConfig.isMessageQueueSupport()) {
+            MqMessage message = 
+            		new MqMessage(
             				UUID.randomUUID().toString(),	//message id as uuid
+            				topic,	//TOPIC
+            				actionType,	//action of content
+            				DateUtils.getCurrentDateTimeAsString(),	//send time
             				content 	//content Object to json message content
             				);
             String msg = JsonUtils.gson2Json(message);
-            //sand msg to Kafka topic
-            KafkaProvisioningThread thread = 
-                    new  KafkaProvisioningThread(kafkaTemplate,topic,msg);
+            //sand msg to MQ topic
+            Thread thread = null;
+            if(applicationConfig.getMessageQueue().equalsIgnoreCase("Kafka")) {
+            	_logger.trace("Kafka message...");
+            	thread = new  KafkaProvisioningThread(kafkaTemplate,topic,msg);
+            }else if(applicationConfig.getMessageQueue().equalsIgnoreCase("RocketMQ")) {
+            	_logger.trace("RocketMQ message...");
+            	thread = new  RocketMQProvisioningThread(rocketMQTemplate,topic,msg);
+            }
             thread.start();
         }
     }
-    
-    /**
-     * KafkaProvisioningThread for send message
-     *
-     */
-    class KafkaProvisioningThread extends Thread{
-
-        KafkaTemplate<String, String> kafkaTemplate;
-        
-        String topic ;
-        
-        String msg;
-        
-        public KafkaProvisioningThread(
-                                KafkaTemplate<String, String> kafkaTemplate, 
-                                String topic, 
-                                String msg) {
-            this.kafkaTemplate = kafkaTemplate;
-            this.topic = topic;
-            this.msg = msg;
-        }
-
-        @Override
-        public void run() {
-        	_logger.debug("send message \n{}" , PrettyFactory.getJsonPretty().format(msg));
-            kafkaTemplate.send(topic, msg);
-            _logger.debug("send to Message Queue finished .");
-        }
-    }
 }

+ 52 - 0
maxkey-persistence/src/main/java/org/maxkey/persistence/mq/thread/KafkaProvisioningThread.java

@@ -0,0 +1,52 @@
+/*
+ * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.maxkey.persistence.mq.thread;
+
+import org.maxkey.pretty.PrettyFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.kafka.core.KafkaTemplate;
+
+/**
+ * Kafka Provisioning Thread for send message
+ *
+ */
+public class KafkaProvisioningThread extends Thread{
+	private static final Logger _logger = LoggerFactory.getLogger(KafkaProvisioningThread.class);
+	
+    KafkaTemplate<String, String> kafkaTemplate;
+    
+    String topic ;
+    
+    String msg;
+    
+    public KafkaProvisioningThread(
+                            KafkaTemplate<String, String> kafkaTemplate, 
+                            String topic, 
+                            String msg) {
+        this.kafkaTemplate = kafkaTemplate;
+        this.topic = topic;
+        this.msg = msg;
+    }
+
+    @Override
+    public void run() {
+    	_logger.debug("send message \n{}" , PrettyFactory.getJsonPretty().format(msg));
+        kafkaTemplate.send(topic, msg);
+        _logger.debug("send to Message Queue finished .");
+    }
+}

+ 54 - 0
maxkey-persistence/src/main/java/org/maxkey/persistence/mq/thread/RocketMQProvisioningThread.java

@@ -0,0 +1,54 @@
+/*
+ * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.maxkey.persistence.mq.thread;
+
+import org.apache.rocketmq.spring.core.RocketMQTemplate;
+import org.maxkey.pretty.PrettyFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.messaging.support.MessageBuilder;
+
+/**
+ * RocketMQ Provisioning Thread for send message
+ *
+ */
+public class RocketMQProvisioningThread extends Thread{
+
+	private static final Logger _logger = LoggerFactory.getLogger(RocketMQProvisioningThread.class);
+			
+	RocketMQTemplate rocketMQTemplate;
+    
+    String topic ;
+    
+    String msg;
+    
+    public RocketMQProvisioningThread(
+    						RocketMQTemplate rocketMQTemplate, 
+                            String topic, 
+                            String msg) {
+        this.rocketMQTemplate = rocketMQTemplate;
+        this.topic = topic;
+        this.msg = msg;
+    }
+
+    @Override
+    public void run() {
+    	_logger.debug("send message \n{}" , PrettyFactory.getJsonPretty().format(msg));
+    	rocketMQTemplate.syncSend(topic, MessageBuilder.withPayload(msg).build());
+        _logger.debug("send to Message Queue finished .");
+    }
+}

+ 16 - 16
maxkey-persistence/src/main/java/org/maxkey/persistence/service/AccountsService.java

@@ -26,10 +26,10 @@ import org.maxkey.entity.Accounts;
 import org.maxkey.entity.AccountsStrategy;
 import org.maxkey.entity.OrganizationsCast;
 import org.maxkey.entity.UserInfo;
-import org.maxkey.persistence.kafka.KafkaIdentityAction;
-import org.maxkey.persistence.kafka.KafkaIdentityTopic;
-import org.maxkey.persistence.kafka.KafkaPersistService;
 import org.maxkey.persistence.mapper.AccountsMapper;
+import org.maxkey.persistence.mq.MqIdentityAction;
+import org.maxkey.persistence.mq.MqIdentityTopic;
+import org.maxkey.persistence.mq.MqPersistService;
 import org.maxkey.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
@@ -45,7 +45,7 @@ import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombi
 public class AccountsService  extends JpaBaseService<Accounts>{
 
     @Autowired
-    KafkaPersistService kafkaPersistService;
+    MqPersistService mqPersistService;
     
     @Autowired
     UserInfoService  userInfoService;
@@ -71,17 +71,17 @@ public class AccountsService  extends JpaBaseService<Accounts>{
 	
 	 public boolean insert(Accounts account) {
 	     if (super.insert(account)) {
-	            if(kafkaPersistService.getApplicationConfig().isKafkaSupport()) {
+	            if(mqPersistService.getApplicationConfig().isMessageQueueSupport()) {
 	                UserInfo loadUserInfo = userInfoService.findUserRelated(account.getUserId());
 	                account.setUserInfo(loadUserInfo);
 	                OrganizationsCast cast = new OrganizationsCast();
                     cast.setProvider(account.getAppId());
                     cast.setOrgId(loadUserInfo.getDepartmentId());
                     account.setOrgCast(organizationsCastService.query(cast));
-	                kafkaPersistService.send(
-	                        KafkaIdentityTopic.ACCOUNT_TOPIC, 
+                    mqPersistService.send(
+	                        MqIdentityTopic.ACCOUNT_TOPIC, 
 	                        account,
-	                        KafkaIdentityAction.CREATE_ACTION);
+	                        MqIdentityAction.CREATE_ACTION);
 	            }
 	            
 	            return true;
@@ -91,17 +91,17 @@ public class AccountsService  extends JpaBaseService<Accounts>{
 	 
    public boolean update(Accounts account) {
          if (super.update(account)) {
-                if(kafkaPersistService.getApplicationConfig().isKafkaSupport()) {
+        	 if(mqPersistService.getApplicationConfig().isMessageQueueSupport()) {
                     UserInfo loadUserInfo = userInfoService.findUserRelated(account.getUserId());
                     account.setUserInfo(loadUserInfo);
                     OrganizationsCast cast = new OrganizationsCast();
                     cast.setProvider(account.getAppId());
                     cast.setOrgId(loadUserInfo.getDepartmentId());
                     account.setOrgCast(organizationsCastService.query(cast));
-                    kafkaPersistService.send(
-                            KafkaIdentityTopic.ACCOUNT_TOPIC, 
+                    mqPersistService.send(
+                            MqIdentityTopic.ACCOUNT_TOPIC, 
                             account,
-                            KafkaIdentityAction.UPDATE_ACTION);
+                            MqIdentityAction.UPDATE_ACTION);
                 }
                 
                 return true;
@@ -113,13 +113,13 @@ public class AccountsService  extends JpaBaseService<Accounts>{
        Accounts account = this.get(id);
        if (super.remove(id)) {
               UserInfo loadUserInfo = null;
-              if(kafkaPersistService.getApplicationConfig().isKafkaSupport()) {
+              if(mqPersistService.getApplicationConfig().isMessageQueueSupport()) {
                   loadUserInfo = userInfoService.findUserRelated(account.getUserId());
                   account.setUserInfo(loadUserInfo);
-                  kafkaPersistService.send(
-                          KafkaIdentityTopic.ACCOUNT_TOPIC, 
+                  mqPersistService.send(
+                          MqIdentityTopic.ACCOUNT_TOPIC, 
                           account,
-                          KafkaIdentityAction.DELETE_ACTION);
+                          MqIdentityAction.DELETE_ACTION);
               }
               
               return true;

+ 10 - 10
maxkey-persistence/src/main/java/org/maxkey/persistence/service/OrganizationsService.java

@@ -23,10 +23,10 @@ import org.apache.mybatis.jpa.persistence.JpaBaseService;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.CellType;
 import org.maxkey.entity.Organizations;
-import org.maxkey.persistence.kafka.KafkaIdentityAction;
-import org.maxkey.persistence.kafka.KafkaIdentityTopic;
-import org.maxkey.persistence.kafka.KafkaPersistService;
 import org.maxkey.persistence.mapper.OrganizationsMapper;
+import org.maxkey.persistence.mq.MqIdentityAction;
+import org.maxkey.persistence.mq.MqIdentityTopic;
+import org.maxkey.persistence.mq.MqPersistService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
 
@@ -35,7 +35,7 @@ import org.springframework.stereotype.Repository;
 public class OrganizationsService  extends JpaBaseService<Organizations>{
 
     @Autowired
-    KafkaPersistService kafkaPersistService;
+    MqPersistService mqPersistService;
     
 	public OrganizationsService() {
 		super(OrganizationsMapper.class);
@@ -51,8 +51,8 @@ public class OrganizationsService  extends JpaBaseService<Organizations>{
 	
 	 public boolean insert(Organizations organization) {
 	     if(super.insert(organization)){
-	    	 kafkaPersistService.send(
-                     KafkaIdentityTopic.ORG_TOPIC, organization, KafkaIdentityAction.CREATE_ACTION);
+	    	 mqPersistService.send(
+                     MqIdentityTopic.ORG_TOPIC, organization, MqIdentityAction.CREATE_ACTION);
              return true;
          }
          return false;
@@ -60,8 +60,8 @@ public class OrganizationsService  extends JpaBaseService<Organizations>{
 	 
 	 public boolean update(Organizations organization) {
 	     if(super.update(organization)){
-	    	 kafkaPersistService.send(
-                     KafkaIdentityTopic.ORG_TOPIC, organization, KafkaIdentityAction.UPDATE_ACTION);
+	    	 mqPersistService.send(
+                     MqIdentityTopic.ORG_TOPIC, organization, MqIdentityAction.UPDATE_ACTION);
              return true;
          }
          return false;
@@ -82,8 +82,8 @@ public class OrganizationsService  extends JpaBaseService<Organizations>{
 	 
 	 public boolean delete(Organizations organization) {
 	     if(super.delete(organization)){
-	    	 kafkaPersistService.send(
-                     KafkaIdentityTopic.ORG_TOPIC, organization, KafkaIdentityAction.DELETE_ACTION);
+	    	 mqPersistService.send(
+                     MqIdentityTopic.ORG_TOPIC, organization, MqIdentityAction.DELETE_ACTION);
              return true;
          }
          return false;

+ 19 - 19
maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java

@@ -26,10 +26,10 @@ import org.maxkey.crypto.password.PasswordReciprocal;
 import org.maxkey.entity.Accounts;
 import org.maxkey.entity.ChangePassword;
 import org.maxkey.entity.UserInfo;
-import org.maxkey.persistence.kafka.KafkaIdentityAction;
-import org.maxkey.persistence.kafka.KafkaIdentityTopic;
-import org.maxkey.persistence.kafka.KafkaPersistService;
 import org.maxkey.persistence.mapper.UserInfoMapper;
+import org.maxkey.persistence.mq.MqIdentityAction;
+import org.maxkey.persistence.mq.MqIdentityTopic;
+import org.maxkey.persistence.mq.MqPersistService;
 import org.maxkey.persistence.repository.PasswordPolicyValidator;
 import org.maxkey.util.DateUtils;
 import org.maxkey.util.StringUtils;
@@ -57,7 +57,7 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
 	PasswordPolicyValidator passwordPolicyValidator;
 	
 	@Autowired
-	KafkaPersistService kafkaPersistService;
+	MqPersistService mqPersistService;
 	
 	 @Autowired
 	 protected JdbcTemplate jdbcTemplate;
@@ -79,12 +79,12 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
     public boolean insert(UserInfo userInfo) {
         userInfo = passwordEncoder(userInfo);
         if (super.insert(userInfo)) {
-            if(kafkaPersistService.getApplicationConfig().isKafkaSupport()) {
+        	if(mqPersistService.getApplicationConfig().isMessageQueueSupport()) {
                 UserInfo loadUserInfo = findUserRelated(userInfo.getId());
-                kafkaPersistService.send(
-                        KafkaIdentityTopic.USERINFO_TOPIC, 
+                mqPersistService.send(
+                        MqIdentityTopic.USERINFO_TOPIC, 
                         loadUserInfo,
-                        KafkaIdentityAction.CREATE_ACTION);
+                        MqIdentityAction.CREATE_ACTION);
             }
             
             return true;
@@ -96,13 +96,13 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
     public boolean update(UserInfo userInfo) {
         userInfo = passwordEncoder(userInfo);
         if (super.update(userInfo)) {
-            if(kafkaPersistService.getApplicationConfig().isKafkaSupport()) {
+        	if(mqPersistService.getApplicationConfig().isMessageQueueSupport()) {
                 UserInfo loadUserInfo = findUserRelated(userInfo.getId());
                 accountUpdate(loadUserInfo);
-                kafkaPersistService.send(
-                        KafkaIdentityTopic.USERINFO_TOPIC, 
+                mqPersistService.send(
+                        MqIdentityTopic.USERINFO_TOPIC, 
                         loadUserInfo,
-                        KafkaIdentityAction.UPDATE_ACTION);
+                        MqIdentityAction.UPDATE_ACTION);
             }
             
             changePasswordProvisioning(userInfo);
@@ -113,15 +113,15 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
 	
 	public boolean delete(UserInfo userInfo) {
 	    UserInfo loadUserInfo = null;
-	    if(kafkaPersistService.getApplicationConfig().isKafkaSupport()) {
+	    if(mqPersistService.getApplicationConfig().isMessageQueueSupport()) {
 	        loadUserInfo = findUserRelated(userInfo.getId());
 	    }
 	    
 		if( super.delete(userInfo)){
-			kafkaPersistService.send(
-		            KafkaIdentityTopic.USERINFO_TOPIC, 
+			mqPersistService.send(
+		            MqIdentityTopic.USERINFO_TOPIC, 
 		            loadUserInfo, 
-		            KafkaIdentityAction.DELETE_ACTION);
+		            MqIdentityAction.DELETE_ACTION);
 			accountUpdate(loadUserInfo);
 			 return true;
 		}
@@ -326,10 +326,10 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
             changePassword.setDecipherable(loadUserInfo.getDecipherable());
             changePassword.setPassword(loadUserInfo.getPassword());
             changePassword.setInstId(loadUserInfo.getInstId());
-            kafkaPersistService.send(
-                    KafkaIdentityTopic.PASSWORD_TOPIC, 
+            mqPersistService.send(
+                    MqIdentityTopic.PASSWORD_TOPIC, 
                     changePassword, 
-                    KafkaIdentityAction.PASSWORD_ACTION);
+                    MqIdentityAction.PASSWORD_ACTION);
 	    }
 	}
 	

+ 8 - 3
maxkey-webs/maxkey-web-maxkey/src/main/resources/application-http.properties

@@ -41,8 +41,8 @@ maxkey.server.mgt.uri                           =${maxkey.server.name}:9527/maxk
 maxkey.server.authz.uri                         =${maxkey.server.name}:${server.port}${server.servlet.context-path}
 #InMemory 0 , Redis 2               
 maxkey.server.persistence                       =${SERVER_PERSISTENCE:0}
-#identity               
-maxkey.server.kafka.support                     =${SERVER_KAFKA_SUPPORT:false}
+#identity none, Kafka ,RocketMQ
+maxkey.server.message.queue                     =${SERVER_MESSAGE_QUEUE:none}
 #issuer name                
 maxkey.app.issuer                               =CN=ConSec,CN=COM,CN=SH
 ############################################################################
@@ -175,7 +175,12 @@ spring.kafka.producer.key-serializer            =org.apache.kafka.common.seriali
 spring.kafka.producer.value-serializer          =org.apache.kafka.common.serialization.StringSerializer
 # partitioner
 #spring.kafka.producer.properties.partitioner.class=com.felix.kafka.producer.CustomizePartitioner
-
+############################################################################
+#RocketMQ for connectors configuration                                        #
+############################################################################
+rocketmq.name-server=${ROCKETMQ_SERVERS:localhost:9876}
+rocketmq.producer.enable=true
+rocketmq.producer.group=maxkey_identity
 ############################################################################ 
 #Time-based One-Time Password configuration                                #
 ############################################################################

+ 8 - 3
maxkey-webs/maxkey-web-maxkey/src/main/resources/application-https.properties

@@ -41,8 +41,8 @@ maxkey.server.mgt.uri                           =${maxkey.server.name}:9527/maxk
 maxkey.server.authz.uri                         =${maxkey.server.name}${server.servlet.context-path}
 #InMemory 0 , Redis 2               
 maxkey.server.persistence                       =${SERVER_PERSISTENCE:0}
-#identity               
-maxkey.server.kafka.support                     =${SERVER_KAFKA_SUPPORT:false}
+#identity none, Kafka ,RocketMQ
+maxkey.server.message.queue                     =${SERVER_MESSAGE_QUEUE:none}
 #issuer name                
 maxkey.app.issuer                               =CN=ConSec,CN=COM,CN=SH
 
@@ -177,7 +177,12 @@ spring.kafka.producer.key-serializer            =org.apache.kafka.common.seriali
 spring.kafka.producer.value-serializer          =org.apache.kafka.common.serialization.StringSerializer
 # partitioner
 #spring.kafka.producer.properties.partitioner.class=com.felix.kafka.producer.CustomizePartitioner
-
+############################################################################
+#RocketMQ for connectors configuration                                        #
+############################################################################
+rocketmq.name-server=${ROCKETMQ_SERVERS:localhost:9876}
+rocketmq.producer.enable=true
+rocketmq.producer.group=maxkey_identity
 ############################################################################ 
 #Time-based One-Time Password configuration                                #
 ############################################################################

+ 8 - 2
maxkey-webs/maxkey-web-mgt/src/main/resources/application-http.properties

@@ -37,8 +37,8 @@ maxkey.server.mgt.uri                           =${maxkey.server.uri}
 maxkey.server.authz.uri                         =https://${maxkey.server.domain}/maxkey
 #InMemory 0 , Redis 2 
 maxkey.server.persistence                       =0
-#identity
-maxkey.server.kafka.support                     =${SERVER_KAFKA_SUPPORT:false}
+#identity none, Kafka ,RocketMQ
+maxkey.server.message.queue                     =${SERVER_MESSAGE_QUEUE:none}
 
 ############################################################################
 #Login configuration                                                       #
@@ -160,6 +160,12 @@ spring.kafka.producer.key-serializer            =org.apache.kafka.common.seriali
 spring.kafka.producer.value-serializer          =org.apache.kafka.common.serialization.StringSerializer
 # partitioner
 #spring.kafka.producer.properties.partitioner.class=com.felix.kafka.producer.CustomizePartitioner
+############################################################################
+#RocketMQ for connectors configuration                                        #
+############################################################################
+rocketmq.name-server=${ROCKETMQ_SERVERS:localhost:9876}
+rocketmq.producer.enable=true
+rocketmq.producer.group=maxkey_identity
 ############################################################################ 
 #Time-based One-Time Password configuration                                #
 ############################################################################