{
  "hints": [],
  "groups": [
    {
      "sourceType": "com.warewms.datasources.DynamicDataSourceConfig",
      "name": "spring.datasource.druid.first",
      "sourceMethod": "firstDataSource()",
      "type": "com.alibaba.druid.pool.DruidDataSource"
    },
    {
      "sourceType": "com.warewms.datasources.DynamicDataSourceConfig",
      "name": "spring.datasource.druid.fourth",
      "sourceMethod": "fourthDataSource()",
      "type": "com.alibaba.druid.pool.DruidDataSource"
    },
    {
      "sourceType": "com.warewms.datasources.DynamicDataSourceConfig",
      "name": "spring.datasource.druid.second",
      "sourceMethod": "secondDataSource()",
      "type": "com.alibaba.druid.pool.DruidDataSource"
    },
    {
      "sourceType": "com.warewms.datasources.DynamicDataSourceConfig",
      "name": "spring.datasource.druid.third",
      "sourceMethod": "thirdDataSource()",
      "type": "com.alibaba.druid.pool.DruidDataSource"
    },
    {
      "sourceType": "com.warewms.common.utils.JwtUtils",
      "name": "warewms.jwt",
      "type": "com.warewms.common.utils.JwtUtils"
    }
  ],
  "properties": [
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.access-to-underlying-connection-allowed",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.active-connection-stack-trace",
      "type": "java.util.List<java.lang.String>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.active-connections",
      "type": "java.util.Set<com.alibaba.druid.pool.DruidPooledConnection>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.async-close-connection-enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.async-init",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.break-after-acquire-failure",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.clear-filters-enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.connect-properties",
      "type": "java.util.Properties"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.connection-error-retry-attempts",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.connection-init-sqls",
      "type": "java.util.Collection<java.lang.String>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.create-scheduler",
      "type": "java.util.concurrent.ScheduledExecutorService"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.db-type",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.default-auto-commit",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.default-catalog",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.default-read-only",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.default-transaction-isolation",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.destroy-scheduler",
      "type": "java.util.concurrent.ScheduledExecutorService"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.driver",
      "type": "java.sql.Driver"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.driver-class-name",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.dup-close-log-enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.exception-sorter",
      "type": "com.alibaba.druid.pool.ExceptionSorter"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.exception-sorter-class-name",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.fail-fast",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.filter-class-names",
      "type": "java.util.List<java.lang.String>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.init-global-variants",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.init-variants",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.initial-size",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.keep-alive",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.kill-when-socket-read-timeout",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.log-abandoned",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.log-different-thread",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.login-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.max-active",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.max-create-task-count",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.max-evictable-idle-time-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "deprecated": true,
      "name": "spring.datasource.druid.first.max-idle",
      "type": "java.lang.Integer",
      "deprecation": {}
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.max-open-prepared-statements",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.max-pool-prepared-statement-per-connection-size",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.max-wait",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.max-wait-thread-count",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.min-evictable-idle-time-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.min-idle",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.name",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.not-full-timeout-retry-count",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "deprecated": true,
      "name": "spring.datasource.druid.first.num-tests-per-eviction-run",
      "type": "java.lang.Integer",
      "deprecation": {}
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.object-name",
      "type": "javax.management.ObjectName"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.on-fatal-error-max-active",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.oracle",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.password",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.password-callback",
      "type": "javax.security.auth.callback.PasswordCallback"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.phy-timeout-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.pool-prepared-statements",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.pooling-connection-info",
      "type": "java.util.List<java.util.Map<java.lang.String,java.lang.Object>>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.proxy-filters",
      "type": "java.util.List<com.alibaba.druid.filter.Filter>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.query-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.remove-abandoned",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.remove-abandoned-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.remove-abandoned-timeout-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.reset-stat-enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.share-prepared-statements",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.sql-stat-map",
      "type": "java.util.Map<java.lang.String,com.alibaba.druid.stat.JdbcSqlStat>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.stat-data",
      "type": "java.util.Map<java.lang.String,java.lang.Object>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.stat-data-for-m-bean",
      "type": "java.util.Map<java.lang.String,java.lang.Object>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.stat-logger",
      "type": "com.alibaba.druid.pool.DruidDataSourceStatLogger"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.test-on-borrow",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.test-on-return",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.test-while-idle",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.time-between-connect-error-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.time-between-eviction-runs-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.time-between-log-stats-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.transaction-query-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.transaction-threshold-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.url",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.use-global-data-source-stat",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.use-local-session-state",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.use-oracle-implicit-cache",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.use-unfair-lock",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.user-callback",
      "type": "javax.security.auth.callback.NameCallback"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.username",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.valid-connection-checker",
      "type": "com.alibaba.druid.pool.ValidConnectionChecker"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.valid-connection-checker-class-name",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.validation-query",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.validation-query-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.first.wall-stat-map",
      "type": "java.util.Map<java.lang.String,java.lang.Object>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.access-to-underlying-connection-allowed",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.active-connection-stack-trace",
      "type": "java.util.List<java.lang.String>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.active-connections",
      "type": "java.util.Set<com.alibaba.druid.pool.DruidPooledConnection>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.async-close-connection-enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.async-init",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.break-after-acquire-failure",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.clear-filters-enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.connect-properties",
      "type": "java.util.Properties"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.connection-error-retry-attempts",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.connection-init-sqls",
      "type": "java.util.Collection<java.lang.String>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.create-scheduler",
      "type": "java.util.concurrent.ScheduledExecutorService"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.db-type",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.default-auto-commit",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.default-catalog",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.default-read-only",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.default-transaction-isolation",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.destroy-scheduler",
      "type": "java.util.concurrent.ScheduledExecutorService"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.driver",
      "type": "java.sql.Driver"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.driver-class-name",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.dup-close-log-enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.exception-sorter",
      "type": "com.alibaba.druid.pool.ExceptionSorter"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.exception-sorter-class-name",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.fail-fast",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.filter-class-names",
      "type": "java.util.List<java.lang.String>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.init-global-variants",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.init-variants",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.initial-size",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.keep-alive",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.kill-when-socket-read-timeout",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.log-abandoned",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.log-different-thread",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.login-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.max-active",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.max-create-task-count",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.max-evictable-idle-time-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "deprecated": true,
      "name": "spring.datasource.druid.fourth.max-idle",
      "type": "java.lang.Integer",
      "deprecation": {}
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.max-open-prepared-statements",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.max-pool-prepared-statement-per-connection-size",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.max-wait",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.max-wait-thread-count",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.min-evictable-idle-time-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.min-idle",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.name",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.not-full-timeout-retry-count",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "deprecated": true,
      "name": "spring.datasource.druid.fourth.num-tests-per-eviction-run",
      "type": "java.lang.Integer",
      "deprecation": {}
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.object-name",
      "type": "javax.management.ObjectName"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.on-fatal-error-max-active",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.oracle",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.password",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.password-callback",
      "type": "javax.security.auth.callback.PasswordCallback"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.phy-timeout-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.pool-prepared-statements",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.pooling-connection-info",
      "type": "java.util.List<java.util.Map<java.lang.String,java.lang.Object>>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.proxy-filters",
      "type": "java.util.List<com.alibaba.druid.filter.Filter>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.query-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.remove-abandoned",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.remove-abandoned-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.remove-abandoned-timeout-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.reset-stat-enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.share-prepared-statements",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.sql-stat-map",
      "type": "java.util.Map<java.lang.String,com.alibaba.druid.stat.JdbcSqlStat>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.stat-data",
      "type": "java.util.Map<java.lang.String,java.lang.Object>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.stat-data-for-m-bean",
      "type": "java.util.Map<java.lang.String,java.lang.Object>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.stat-logger",
      "type": "com.alibaba.druid.pool.DruidDataSourceStatLogger"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.test-on-borrow",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.test-on-return",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.test-while-idle",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.time-between-connect-error-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.time-between-eviction-runs-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.time-between-log-stats-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.transaction-query-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.transaction-threshold-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.url",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.use-global-data-source-stat",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.use-local-session-state",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.use-oracle-implicit-cache",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.use-unfair-lock",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.user-callback",
      "type": "javax.security.auth.callback.NameCallback"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.username",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.valid-connection-checker",
      "type": "com.alibaba.druid.pool.ValidConnectionChecker"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.valid-connection-checker-class-name",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.validation-query",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.validation-query-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.fourth.wall-stat-map",
      "type": "java.util.Map<java.lang.String,java.lang.Object>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.access-to-underlying-connection-allowed",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.active-connection-stack-trace",
      "type": "java.util.List<java.lang.String>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.active-connections",
      "type": "java.util.Set<com.alibaba.druid.pool.DruidPooledConnection>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.async-close-connection-enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.async-init",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.break-after-acquire-failure",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.clear-filters-enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.connect-properties",
      "type": "java.util.Properties"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.connection-error-retry-attempts",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.connection-init-sqls",
      "type": "java.util.Collection<java.lang.String>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.create-scheduler",
      "type": "java.util.concurrent.ScheduledExecutorService"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.db-type",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.default-auto-commit",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.default-catalog",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.default-read-only",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.default-transaction-isolation",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.destroy-scheduler",
      "type": "java.util.concurrent.ScheduledExecutorService"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.driver",
      "type": "java.sql.Driver"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.driver-class-name",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.dup-close-log-enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.exception-sorter",
      "type": "com.alibaba.druid.pool.ExceptionSorter"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.exception-sorter-class-name",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.fail-fast",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.filter-class-names",
      "type": "java.util.List<java.lang.String>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.init-global-variants",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.init-variants",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.initial-size",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.keep-alive",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.kill-when-socket-read-timeout",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.log-abandoned",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.log-different-thread",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.login-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.max-active",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.max-create-task-count",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.max-evictable-idle-time-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "deprecated": true,
      "name": "spring.datasource.druid.second.max-idle",
      "type": "java.lang.Integer",
      "deprecation": {}
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.max-open-prepared-statements",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.max-pool-prepared-statement-per-connection-size",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.max-wait",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.max-wait-thread-count",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.min-evictable-idle-time-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.min-idle",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.name",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.not-full-timeout-retry-count",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "deprecated": true,
      "name": "spring.datasource.druid.second.num-tests-per-eviction-run",
      "type": "java.lang.Integer",
      "deprecation": {}
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.object-name",
      "type": "javax.management.ObjectName"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.on-fatal-error-max-active",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.oracle",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.password",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.password-callback",
      "type": "javax.security.auth.callback.PasswordCallback"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.phy-timeout-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.pool-prepared-statements",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.pooling-connection-info",
      "type": "java.util.List<java.util.Map<java.lang.String,java.lang.Object>>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.proxy-filters",
      "type": "java.util.List<com.alibaba.druid.filter.Filter>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.query-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.remove-abandoned",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.remove-abandoned-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.remove-abandoned-timeout-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.reset-stat-enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.share-prepared-statements",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.sql-stat-map",
      "type": "java.util.Map<java.lang.String,com.alibaba.druid.stat.JdbcSqlStat>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.stat-data",
      "type": "java.util.Map<java.lang.String,java.lang.Object>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.stat-data-for-m-bean",
      "type": "java.util.Map<java.lang.String,java.lang.Object>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.stat-logger",
      "type": "com.alibaba.druid.pool.DruidDataSourceStatLogger"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.test-on-borrow",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.test-on-return",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.test-while-idle",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.time-between-connect-error-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.time-between-eviction-runs-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.time-between-log-stats-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.transaction-query-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.transaction-threshold-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.url",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.use-global-data-source-stat",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.use-local-session-state",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.use-oracle-implicit-cache",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.use-unfair-lock",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.user-callback",
      "type": "javax.security.auth.callback.NameCallback"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.username",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.valid-connection-checker",
      "type": "com.alibaba.druid.pool.ValidConnectionChecker"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.valid-connection-checker-class-name",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.validation-query",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.validation-query-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.second.wall-stat-map",
      "type": "java.util.Map<java.lang.String,java.lang.Object>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.access-to-underlying-connection-allowed",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.active-connection-stack-trace",
      "type": "java.util.List<java.lang.String>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.active-connections",
      "type": "java.util.Set<com.alibaba.druid.pool.DruidPooledConnection>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.async-close-connection-enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.async-init",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.break-after-acquire-failure",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.clear-filters-enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.connect-properties",
      "type": "java.util.Properties"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.connection-error-retry-attempts",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.connection-init-sqls",
      "type": "java.util.Collection<java.lang.String>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.create-scheduler",
      "type": "java.util.concurrent.ScheduledExecutorService"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.db-type",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.default-auto-commit",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.default-catalog",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.default-read-only",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.default-transaction-isolation",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.destroy-scheduler",
      "type": "java.util.concurrent.ScheduledExecutorService"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.driver",
      "type": "java.sql.Driver"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.driver-class-name",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.dup-close-log-enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.exception-sorter",
      "type": "com.alibaba.druid.pool.ExceptionSorter"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.exception-sorter-class-name",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.fail-fast",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.filter-class-names",
      "type": "java.util.List<java.lang.String>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.init-global-variants",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.init-variants",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.initial-size",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.keep-alive",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.kill-when-socket-read-timeout",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.log-abandoned",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.log-different-thread",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.login-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.max-active",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.max-create-task-count",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.max-evictable-idle-time-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "deprecated": true,
      "name": "spring.datasource.druid.third.max-idle",
      "type": "java.lang.Integer",
      "deprecation": {}
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.max-open-prepared-statements",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.max-pool-prepared-statement-per-connection-size",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.max-wait",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.max-wait-thread-count",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.min-evictable-idle-time-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.min-idle",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.name",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.not-full-timeout-retry-count",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "deprecated": true,
      "name": "spring.datasource.druid.third.num-tests-per-eviction-run",
      "type": "java.lang.Integer",
      "deprecation": {}
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.object-name",
      "type": "javax.management.ObjectName"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.on-fatal-error-max-active",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.oracle",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.password",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.password-callback",
      "type": "javax.security.auth.callback.PasswordCallback"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.phy-timeout-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.pool-prepared-statements",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.pooling-connection-info",
      "type": "java.util.List<java.util.Map<java.lang.String,java.lang.Object>>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.proxy-filters",
      "type": "java.util.List<com.alibaba.druid.filter.Filter>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.query-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.remove-abandoned",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.remove-abandoned-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.remove-abandoned-timeout-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.reset-stat-enable",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.share-prepared-statements",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.sql-stat-map",
      "type": "java.util.Map<java.lang.String,com.alibaba.druid.stat.JdbcSqlStat>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.stat-data",
      "type": "java.util.Map<java.lang.String,java.lang.Object>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.stat-data-for-m-bean",
      "type": "java.util.Map<java.lang.String,java.lang.Object>"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.stat-logger",
      "type": "com.alibaba.druid.pool.DruidDataSourceStatLogger"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.test-on-borrow",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.test-on-return",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.test-while-idle",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.time-between-connect-error-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.time-between-eviction-runs-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.time-between-log-stats-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.transaction-query-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.transaction-threshold-millis",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.url",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.use-global-data-source-stat",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.use-local-session-state",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.use-oracle-implicit-cache",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.use-unfair-lock",
      "type": "java.lang.Boolean"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.user-callback",
      "type": "javax.security.auth.callback.NameCallback"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.username",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.valid-connection-checker",
      "type": "com.alibaba.druid.pool.ValidConnectionChecker"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.valid-connection-checker-class-name",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.validation-query",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.validation-query-timeout",
      "type": "java.lang.Integer"
    },
    {
      "sourceType": "com.alibaba.druid.pool.DruidDataSource",
      "name": "spring.datasource.druid.third.wall-stat-map",
      "type": "java.util.Map<java.lang.String,java.lang.Object>"
    },
    {
      "sourceType": "com.warewms.common.utils.JwtUtils",
      "defaultValue": 0,
      "name": "warewms.jwt.expire",
      "type": "java.lang.Long"
    },
    {
      "sourceType": "com.warewms.common.utils.JwtUtils",
      "name": "warewms.jwt.header",
      "type": "java.lang.String"
    },
    {
      "sourceType": "com.warewms.common.utils.JwtUtils",
      "name": "warewms.jwt.secret",
      "type": "java.lang.String"
    }
  ]
}