{
  "groups": [],
  "properties": [
    {
      "name": "spring.cloud.alibaba.seata.application-id",
      "type": "java.lang.String",
      "description": "The application id, default value if '${spring.application.name}'.",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.SpringCloudAlibabaConfiguration",
      "defaultValue": "${spring.application.name:}",
      "deprecation": {
        "level": "warning",
        "replacement": "seata.application-id",
        "reason": "It may be removed in a future release, please configure to 'seata.application-id'."
      }
    },
    {
      "name": "spring.cloud.alibaba.seata.tx-service-group",
      "type": "java.lang.String",
      "description": "The tx-service-group.",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.SpringCloudAlibabaConfiguration",
      "deprecation": {
        "level": "warning",
        "replacement": "seata.tx-service-group",
        "reason": "It may be removed in a future release, please configure to 'seata.tx-service-group'."
      }
    },
    {
      "name": "seata.application-id",
      "type": "java.lang.String",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.SeataProperties",
      "defaultValue": "${spring.application.name:}"
    },
    {
      "name": "seata.data-source-proxy-mode",
      "type": "java.lang.String",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.SeataProperties",
      "defaultValue": "AT"
    },
    {
      "name": "seata.client.rm.async-commit-buffer-limit",
      "type": "java.lang.Integer",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.RmProperties",
      "defaultValue": 10000
    },
    {
      "name": "seata.client.rm.report-retry-count",
      "type": "java.lang.Integer",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.RmProperties",
      "defaultValue": 5
    },
    {
      "name": "seata.client.rm.table-meta-check-enable",
      "type": "java.lang.Boolean",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.RmProperties",
      "defaultValue": false
    },
    {
      "name": "seata.client.rm.report-success-enable",
      "type": "java.lang.Boolean",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.RmProperties",
      "defaultValue": false
    },
    {
      "name": "seata.client.rm.saga-branch-register-enable",
      "type": "java.lang.Boolean",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.RmProperties",
      "defaultValue": false
    },
    {
      "name": "seata.client.rm.saga-json-parser",
      "type": "java.lang.String",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.RmProperties",
      "defaultValue": "fastjson"
    },
    {
      "name": "seata.client.rm.saga-retry-persist-mode-update",
      "type": "java.lang.Boolean",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.RmProperties",
      "defaultValue": false
    },
    {
      "name": "seata.client.rm.saga-compensate-persist-mode-update",
      "type": "java.lang.Boolean",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.RmProperties",
      "defaultValue": false
    },
    {
      "name": "seata.client.rm.lock.retry-interval",
      "type": "java.lang.Integer",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.LockProperties",
      "defaultValue": 10
    },
    {
      "name": "seata.client.rm.lock.retry-times",
      "type": "java.lang.Integer",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.LockProperties",
      "defaultValue": 30
    },
    {
      "name": "seata.client.rm.lock.retry-policy-branch-rollback-on-conflict",
      "type": "java.lang.Boolean",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.LockProperties",
      "defaultValue": true
    },
    {
      "name": "seata.client.tm.commit-retry-count",
      "type": "java.lang.Integer",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.TmProperties",
      "defaultValue": 5
    },
    {
      "name": "seata.client.tm.rollback-retry-count",
      "type": "java.lang.Integer",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.TmProperties",
      "defaultValue": 5
    },
    {
      "name": "seata.client.tm.default-global-transaction-timeout",
      "type": "java.lang.Integer",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.TmProperties",
      "defaultValue": 60000
    },
    {
      "name": "seata.client.tm.degrade-check",
      "type": "java.lang.Boolean",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.TmProperties",
      "defaultValue": false
    },
    {
      "name": "seata.client.tm.degrade-check-period",
      "type": "java.lang.Integer",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.TmProperties",
      "defaultValue": 2000
    },
    {
      "name": "seata.client.tm.degrade-check-allow-times",
      "type": "java.lang.Integer",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.TmProperties",
      "defaultValue": 10
    },
    {
      "name": "seata.client.undo.data-validation",
      "type": "java.lang.Boolean",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.UndoProperties",
      "defaultValue": true
    },
    {
      "name": "seata.client.undo.log-serialization",
      "type": "java.lang.String",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.UndoProperties",
      "defaultValue": "jackson"
    },
    {
      "name": "seata.client.undo.log-table",
      "type": "java.lang.String",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.UndoProperties",
      "defaultValue": "undo_log"
    },
    {
      "name": "seata.client.undo.only-care-update-columns",
      "type": "java.lang.Boolean",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.UndoProperties",
      "defaultValue": true
    },
    {
      "name": "seata.client.undo.compress.enable",
      "type": "java.lang.Boolean",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.UndoCompressProperties",
      "defaultValue": true
    },
    {
      "name": "seata.client.undo.compress.type",
      "type": "java.lang.String",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.UndoCompressProperties",
      "defaultValue": "zip"
    },
    {
      "name": "seata.client.undo.compress.threshold",
      "type": "java.lang.String",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.UndoCompressProperties",
      "defaultValue": "64k"
    },
    {
      "name": "seata.client.log.exception-rate",
      "type": "java.lang.Integer",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.LogProperties",
      "deprecation": {
        "level": "error",
        "replacement": "seata.log.exception-rate",
        "reason": "Please configure to 'seata.log.exception-rate'."
      }
    },
    {
      "name": "seata.log.exception-rate",
      "type": "java.lang.Integer",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.LogProperties",
      "defaultValue": 100
    },
    {
      "name": "seata.service.disable-global-transaction",
      "type": "java.lang.Boolean",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.ServiceProperties",
      "defaultValue": false
    },
    {
      "name": "seata.transport.heartbeat",
      "type": "java.lang.Boolean",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.TransportProperties",
      "defaultValue": true
    },
    {
      "name": "seata.transport.enable-client-batch-send-request",
      "type": "java.lang.Boolean",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.TransportProperties",
      "defaultValue": true
    },
    {
      "name": "seata.transport.shutdown.wait",
      "type": "java.lang.Integer",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.ShutdownProperties",
      "defaultValue": 3
    },
    {
      "name": "seata.transport.thread-factory.boss-thread-prefix",
      "type": "java.lang.String",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.ThreadFactoryProperties",
      "defaultValue": "NettyBoss"
    },
    {
      "name": "seata.transport.thread-factory.worker-thread-prefix",
      "type": "java.lang.String",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.ThreadFactoryProperties",
      "defaultValue": "NettyServerNIOWorker"
    },
    {
      "name": "seata.transport.thread-factory.server-executor-thread-prefix",
      "type": "java.lang.String",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.ThreadFactoryProperties",
      "defaultValue": "NettyServerBizHandler"
    },
    {
      "name": "seata.transport.thread-factory.client-selector-thread-prefix",
      "type": "java.lang.String",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.ThreadFactoryProperties",
      "defaultValue": "NettyClientSelector"
    },
    {
      "name": "seata.transport.thread-factory.client-selector-thread-size",
      "type": "java.lang.Integer",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.ThreadFactoryProperties",
      "defaultValue": 1
    },
    {
      "name": "seata.transport.thread-factory.client-worker-thread-prefix",
      "type": "java.lang.String",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.ThreadFactoryProperties",
      "defaultValue": "NettyClientWorkerThread"
    },
    {
      "name": "seata.transport.thread-factory.worker-thread-size",
      "type": "java.lang.String",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.ThreadFactoryProperties",
      "defaultValue": "Default"
    },
    {
      "name": "seata.transport.thread-factory.boss-thread-size",
      "type": "java.lang.Integer",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.client.ThreadFactoryProperties",
      "defaultValue": 1
    },
    {
      "name": "seata.registry.load-balance",
      "type": "java.lang.String",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.registry.RegistryProperties",
      "defaultValue": "RandomLoadBalance",
      "deprecation": {
        "level": "error",
        "replacement": "seata.client.load-balance.type",
        "reason": "Please configure to 'seata.client.load-balance.type'."
      }
    },
    {
      "name": "seata.registry.load-balance-virtual-nodes",
      "type": "java.lang.Integer",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.registry.RegistryProperties",
      "defaultValue": 10,
      "deprecation": {
        "level": "error",
        "replacement": "seata.client.load-balance.virtual-nodes",
        "reason": "Please configure to 'seata.client.load-balance.virtual-nodes'."
      }
    },
    {
      "name": "seata.client.load-balance.type",
      "type": "java.lang.String",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.registry.LoadBalanceProperties",
      "defaultValue": "RandomLoadBalance"
    },
    {
      "name": "seata.client.load-balance.virtual-nodes",
      "type": "java.lang.Integer",
      "sourceType": "io.seata.spring.boot.autoconfigure.properties.registry.LoadBalanceProperties",
      "defaultValue": 10
    }
  ],
  "hints": [
    {
      "name": "seata.config.type",
      "providers": [
        {
          "name": "handle-as",
          "parameters": {
            "target": "io.seata.config.ConfigType"
          }
        }
      ]
    },
    {
      "name": "seata.registry.type",
      "providers": [
        {
          "name": "handle-as",
          "parameters": {
            "target": "io.seata.discovery.registry.RegistryType"
          }
        }
      ]
    },
    {
      "name": "seata.client.load-balance.type",
      "values": [
        {
          "value": "RandomLoadBalance",
          "description": "the default load balance."
        },
        {
          "value": "ConsistentHashLoadBalance"
        },
        {
          "value": "RoundRobinLoadBalance"
        },
        {
          "value": "LeastActiveLoadBalance"
        }
      ]
    },
    {
      "name": "seata.data-source-proxy-mode",
      "values": [
        {
          "value": "AT",
          "description": "the default mode."
        },
        {
          "value": "XA"
        }
      ]
    },
    {
      "name": "seata.excludes-for-auto-proxying",
      "providers": [
        {
          "name": "class-reference",
          "parameters": {
            "target": "javax.sql.DataSource"
          }
        }
      ]
    },
    {
      "name": "seata.client.rm.saga-json-parser",
      "values": [
        {
          "value": "fastjson",
          "description": "the default parser."
        },
        {
          "value": "jackson"
        }
      ]
    },
    {
      "name": "seata.client.undo.log-serialization",
      "values": [
        {
          "value": "jackson",
          "description": "the default serialization."
        },
        {
          "value": "fastjson"
        },
        {
          "value": "kryo"
        },
        {
          "value": "protostuff"
        },
        {
          "value": "fst"
        }
      ]
    },
    {
      "name": "seata.transport.type",
      "providers": [
        {
          "name": "handle-as",
          "parameters": {
            "target": "io.seata.core.rpc.TransportProtocolType"
          }
        }
      ]
    },
    {
      "name": "seata.transport.server",
      "providers": [
        {
          "name": "handle-as",
          "parameters": {
            "target": "io.seata.core.rpc.TransportServerType"
          }
        }
      ]
    },
    {
      "name": "seata.transport.serialization",
      "providers": [
        {
          "name": "handle-as",
          "parameters": {
            "target": "io.seata.core.serializer.SerializerType"
          }
        }
      ]
    },
    {
      "name": "seata.transport.compressor",
      "providers": [
        {
          "name": "handle-as",
          "parameters": {
            "target": "io.seata.core.compressor.CompressorType"
          }
        }
      ]
    },
    {
      "name": "seata.client.undo.compress.type",
      "providers": [
        {
          "name": "handle-as",
          "parameters": {
            "target": "io.seata.core.compressor.CompressorType"
          }
        }
      ]
    },
    {
      "name": "seata.transport.thread-factory.worker-thread-size",
      "providers": [
        {
          "name": "handle-as",
          "parameters": {
            "target": "io.seata.core.rpc.netty.NettyBaseConfig$WorkThreadMode"
          }
        }
      ]
    }
  ]
}