学习笔记2021-01-13

目标:

  1. 下载soul源码
  2. 初步浏览soul的工程结构
  3. 成功启动soul-admin工程
  4. 成功启动soul-bootstrap工程
  5. 总结

 

 

1.下载源码:

soul 的github源码地址是: https://github.com/dromara/soul

soul 的gitee源码地址是: https://gitee.com/shuaiqiyu/soul?_from=gitee_search

soul 文档查看的地址: https://dromara.org/zh-cn/docs/soul/soul.html

使用git clone 代码,我本机使用的是idea 作为开发工具。下载后使用在idea 中使用maven命令:clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true 进行编译。

在命令行的话使用:mvn clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true 进行编译。

 

2. 初步浏览soul的工程结构:

编译好的工程如图:

学习笔记2021-01-13_第1张图片

 

下面对每个工程进行说明:

工程名称

说明

doc

存放了所有soul的文档,文档都是md格式.主要有3种类型的前缀:dev、plugin、user

script

放置了soul 数据库表设计、soul_checkstyle 文件

soul-admin

soul后台管理系统

soul-bootstrap

soul网关启动程序

soul-client

soul客户端,包含了:common、dubbo、http、sofa、tars

soul-common

soul通用类

soul-dist

soul 打包和发布

soul-example

soul实例代码工程

soul-metrics

soul监控工程

soul-plugin

soul插件工程

soul-register-center

soul注册中心代码工程

soul-spi

spi工程

soul-spring-boot-starter

soul的spring boot 启动配置工程

soul-sync-data-center

soul 同步数据工程

soul-web

soul接口工程

 

3.启动启动soul-admin工程:

在soul-admin 工程中配置application.yml 中mysql数据库信息。然后直接启动SoulAdminBootstrap类型。得到的日志如下:

"C:\Program Files\Java\jdk1.8.0_221\bin\java.exe" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:58768,suspend=y,server=n -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -javaagent:C:\Users\W10\AppData\Local\JetBrains\IntelliJIdea2020.3\captureAgent\debugger-agent.jar -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_221\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\rt.jar;F:\源码学习\soul\soul-admin\target\classes;F:\源码学习\soul\soul-common\target\classes;D:\Repositories\com\google\code\gson\gson\2.8.0\gson-2.8.0.jar;D:\Repositories\org\apache\commons\commons-lang3\3.3.2\commons-lang3-3.3.2.jar;D:\Repositories\org\springframework\boot\spring-boot-starter-json\2.2.2.RELEASE\spring-boot-starter-json-2.2.2.RELEASE.jar;D:\Repositories\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.10.1\jackson-datatype-jdk8-2.10.1.jar;D:\Repositories\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.10.1\jackson-datatype-jsr310-2.10.1.jar;D:\Repositories\com\fasterxml\jackson\module\jackson-module-parameter-names\2.10.1\jackson-module-parameter-names-2.10.1.jar;D:\Repositories\com\fasterxml\jackson\core\jackson-databind\2.10.1\jackson-databind-2.10.1.jar;D:\Repositories\com\fasterxml\jackson\core\jackson-annotations\2.10.1\jackson-annotations-2.10.1.jar;D:\Repositories\org\springframework\boot\spring-boot-starter-web\2.2.2.RELEASE\spring-boot-starter-web-2.2.2.RELEASE.jar;D:\Repositories\org\springframework\boot\spring-boot-starter\2.2.2.RELEASE\spring-boot-starter-2.2.2.RELEASE.jar;D:\Repositories\org\springframework\boot\spring-boot\2.2.2.RELEASE\spring-boot-2.2.2.RELEASE.jar;D:\Repositories\org\springframework\boot\spring-boot-autoconfigure\2.2.2.RELEASE\spring-boot-autoconfigure-2.2.2.RELEASE.jar;D:\Repositories\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;D:\Repositories\org\springframework\boot\spring-boot-starter-tomcat\2.2.2.RELEASE\spring-boot-starter-tomcat-2.2.2.RELEASE.jar;D:\Repositories\org\apache\tomcat\embed\tomcat-embed-core\9.0.29\tomcat-embed-core-9.0.29.jar;D:\Repositories\org\apache\tomcat\embed\tomcat-embed-el\9.0.29\tomcat-embed-el-9.0.29.jar;D:\Repositories\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.29\tomcat-embed-websocket-9.0.29.jar;D:\Repositories\org\springframework\boot\spring-boot-starter-validation\2.2.2.RELEASE\spring-boot-starter-validation-2.2.2.RELEASE.jar;D:\Repositories\jakarta\validation\jakarta.validation-api\2.0.1\jakarta.validation-api-2.0.1.jar;D:\Repositories\org\hibernate\validator\hibernate-validator\6.0.18.Final\hibernate-validator-6.0.18.Final.jar;D:\Repositories\org\jboss\logging\jboss-logging\3.4.1.Final\jboss-logging-3.4.1.Final.jar;D:\Repositories\org\springframework\spring-web\5.2.2.RELEASE\spring-web-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-webmvc\5.2.2.RELEASE\spring-webmvc-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-aop\5.2.2.RELEASE\spring-aop-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\boot\spring-boot-starter-logging\2.2.2.RELEASE\spring-boot-starter-logging-2.2.2.RELEASE.jar;D:\Repositories\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;D:\Repositories\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;D:\Repositories\org\apache\logging\log4j\log4j-to-slf4j\2.12.1\log4j-to-slf4j-2.12.1.jar;D:\Repositories\org\apache\logging\log4j\log4j-api\2.12.1\log4j-api-2.12.1.jar;D:\Repositories\org\slf4j\jul-to-slf4j\1.7.29\jul-to-slf4j-1.7.29.jar;D:\Repositories\org\springframework\boot\spring-boot-starter-websocket\2.2.2.RELEASE\spring-boot-starter-websocket-2.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-messaging\5.2.2.RELEASE\spring-messaging-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-websocket\5.2.2.RELEASE\spring-websocket-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\boot\spring-boot-starter-actuator\2.2.2.RELEASE\spring-boot-starter-actuator-2.2.2.RELEASE.jar;D:\Repositories\org\springframework\boot\spring-boot-actuator-autoconfigure\2.2.2.RELEASE\spring-boot-actuator-autoconfigure-2.2.2.RELEASE.jar;D:\Repositories\org\springframework\boot\spring-boot-actuator\2.2.2.RELEASE\spring-boot-actuator-2.2.2.RELEASE.jar;D:\Repositories\io\micrometer\micrometer-core\1.3.1\micrometer-core-1.3.1.jar;D:\Repositories\org\hdrhistogram\HdrHistogram\2.1.11\HdrHistogram-2.1.11.jar;D:\Repositories\org\latencyutils\LatencyUtils\2.0.3\LatencyUtils-2.0.3.jar;D:\Repositories\org\springframework\boot\spring-boot-starter-thymeleaf\2.2.2.RELEASE\spring-boot-starter-thymeleaf-2.2.2.RELEASE.jar;D:\Repositories\org\thymeleaf\thymeleaf-spring5\3.0.11.RELEASE\thymeleaf-spring5-3.0.11.RELEASE.jar;D:\Repositories\org\thymeleaf\thymeleaf\3.0.11.RELEASE\thymeleaf-3.0.11.RELEASE.jar;D:\Repositories\org\attoparser\attoparser\2.0.5.RELEASE\attoparser-2.0.5.RELEASE.jar;D:\Repositories\org\unbescape\unbescape\1.1.6.RELEASE\unbescape-1.1.6.RELEASE.jar;D:\Repositories\org\thymeleaf\extras\thymeleaf-extras-java8time\3.0.4.RELEASE\thymeleaf-extras-java8time-3.0.4.RELEASE.jar;D:\Repositories\org\springframework\boot\spring-boot-configuration-processor\2.2.2.RELEASE\spring-boot-configuration-processor-2.2.2.RELEASE.jar;D:\Repositories\org\projectreactor\reactor-spring\1.0.1.RELEASE\reactor-spring-1.0.1.RELEASE.jar;D:\Repositories\com\jayway\jsonpath\json-path\2.4.0\json-path-2.4.0.jar;D:\Repositories\net\minidev\json-smart\2.3\json-smart-2.3.jar;D:\Repositories\net\minidev\accessors-smart\1.2\accessors-smart-1.2.jar;D:\Repositories\org\ow2\asm\asm\5.0.4\asm-5.0.4.jar;D:\Repositories\org\projectreactor\reactor-core\1.0.1.RELEASE\reactor-core-1.0.1.RELEASE.jar;D:\Repositories\com\lmax\disruptor\3.4.0\disruptor-3.4.0.jar;D:\Repositories\org\springframework\spring-beans\5.2.2.RELEASE\spring-beans-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-context\5.2.2.RELEASE\spring-context-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-context-support\5.2.2.RELEASE\spring-context-support-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-core\5.2.2.RELEASE\spring-core-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-jcl\5.2.2.RELEASE\spring-jcl-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-expression\5.2.2.RELEASE\spring-expression-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-tx\5.2.2.RELEASE\spring-tx-5.2.2.RELEASE.jar;D:\Repositories\org\mybatis\spring\boot\mybatis-spring-boot-starter\1.1.1\mybatis-spring-boot-starter-1.1.1.jar;D:\Repositories\org\mybatis\spring\boot\mybatis-spring-boot-autoconfigure\1.1.1\mybatis-spring-boot-autoconfigure-1.1.1.jar;D:\Repositories\org\mybatis\mybatis\3.4.0\mybatis-3.4.0.jar;D:\Repositories\org\mybatis\mybatis-spring\1.3.0\mybatis-spring-1.3.0.jar;D:\Repositories\org\springframework\boot\spring-boot-starter-jdbc\2.2.2.RELEASE\spring-boot-starter-jdbc-2.2.2.RELEASE.jar;D:\Repositories\com\zaxxer\HikariCP\3.4.1\HikariCP-3.4.1.jar;D:\Repositories\org\springframework\spring-jdbc\5.2.2.RELEASE\spring-jdbc-5.2.2.RELEASE.jar;D:\Repositories\commons-dbcp\commons-dbcp\1.2.1\commons-dbcp-1.2.1.jar;D:\Repositories\commons-collections\commons-collections\2.1\commons-collections-2.1.jar;D:\Repositories\commons-pool\commons-pool\1.6\commons-pool-1.6.jar;D:\Repositories\xml-apis\xml-apis\1.0.b2\xml-apis-1.0.b2.jar;D:\Repositories\xerces\xercesImpl\2.0.2\xercesImpl-2.0.2.jar;D:\Repositories\mysql\mysql-connector-java\5.1.47\mysql-connector-java-5.1.47.jar;D:\Repositories\org\apache\commons\commons-collections4\4.1\commons-collections4-4.1.jar;D:\Repositories\com\github\pagehelper\pagehelper\5.1.2\pagehelper-5.1.2.jar;D:\Repositories\com\github\jsqlparser\jsqlparser\1.0\jsqlparser-1.0.jar;D:\Repositories\com\alibaba\nacos\nacos-client\1.2.0\nacos-client-1.2.0.jar;D:\Repositories\com\alibaba\nacos\nacos-common\1.2.0\nacos-common-1.2.0.jar;D:\Repositories\commons-io\commons-io\2.2\commons-io-2.2.jar;D:\Repositories\com\alibaba\nacos\nacos-api\1.2.0\nacos-api-1.2.0.jar;D:\Repositories\com\alibaba\fastjson\1.2.58\fastjson-1.2.58.jar;D:\Repositories\commons-codec\commons-codec\1.13\commons-codec-1.13.jar;D:\Repositories\com\fasterxml\jackson\core\jackson-core\2.10.1\jackson-core-2.10.1.jar;D:\Repositories\io\prometheus\simpleclient\0.6.0\simpleclient-0.6.0.jar;D:\Repositories\org\yaml\snakeyaml\1.25\snakeyaml-1.25.jar;D:\Repositories\com\101tec\zkclient\0.10\zkclient-0.10.jar;D:\Repositories\org\apache\zookeeper\zookeeper\3.5.6\zookeeper-3.5.6.jar;D:\Repositories\org\apache\zookeeper\zookeeper-jute\3.5.6\zookeeper-jute-3.5.6.jar;D:\Repositories\org\apache\yetus\audience-annotations\0.5.0\audience-annotations-0.5.0.jar;D:\Repositories\io\netty\netty-handler\4.1.43.Final\netty-handler-4.1.43.Final.jar;D:\Repositories\io\netty\netty-common\4.1.43.Final\netty-common-4.1.43.Final.jar;D:\Repositories\io\netty\netty-buffer\4.1.43.Final\netty-buffer-4.1.43.Final.jar;D:\Repositories\io\netty\netty-transport\4.1.43.Final\netty-transport-4.1.43.Final.jar;D:\Repositories\io\netty\netty-resolver\4.1.43.Final\netty-resolver-4.1.43.Final.jar;D:\Repositories\io\netty\netty-codec\4.1.43.Final\netty-codec-4.1.43.Final.jar;D:\Repositories\io\netty\netty-transport-native-epoll\4.1.43.Final\netty-transport-native-epoll-4.1.43.Final.jar;D:\Repositories\io\netty\netty-transport-native-unix-common\4.1.43.Final\netty-transport-native-unix-common-4.1.43.Final.jar;D:\Repositories\com\esotericsoftware\kryo-shaded\4.0.0\kryo-shaded-4.0.0.jar;D:\Repositories\com\esotericsoftware\minlog\1.3.0\minlog-1.3.0.jar;D:\Repositories\org\objenesis\objenesis\2.2\objenesis-2.2.jar;D:\Repositories\com\dyuproject\protostuff\protostuff-core\1.0.8\protostuff-core-1.0.8.jar;D:\Repositories\com\dyuproject\protostuff\protostuff-api\1.0.8\protostuff-api-1.0.8.jar;D:\Repositories\com\dyuproject\protostuff\protostuff-runtime\1.0.8\protostuff-runtime-1.0.8.jar;D:\Repositories\com\dyuproject\protostuff\protostuff-collectionschema\1.0.8\protostuff-collectionschema-1.0.8.jar;D:\Repositories\com\caucho\hessian\4.0.38\hessian-4.0.38.jar;D:\Repositories\org\mapstruct\mapstruct\1.3.1.Final\mapstruct-1.3.1.Final.jar;D:\Repositories\org\mapstruct\mapstruct-processor\1.3.1.Final\mapstruct-processor-1.3.1.Final.jar;D:\Repositories\io\springfox\springfox-swagger2\2.9.2\springfox-swagger2-2.9.2.jar;D:\Repositories\io\swagger\swagger-annotations\1.5.20\swagger-annotations-1.5.20.jar;D:\Repositories\io\swagger\swagger-models\1.5.20\swagger-models-1.5.20.jar;D:\Repositories\io\springfox\springfox-spi\2.9.2\springfox-spi-2.9.2.jar;D:\Repositories\io\springfox\springfox-core\2.9.2\springfox-core-2.9.2.jar;D:\Repositories\io\springfox\springfox-schema\2.9.2\springfox-schema-2.9.2.jar;D:\Repositories\io\springfox\springfox-swagger-common\2.9.2\springfox-swagger-common-2.9.2.jar;D:\Repositories\io\springfox\springfox-spring-web\2.9.2\springfox-spring-web-2.9.2.jar;D:\Repositories\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;D:\Repositories\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;D:\Repositories\org\springframework\plugin\spring-plugin-metadata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;D:\Repositories\io\springfox\springfox-swagger-ui\2.9.2\springfox-swagger-ui-2.9.2.jar;D:\Repositories\com\h2database\h2\1.4.200\h2-1.4.200.jar;D:\Repositories\com\google\guava\guava\30.1-jre\guava-30.1-jre.jar;D:\Repositories\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;D:\Repositories\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;D:\Repositories\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;D:\Repositories\org\checkerframework\checker-qual\3.5.0\checker-qual-3.5.0.jar;D:\Repositories\com\google\errorprone\error_prone_annotations\2.3.4\error_prone_annotations-2.3.4.jar;D:\Repositories\com\google\j2objc\j2objc-annotations\1.3\j2objc-annotations-1.3.jar;D:\Repositories\org\slf4j\slf4j-api\1.7.29\slf4j-api-1.7.29.jar;D:\Repositories\org\slf4j\jcl-over-slf4j\1.7.29\jcl-over-slf4j-1.7.29.jar;D:\Repositories\org\projectlombok\lombok\1.18.12\lombok-1.18.12.jar;D:\Repositories\net\bytebuddy\byte-buddy\1.10.4\byte-buddy-1.10.4.jar;D:\Program Files\JetBrains\IntelliJ IDEA 2020.3\lib\idea_rt.jar" org.dromara.soul.admin.SoulAdminBootstrap Connected to the target VM, address: '127.0.0.1:58768', transport: 'socket' . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.2.2.RELEASE) 2021-01-13 22:45:32.242 INFO 15500 --- [ main] o.dromara.soul.admin.SoulAdminBootstrap : Starting SoulAdminBootstrap on DESKTOP-455F6RE with PID 15500 (started by W10 in F:\源码学习\soul) 2021-01-13 22:45:32.245 INFO 15500 --- [ main] o.dromara.soul.admin.SoulAdminBootstrap : No active profile set, falling back to default profiles: default 2021-01-13 22:45:33.267 INFO 15500 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2021-01-13 22:45:33.584 INFO 15500 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 9095 (http) 2021-01-13 22:45:33.591 INFO 15500 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2021-01-13 22:45:33.591 INFO 15500 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.29] 2021-01-13 22:45:33.592 INFO 15500 --- [ main] o.a.catalina.core.AprLifecycleListener : Loaded APR based Apache Tomcat Native library [1.2.23] using APR version [1.7.0]. 2021-01-13 22:45:33.592 INFO 15500 --- [ main] o.a.catalina.core.AprLifecycleListener : APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. 2021-01-13 22:45:33.592 INFO 15500 --- [ main] o.a.catalina.core.AprLifecycleListener : APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true] 2021-01-13 22:45:33.614 INFO 15500 --- [ main] o.a.catalina.core.AprLifecycleListener : OpenSSL successfully initialized [OpenSSL 1.1.1c 28 May 2019] 2021-01-13 22:45:33.689 INFO 15500 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2021-01-13 22:45:33.689 INFO 15500 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1414 ms Wed Jan 13 22:45:33 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. 2021-01-13 22:45:34.444 INFO 15500 --- [ main] o.d.s.a.s.init.LocalDataSourceLoader : execute soul schema sql: META-INF/schema.sql 2021-01-13 22:45:35.427 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'appAuthController': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.controller.AppAuthController(org.dromara.soul.admin.service.AppAuthService) 2021-01-13 22:45:35.434 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'appAuthService': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.service.impl.AppAuthServiceImpl(org.dromara.soul.admin.mapper.AppAuthMapper,org.springframework.context.ApplicationEventPublisher,org.dromara.soul.admin.mapper.AuthParamMapper,org.dromara.soul.admin.mapper.AuthPathMapper) 2021-01-13 22:45:35.807 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'dashboardUserController': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.controller.DashboardUserController(org.dromara.soul.admin.service.DashboardUserService) 2021-01-13 22:45:35.808 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'dashboardUserService': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.service.impl.DashboardUserServiceImpl(org.dromara.soul.admin.mapper.DashboardUserMapper) 2021-01-13 22:45:35.816 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'metaDataController': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.controller.MetaDataController(org.dromara.soul.admin.service.MetaDataService) 2021-01-13 22:45:35.817 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'metaDataService': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.service.impl.MetaDataServiceImpl(org.dromara.soul.admin.mapper.MetaDataMapper,org.springframework.context.ApplicationEventPublisher) 2021-01-13 22:45:35.825 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'platformController': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.controller.PlatformController(org.dromara.soul.admin.service.DashboardUserService,org.dromara.soul.admin.service.EnumService) 2021-01-13 22:45:35.833 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'pluginController': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.controller.PluginController(org.dromara.soul.admin.service.PluginService,org.dromara.soul.admin.service.SyncDataService) 2021-01-13 22:45:35.834 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'pluginService': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.service.impl.PluginServiceImpl(org.dromara.soul.admin.mapper.PluginMapper,org.dromara.soul.admin.mapper.SelectorMapper,org.dromara.soul.admin.mapper.SelectorConditionMapper,org.dromara.soul.admin.mapper.RuleMapper,org.dromara.soul.admin.mapper.RuleConditionMapper,org.springframework.context.ApplicationEventPublisher) 2021-01-13 22:45:35.848 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'selectorService': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.service.impl.SelectorServiceImpl(org.dromara.soul.admin.mapper.SelectorMapper,org.dromara.soul.admin.mapper.SelectorConditionMapper,org.dromara.soul.admin.mapper.PluginMapper,org.dromara.soul.admin.mapper.RuleMapper,org.dromara.soul.admin.mapper.RuleConditionMapper,org.springframework.context.ApplicationEventPublisher) 2021-01-13 22:45:35.853 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'ruleService': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.service.impl.RuleServiceImpl(org.dromara.soul.admin.mapper.RuleMapper,org.dromara.soul.admin.mapper.RuleConditionMapper,org.dromara.soul.admin.mapper.SelectorMapper,org.dromara.soul.admin.mapper.PluginMapper,org.springframework.context.ApplicationEventPublisher) 2021-01-13 22:45:35.860 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'pluginHandleController': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.controller.PluginHandleController(org.dromara.soul.admin.service.PluginHandleService) 2021-01-13 22:45:35.862 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'pluginHandleService': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.service.impl.PluginHandleServiceImpl(org.dromara.soul.admin.mapper.PluginHandleMapper,org.dromara.soul.admin.mapper.SoulDictMapper) 2021-01-13 22:45:35.869 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'ruleController': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.controller.RuleController(org.dromara.soul.admin.service.RuleService) 2021-01-13 22:45:35.870 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'selectorController': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.controller.SelectorController(org.dromara.soul.admin.service.SelectorService) 2021-01-13 22:45:35.873 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'soulClientRegisterService': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.service.impl.SoulClientRegisterServiceImpl(org.dromara.soul.admin.mapper.MetaDataMapper,org.springframework.context.ApplicationEventPublisher,org.dromara.soul.admin.service.SelectorService,org.dromara.soul.admin.service.RuleService,org.dromara.soul.admin.mapper.RuleMapper,org.dromara.soul.admin.service.impl.UpstreamCheckService,org.dromara.soul.admin.mapper.SelectorMapper,org.dromara.soul.admin.mapper.PluginMapper) 2021-01-13 22:45:35.875 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'upstreamCheckService': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.service.impl.UpstreamCheckService(org.dromara.soul.admin.service.SelectorService,org.dromara.soul.admin.mapper.SelectorMapper,org.springframework.context.ApplicationEventPublisher,org.dromara.soul.admin.mapper.PluginMapper) 2021-01-13 22:45:35.896 INFO 15500 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... Wed Jan 13 22:45:35 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. 2021-01-13 22:45:35.924 INFO 15500 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2021-01-13 22:45:35.952 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'soulDictController': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.controller.SoulDictController(org.dromara.soul.admin.service.SoulDictService) 2021-01-13 22:45:35.953 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'soulDictService': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.service.impl.SoulDictServiceImpl(org.dromara.soul.admin.mapper.SoulDictMapper) 2021-01-13 22:45:35.968 INFO 15500 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Inconsistent constructor declaration on bean with name 'httpServiceDiscovery': single autowire-marked constructor flagged as optional - this constructor is effectively required since there is no default constructor to fall back to: public org.dromara.soul.admin.listener.zookeeper.HttpServiceDiscovery(org.dromara.soul.admin.service.SelectorService,org.dromara.soul.admin.mapper.SelectorMapper,org.springframework.context.ApplicationEventPublisher,org.springframework.core.env.Environment) Wed Jan 13 22:45:36 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. Wed Jan 13 22:45:36 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. Wed Jan 13 22:45:36 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. Wed Jan 13 22:45:36 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. Wed Jan 13 22:45:36 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. Wed Jan 13 22:45:36 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. Wed Jan 13 22:45:36 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. Wed Jan 13 22:45:36 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. Wed Jan 13 22:45:36 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. 2021-01-13 22:45:36.290 INFO 15500 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 2 endpoint(s) beneath base path '/actuator' 2021-01-13 22:45:36.451 INFO 15500 --- [ main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] 2021-01-13 22:45:36.596 INFO 15500 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2021-01-13 22:45:36.674 INFO 15500 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html] 2021-01-13 22:45:37.002 INFO 15500 --- [ main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed 2021-01-13 22:45:37.012 INFO 15500 --- [ main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s) 2021-01-13 22:45:37.050 INFO 15500 --- [ main] s.d.s.w.s.ApiListingReferenceScanner : Scanning for api listing references 2021-01-13 22:45:37.172 INFO 15500 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchEnabledUsingPOST_1 2021-01-13 22:45:37.178 INFO 15500 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: syncDataUsingPOST_1 2021-01-13 22:45:37.198 INFO 15500 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailRuleUsingGET_1 2021-01-13 22:45:37.213 INFO 15500 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: batchEnabledUsingPOST_2 2021-01-13 22:45:37.216 INFO 15500 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: detailUsingGET_1 2021-01-13 22:45:37.257 INFO 15500 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 9095 (http) with context path '' 2021-01-13 22:45:37.261 INFO 15500 --- [ main] o.dromara.soul.admin.SoulAdminBootstrap : Started SoulAdminBootstrap in 5.317 seconds (JVM running for 6.487) 2021-01-13 22:45:37.687 INFO 15500 --- [1)-192.168.3.20] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2021-01-13 22:45:37.688 INFO 15500 --- [1)-192.168.3.20] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2021-01-13 22:45:37.699 INFO 15500 --- [1)-192.168.3.20] o.s.web.servlet.DispatcherServlet : Completed initialization in 11 ms Disconnected from the target VM, address: '127.0.0.1:58768', transport: 'socket' 2021-01-13 22:59:24.538 INFO 15500 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor' 2021-01-13 22:59:24.541 INFO 15500 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2021-01-13 22:59:24.549 INFO 15500 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. Process finished with exit code -1

 

看到Tomcat started on port(s): 9095 (http) with context path '' 证明启动成功

 

4.启动soul-bootstrap工程

直接启动SoulAdminBootstrap类,结果如下:

"C:\Program Files\Java\jdk1.8.0_221\bin\java.exe" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:49686,suspend=y,server=n -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -javaagent:C:\Users\W10\AppData\Local\JetBrains\IntelliJIdea2020.3\captureAgent\debugger-agent.jar -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_221\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\rt.jar;F:\源码学习\soul\soul-bootstrap\target\classes;D:\Repositories\org\springframework\boot\spring-boot-starter-webflux\2.2.2.RELEASE\spring-boot-starter-webflux-2.2.2.RELEASE.jar;D:\Repositories\org\springframework\boot\spring-boot-starter\2.2.2.RELEASE\spring-boot-starter-2.2.2.RELEASE.jar;D:\Repositories\org\springframework\boot\spring-boot\2.2.2.RELEASE\spring-boot-2.2.2.RELEASE.jar;D:\Repositories\org\springframework\boot\spring-boot-autoconfigure\2.2.2.RELEASE\spring-boot-autoconfigure-2.2.2.RELEASE.jar;D:\Repositories\org\springframework\boot\spring-boot-starter-logging\2.2.2.RELEASE\spring-boot-starter-logging-2.2.2.RELEASE.jar;D:\Repositories\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;D:\Repositories\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;D:\Repositories\org\apache\logging\log4j\log4j-to-slf4j\2.12.1\log4j-to-slf4j-2.12.1.jar;D:\Repositories\org\apache\logging\log4j\log4j-api\2.12.1\log4j-api-2.12.1.jar;D:\Repositories\org\slf4j\jul-to-slf4j\1.7.29\jul-to-slf4j-1.7.29.jar;D:\Repositories\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;D:\Repositories\org\springframework\spring-core\5.2.2.RELEASE\spring-core-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-jcl\5.2.2.RELEASE\spring-jcl-5.2.2.RELEASE.jar;D:\Repositories\org\yaml\snakeyaml\1.25\snakeyaml-1.25.jar;D:\Repositories\org\springframework\boot\spring-boot-starter-json\2.2.2.RELEASE\spring-boot-starter-json-2.2.2.RELEASE.jar;D:\Repositories\com\fasterxml\jackson\core\jackson-databind\2.10.1\jackson-databind-2.10.1.jar;D:\Repositories\com\fasterxml\jackson\core\jackson-annotations\2.10.1\jackson-annotations-2.10.1.jar;D:\Repositories\com\fasterxml\jackson\core\jackson-core\2.10.1\jackson-core-2.10.1.jar;D:\Repositories\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.10.1\jackson-datatype-jdk8-2.10.1.jar;D:\Repositories\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.10.1\jackson-datatype-jsr310-2.10.1.jar;D:\Repositories\com\fasterxml\jackson\module\jackson-module-parameter-names\2.10.1\jackson-module-parameter-names-2.10.1.jar;D:\Repositories\org\springframework\boot\spring-boot-starter-reactor-netty\2.2.2.RELEASE\spring-boot-starter-reactor-netty-2.2.2.RELEASE.jar;D:\Repositories\io\projectreactor\netty\reactor-netty\0.9.2.RELEASE\reactor-netty-0.9.2.RELEASE.jar;D:\Repositories\io\netty\netty-codec-http2\4.1.43.Final\netty-codec-http2-4.1.43.Final.jar;D:\Repositories\io\netty\netty-handler-proxy\4.1.43.Final\netty-handler-proxy-4.1.43.Final.jar;D:\Repositories\io\netty\netty-codec-socks\4.1.43.Final\netty-codec-socks-4.1.43.Final.jar;D:\Repositories\io\netty\netty-transport-native-epoll\4.1.43.Final\netty-transport-native-epoll-4.1.43.Final-linux-x86_64.jar;D:\Repositories\org\glassfish\jakarta.el\3.0.3\jakarta.el-3.0.3.jar;D:\Repositories\org\springframework\boot\spring-boot-starter-validation\2.2.2.RELEASE\spring-boot-starter-validation-2.2.2.RELEASE.jar;D:\Repositories\jakarta\validation\jakarta.validation-api\2.0.1\jakarta.validation-api-2.0.1.jar;D:\Repositories\org\hibernate\validator\hibernate-validator\6.0.18.Final\hibernate-validator-6.0.18.Final.jar;D:\Repositories\org\jboss\logging\jboss-logging\3.4.1.Final\jboss-logging-3.4.1.Final.jar;D:\Repositories\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;D:\Repositories\org\springframework\spring-web\5.2.2.RELEASE\spring-web-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-beans\5.2.2.RELEASE\spring-beans-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-webflux\5.2.2.RELEASE\spring-webflux-5.2.2.RELEASE.jar;D:\Repositories\io\projectreactor\reactor-core\3.3.1.RELEASE\reactor-core-3.3.1.RELEASE.jar;D:\Repositories\org\reactivestreams\reactive-streams\1.0.3\reactive-streams-1.0.3.jar;D:\Repositories\org\synchronoss\cloud\nio-multipart-parser\1.1.0\nio-multipart-parser-1.1.0.jar;D:\Repositories\org\synchronoss\cloud\nio-stream-storage\1.1.3\nio-stream-storage-1.1.3.jar;D:\Repositories\org\springframework\boot\spring-boot-starter-actuator\2.2.2.RELEASE\spring-boot-starter-actuator-2.2.2.RELEASE.jar;D:\Repositories\org\springframework\boot\spring-boot-actuator-autoconfigure\2.2.2.RELEASE\spring-boot-actuator-autoconfigure-2.2.2.RELEASE.jar;D:\Repositories\org\springframework\boot\spring-boot-actuator\2.2.2.RELEASE\spring-boot-actuator-2.2.2.RELEASE.jar;D:\Repositories\io\micrometer\micrometer-core\1.3.1\micrometer-core-1.3.1.jar;D:\Repositories\org\hdrhistogram\HdrHistogram\2.1.11\HdrHistogram-2.1.11.jar;D:\Repositories\org\latencyutils\LatencyUtils\2.0.3\LatencyUtils-2.0.3.jar;F:\源码学习\soul\soul-web\target\classes;F:\源码学习\soul\soul-plugin\soul-plugin-api\target\classes;D:\Repositories\org\apache\commons\commons-lang3\3.3.2\commons-lang3-3.3.2.jar;F:\源码学习\soul\soul-spring-boot-starter\soul-spring-boot-starter-plugin\soul-spring-boot-starter-plugin-global\target\classes;F:\源码学习\soul\soul-plugin\soul-plugin-global\target\classes;F:\源码学习\soul\soul-plugin\soul-plugin-base\target\classes;F:\源码学习\soul\soul-common\target\classes;D:\Repositories\com\google\code\gson\gson\2.8.0\gson-2.8.0.jar;F:\源码学习\soul\soul-metrics\soul-metrics-facade\target\classes;F:\源码学习\soul\soul-metrics\soul-metrics-prometheus\target\classes;D:\Repositories\io\prometheus\simpleclient\0.6.0\simpleclient-0.6.0.jar;D:\Repositories\io\prometheus\simpleclient_httpserver\0.6.0\simpleclient_httpserver-0.6.0.jar;D:\Repositories\io\prometheus\simpleclient_common\0.6.0\simpleclient_common-0.6.0.jar;D:\Repositories\io\prometheus\simpleclient_hotspot\0.6.0\simpleclient_hotspot-0.6.0.jar;F:\源码学习\soul\soul-spring-boot-starter\soul-spring-boot-starter-plugin\soul-spring-boot-starter-plugin-divide\target\classes;F:\源码学习\soul\soul-plugin\soul-plugin-divide\target\classes;F:\源码学习\soul\soul-spi\target\classes;F:\源码学习\soul\soul-spring-boot-starter\soul-spring-boot-starter-plugin\soul-spring-boot-starter-plugin-httpclient\target\classes;F:\源码学习\soul\soul-plugin\soul-plugin-httpclient\target\classes;D:\Repositories\io\netty\netty-codec-http\4.1.43.Final\netty-codec-http-4.1.43.Final.jar;D:\Repositories\io\netty\netty-common\4.1.43.Final\netty-common-4.1.43.Final.jar;D:\Repositories\io\netty\netty-buffer\4.1.43.Final\netty-buffer-4.1.43.Final.jar;D:\Repositories\io\netty\netty-transport\4.1.43.Final\netty-transport-4.1.43.Final.jar;D:\Repositories\io\netty\netty-resolver\4.1.43.Final\netty-resolver-4.1.43.Final.jar;D:\Repositories\io\netty\netty-codec\4.1.43.Final\netty-codec-4.1.43.Final.jar;D:\Repositories\io\projectreactor\addons\reactor-extra\3.3.1.RELEASE\reactor-extra-3.3.1.RELEASE.jar;F:\源码学习\soul\soul-spring-boot-starter\soul-spring-boot-starter-plugin\soul-spring-boot-starter-plugin-alibaba-dubbo\target\classes;F:\源码学习\soul\soul-plugin\soul-plugin-alibaba-dubbo\target\classes;D:\Repositories\com\alibaba\dubbo\2.6.5\dubbo-2.6.5.jar;D:\Repositories\org\springframework\spring-context\5.2.2.RELEASE\spring-context-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-aop\5.2.2.RELEASE\spring-aop-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-expression\5.2.2.RELEASE\spring-expression-5.2.2.RELEASE.jar;D:\Repositories\org\javassist\javassist\3.20.0-GA\javassist-3.20.0-GA.jar;D:\Repositories\org\jboss\netty\netty\3.2.5.Final\netty-3.2.5.Final.jar;D:\Repositories\org\apache\curator\curator-client\4.0.1\curator-client-4.0.1.jar;D:\Repositories\org\apache\zookeeper\zookeeper\3.5.6\zookeeper-3.5.6.jar;D:\Repositories\org\apache\zookeeper\zookeeper-jute\3.5.6\zookeeper-jute-3.5.6.jar;D:\Repositories\org\apache\yetus\audience-annotations\0.5.0\audience-annotations-0.5.0.jar;D:\Repositories\io\netty\netty-handler\4.1.43.Final\netty-handler-4.1.43.Final.jar;D:\Repositories\io\netty\netty-transport-native-epoll\4.1.43.Final\netty-transport-native-epoll-4.1.43.Final.jar;D:\Repositories\io\netty\netty-transport-native-unix-common\4.1.43.Final\netty-transport-native-unix-common-4.1.43.Final.jar;D:\Repositories\log4j\log4j\1.2.17\log4j-1.2.17.jar;D:\Repositories\org\apache\curator\curator-framework\4.0.1\curator-framework-4.0.1.jar;D:\Repositories\org\apache\curator\curator-recipes\4.0.1\curator-recipes-4.0.1.jar;F:\源码学习\soul\soul-spring-boot-starter\soul-spring-boot-starter-plugin\soul-spring-boot-starter-plugin-ratelimiter\target\classes;F:\源码学习\soul\soul-plugin\soul-plugin-ratelimiter\target\classes;D:\Repositories\org\springframework\data\spring-data-redis\2.2.3.RELEASE\spring-data-redis-2.2.3.RELEASE.jar;D:\Repositories\org\springframework\data\spring-data-keyvalue\2.2.3.RELEASE\spring-data-keyvalue-2.2.3.RELEASE.jar;D:\Repositories\org\springframework\data\spring-data-commons\2.2.3.RELEASE\spring-data-commons-2.2.3.RELEASE.jar;D:\Repositories\org\springframework\spring-tx\5.2.2.RELEASE\spring-tx-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-oxm\5.2.2.RELEASE\spring-oxm-5.2.2.RELEASE.jar;D:\Repositories\org\springframework\spring-context-support\5.2.2.RELEASE\spring-context-support-5.2.2.RELEASE.jar;D:\Repositories\io\lettuce\lettuce-core\5.2.1.RELEASE\lettuce-core-5.2.1.RELEASE.jar;D:\Repositories\org\apache\commons\commons-pool2\2.7.0\commons-pool2-2.7.0.jar;F:\源码学习\soul\soul-spring-boot-starter\soul-spring-boot-starter-plugin\soul-spring-boot-starter-plugin-hystrix\target\classes;F:\源码学习\soul\soul-plugin\soul-plugin-hystrix\target\classes;D:\Repositories\com\netflix\hystrix\hystrix-core\1.5.12\hystrix-core-1.5.12.jar;D:\Repositories\com\netflix\archaius\archaius-core\0.4.1\archaius-core-0.4.1.jar;D:\Repositories\commons-configuration\commons-configuration\1.8\commons-configuration-1.8.jar;D:\Repositories\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;D:\Repositories\commons-logging\commons-logging\1.1.1\commons-logging-1.1.1.jar;D:\Repositories\io\reactivex\rxjava\1.3.8\rxjava-1.3.8.jar;D:\Repositories\com\netflix\hystrix\hystrix-metrics-event-stream\1.4.10\hystrix-metrics-event-stream-1.4.10.jar;D:\Repositories\io\reactivex\rxjava-reactive-streams\1.2.1\rxjava-reactive-streams-1.2.1.jar;F:\源码学习\soul\soul-spring-boot-starter\soul-spring-boot-starter-plugin\soul-spring-boot-starter-plugin-waf\target\classes;F:\源码学习\soul\soul-plugin\soul-plugin-waf\target\classes;F:\源码学习\soul\soul-spring-boot-starter\soul-spring-boot-starter-plugin\soul-spring-boot-starter-plugin-monitor\target\classes;F:\源码学习\soul\soul-plugin\soul-plugin-monitor\target\classes;F:\源码学习\soul\soul-metrics\soul-metrics-spi\target\classes;F:\源码学习\soul\soul-spring-boot-starter\soul-spring-boot-starter-sync-data-center\soul-spring-boot-starter-sync-data-zookeeper\target\classes;F:\源码学习\soul\soul-sync-data-center\soul-sync-data-zookeeper\target\classes;F:\源码学习\soul\soul-sync-data-center\soul-sync-data-api\target\classes;D:\Repositories\com\101tec\zkclient\0.10\zkclient-0.10.jar;D:\Repositories\org\apache\commons\commons-collections4\4.1\commons-collections4-4.1.jar;F:\源码学习\soul\soul-spring-boot-starter\soul-spring-boot-starter-sync-data-center\soul-spring-boot-starter-sync-data-websocket\target\classes;F:\源码学习\soul\soul-sync-data-center\soul-sync-data-websocket\target\classes;D:\Repositories\org\java-websocket\Java-WebSocket\1.5.0\Java-WebSocket-1.5.0.jar;F:\源码学习\soul\soul-spring-boot-starter\soul-spring-boot-starter-sync-data-center\soul-spring-boot-starter-sync-data-http\target\classes;F:\源码学习\soul\soul-sync-data-center\soul-sync-data-http\target\classes;D:\Repositories\com\squareup\okhttp3\okhttp\3.7.0\okhttp-3.7.0.jar;D:\Repositories\com\squareup\okio\okio\1.12.0\okio-1.12.0.jar;F:\源码学习\soul\soul-spring-boot-starter\soul-spring-boot-starter-plugin\soul-spring-boot-starter-plugin-sign\target\classes;F:\源码学习\soul\soul-plugin\soul-plugin-sign\target\classes;F:\源码学习\soul\soul-spring-boot-starter\soul-spring-boot-starter-plugin\soul-spring-boot-starter-plugin-resilience4j\target\classes;F:\源码学习\soul\soul-plugin\soul-plugin-resilience4j\target\classes;D:\Repositories\io\github\resilience4j\resilience4j-circuitbreaker\1.6.1\resilience4j-circuitbreaker-1.6.1.jar;D:\Repositories\io\vavr\vavr\0.10.2\vavr-0.10.2.jar;D:\Repositories\io\vavr\vavr-match\0.10.2\vavr-match-0.10.2.jar;D:\Repositories\io\github\resilience4j\resilience4j-core\1.6.1\resilience4j-core-1.6.1.jar;D:\Repositories\io\github\resilience4j\resilience4j-timelimiter\1.6.1\resilience4j-timelimiter-1.6.1.jar;D:\Repositories\io\github\resilience4j\resilience4j-ratelimiter\1.6.1\resilience4j-ratelimiter-1.6.1.jar;D:\Repositories\io\github\resilience4j\resilience4j-reactor\1.6.1\resilience4j-reactor-1.6.1.jar;D:\Repositories\com\google\guava\guava\30.1-jre\guava-30.1-jre.jar;D:\Repositories\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;D:\Repositories\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;D:\Repositories\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;D:\Repositories\org\checkerframework\checker-qual\3.5.0\checker-qual-3.5.0.jar;D:\Repositories\com\google\errorprone\error_prone_annotations\2.3.4\error_prone_annotations-2.3.4.jar;D:\Repositories\com\google\j2objc\j2objc-annotations\1.3\j2objc-annotations-1.3.jar;D:\Repositories\org\slf4j\slf4j-api\1.7.29\slf4j-api-1.7.29.jar;D:\Repositories\org\slf4j\jcl-over-slf4j\1.7.29\jcl-over-slf4j-1.7.29.jar;D:\Repositories\org\projectlombok\lombok\1.18.12\lombok-1.18.12.jar;D:\Program Files\JetBrains\IntelliJ IDEA 2020.3\lib\idea_rt.jar" org.dromara.soul.bootstrap.SoulBootstrapApplication Connected to the target VM, address: '127.0.0.1:49686', transport: 'socket' 2021-01-13 23:54:09.292 INFO 11520 --- [ main] org.dromara.soul.web.logo.SoulLogo : _ | | ___ ___ _ _| | / __|/ _ \| | | | | \__ \ (_) | |_| | | |___/\___/ \__,_|_| :: Soul :: (v2.0.2) . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.2.2.RELEASE) 2021-01-13 23:54:09.379 INFO 11520 --- [ main] o.d.s.b.SoulBootstrapApplication : Starting SoulBootstrapApplication on DESKTOP-455F6RE with PID 11520 (started by W10 in F:\源码学习\soul) 2021-01-13 23:54:09.379 INFO 11520 --- [ main] o.d.s.b.SoulBootstrapApplication : The following profiles are active: local 2021-01-13 23:54:10.239 INFO 11520 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! 2021-01-13 23:54:10.242 INFO 11520 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. 2021-01-13 23:54:10.271 INFO 11520 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 12ms. Found 0 Redis repository interfaces. 2021-01-13 23:54:10.919 INFO 11520 --- [ main] o.d.s.w.configuration.SoulConfiguration : load plugin:[global] [org.dromara.soul.plugin.global.GlobalPlugin] 2021-01-13 23:54:10.919 INFO 11520 --- [ main] o.d.s.w.configuration.SoulConfiguration : load plugin:[sign] [org.dromara.soul.plugin.sign.SignPlugin] 2021-01-13 23:54:10.919 INFO 11520 --- [ main] o.d.s.w.configuration.SoulConfiguration : load plugin:[waf] [org.dromara.soul.plugin.waf.WafPlugin] 2021-01-13 23:54:10.919 INFO 11520 --- [ main] o.d.s.w.configuration.SoulConfiguration : load plugin:[rate_limiter] [org.dromara.soul.plugin.ratelimiter.RateLimiterPlugin] 2021-01-13 23:54:10.919 INFO 11520 --- [ main] o.d.s.w.configuration.SoulConfiguration : load plugin:[hystrix] [org.dromara.soul.plugin.hystrix.HystrixPlugin] 2021-01-13 23:54:10.919 INFO 11520 --- [ main] o.d.s.w.configuration.SoulConfiguration : load plugin:[resilience4j] [org.dromara.soul.plugin.resilience4j.Resilience4JPlugin] 2021-01-13 23:54:10.919 INFO 11520 --- [ main] o.d.s.w.configuration.SoulConfiguration : load plugin:[divide] [org.dromara.soul.plugin.divide.DividePlugin] 2021-01-13 23:54:10.919 INFO 11520 --- [ main] o.d.s.w.configuration.SoulConfiguration : load plugin:[webClient] [org.dromara.soul.plugin.httpclient.WebClientPlugin] 2021-01-13 23:54:10.919 INFO 11520 --- [ main] o.d.s.w.configuration.SoulConfiguration : load plugin:[divide] [org.dromara.soul.plugin.divide.websocket.WebSocketPlugin] 2021-01-13 23:54:10.919 INFO 11520 --- [ main] o.d.s.w.configuration.SoulConfiguration : load plugin:[alibaba-dubbo-body-param] [org.dromara.soul.plugin.alibaba.dubbo.param.BodyParamPlugin] 2021-01-13 23:54:10.919 INFO 11520 --- [ main] o.d.s.w.configuration.SoulConfiguration : load plugin:[dubbo] [org.dromara.soul.plugin.alibaba.dubbo.AlibabaDubboPlugin] 2021-01-13 23:54:10.919 INFO 11520 --- [ main] o.d.s.w.configuration.SoulConfiguration : load plugin:[monitor] [org.dromara.soul.plugin.monitor.MonitorPlugin] 2021-01-13 23:54:10.919 INFO 11520 --- [ main] o.d.s.w.configuration.SoulConfiguration : load plugin:[response] [org.dromara.soul.plugin.httpclient.response.WebClientResponsePlugin] 2021-01-13 23:54:10.919 INFO 11520 --- [ main] o.d.s.w.configuration.SoulConfiguration : load plugin:[response] [org.dromara.soul.plugin.alibaba.dubbo.response.DubboResponsePlugin] 2021-01-13 23:54:11.066 INFO 11520 --- [ main] b.s.s.d.w.WebsocketSyncDataConfiguration : you use websocket sync soul data....... 2021-01-13 23:54:11.125 INFO 11520 --- [ main] o.d.s.p.s.d.w.WebsocketSyncDataService : websocket connection is successful..... 2021-01-13 23:54:11.207 INFO 11520 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 2 endpoint(s) beneath base path '/actuator' 2021-01-13 23:54:11.967 INFO 11520 --- [ main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port(s): 9195 2021-01-13 23:54:11.970 INFO 11520 --- [ main] o.d.s.b.SoulBootstrapApplication : Started SoulBootstrapApplication in 3.011 seconds (JVM running for 3.76)

 

看到Netty started on port(s): 9195 证明启动成功

 

5.总价:

今天是学习soul的第一天,主要学习内容如下:

  • 整理了soul 的代码地址 和 官方文档地址
  • 粗略的浏览的工程整体结构
  • 成功启动了soul-admin
  • 成功启动了soul-soul-bootstrap
  • 在启动soul-admin的时候需要把数据库连接配置好。启动的时候会自动创建库和表

 

你可能感兴趣的:(soul源码学习)