Various properties can be specified inside your application.properties file, inside your application.yml file, or as command line switches. This appendix provides a list of common Spring Boot properties and references to the underlying classes that consume them.

Spring Boot provides various conversion mechanism with advanced value formatting, make sure to review the properties conversion section.
Property contributions can come from additional jar files on your classpath, so you should not consider this an exhaustive list. Also, you can define your own properties.

1. Core Properties

Key Default Value Description

debug

false

Enable debug logs.

info.*

Arbitrary properties to add to the info endpoint.

logging.charset.console

Charset to use for console output.

logging.charset.file

Charset to use for file output.

logging.config

Location of the logging configuration file. For instance, `classpath:logback.xml` for Logback.

logging.exception-conversion-word

%wEx

Conversion word used when logging exceptions.

logging.file.name

Log file name (for instance, `myapp.log`). Names can be an exact location or relative to the current directory.

logging.file.path

Location of the log file. For instance, `/var/log`.

logging.group.*

Log groups to quickly change multiple loggers at the same time. For instance, `logging.group.db=org.hibernate,org.springframework.jdbc`.

logging.level.*

Log levels severity mapping. For instance, `logging.level.org.springframework=DEBUG`.

logging.logback.rollingpolicy.clean-history-on-start

false

Whether to clean the archive log files on startup.

logging.logback.rollingpolicy.file-name-pattern

${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz

Pattern for rolled-over log file names.

logging.logback.rollingpolicy.max-file-size

10MB

Maximum log file size.

logging.logback.rollingpolicy.max-history

7

Maximum number of days archive log files are kept.

logging.logback.rollingpolicy.total-size-cap

0B

Total size of log backups to be kept.

logging.pattern.console

%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}

Appender pattern for output to the console. Supported only with the default Logback setup.

logging.pattern.dateformat

yyyy-MM-dd HH:mm:ss.SSS

Appender pattern for log date format. Supported only with the default Logback setup.

logging.pattern.file

%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}

Appender pattern for output to a file. Supported only with the default Logback setup.

logging.pattern.level

%5p

Appender pattern for log level. Supported only with the default Logback setup.

logging.register-shutdown-hook

true

Register a shutdown hook for the logging system when it is initialized. Disabled automatically when deployed as a war file.

spring.aop.auto

true

Add @EnableAspectJAutoProxy.

spring.aop.proxy-target-class

true

Whether subclass-based (CGLIB) proxies are to be created (true), as opposed to standard Java interface-based proxies (false).

spring.application.admin.enabled

false

Whether to enable admin features for the application.

spring.application.admin.jmx-name

org.springframework.boot:type=Admin,name=SpringApplication

JMX name of the application admin MBean.

spring.application.name

Application name.

spring.autoconfigure.exclude

Auto-configuration classes to exclude.

spring.banner.charset

UTF-8

Banner file encoding.

spring.banner.image.bitdepth

4

Bit depth to use for ANSI colors. Supported values are 4 (16 color) or 8 (256 color).

spring.banner.image.height

Height of the banner image in chars (default based on image height).

spring.banner.image.invert

false

Whether images should be inverted for dark terminal themes.

spring.banner.image.location

classpath:banner.gif

Banner image file location (jpg or png can also be used).

spring.banner.image.margin

2

Left hand image margin in chars.

spring.banner.image.pixelmode

TEXT

Pixel mode to use when rendering the image.

spring.banner.image.width

76

Width of the banner image in chars.

spring.banner.location

classpath:banner.txt

Banner text resource location.

spring.beaninfo.ignore

true

Whether to skip search of BeanInfo classes.

spring.codec.log-request-details

false

Whether to log form data at DEBUG level, and headers at TRACE level.

spring.codec.max-in-memory-size

Limit on the number of bytes that can be buffered whenever the input stream needs to be aggregated. This applies only to the auto-configured WebFlux server and WebClient instances. By default this is not set, in which case individual codec defaults apply. Most codecs are limited to 256K by default.

spring.config.activate.on-cloud-platform

Required cloud platform for the document to be included.

spring.config.activate.on-profile

Profile expressions that should match for the document to be included.

spring.config.additional-location

Config file locations used in addition to the defaults.

spring.config.import

Import additional config data.

spring.config.location

Config file locations that replace the defaults.

spring.config.name

application

Config file name.

spring.config.use-legacy-processing

false

Whether to enable configuration data processing legacy mode.

spring.info.build.encoding

UTF-8

File encoding.

spring.info.build.location

classpath:META-INF/build-info.properties

Location of the generated build-info.properties file.

spring.info.git.encoding

UTF-8

File encoding.

spring.info.git.location

classpath:git.properties

Location of the generated git.properties file.

spring.jmx.default-domain

JMX domain name.

spring.jmx.enabled

false

Expose management beans to the JMX domain.

spring.jmx.server

mbeanServer

MBeanServer bean name.

spring.jmx.unique-names

false

Whether unique runtime object names should be ensured.

spring.lifecycle.timeout-per-shutdown-phase

30s

Timeout for the shutdown of any phase (group of SmartLifecycle beans with the same 'phase' value).

spring.main.allow-bean-definition-overriding

false

Whether bean definition overriding, by registering a definition with the same name as an existing definition, is allowed.

spring.main.banner-mode

console

Mode used to display the banner when the application runs.

spring.main.cloud-platform

Override the Cloud Platform auto-detection.

spring.main.lazy-initialization

false

Whether initialization should be performed lazily.

spring.main.log-startup-info

true

Whether to log information about the application when it starts.

spring.main.register-shutdown-hook

true

Whether the application should have a shutdown hook registered.

spring.main.sources

Sources (class names, package names, or XML resource locations) to include in the ApplicationContext.

spring.main.web-application-type

Flag to explicitly request a specific type of web application. If not set, auto-detected based on the classpath.

spring.mandatory-file-encoding

Expected character encoding the application must use.

spring.messages.always-use-message-format

false

Whether to always apply the MessageFormat rules, parsing even messages without arguments.

spring.messages.basename

messages

Comma-separated list of basenames (essentially a fully-qualified classpath location), each following the ResourceBundle convention with relaxed support for slash based locations. If it doesn't contain a package qualifier (such as "org.mypackage"), it will be resolved from the classpath root.

spring.messages.cache-duration

Loaded resource bundle files cache duration. When not set, bundles are cached forever. If a duration suffix is not specified, seconds will be used.

spring.messages.encoding

UTF-8

Message bundles encoding.

spring.messages.fallback-to-system-locale

true

Whether to fall back to the system Locale if no files for a specific Locale have been found. if this is turned off, the only fallback will be the default file (e.g. "messages.properties" for basename "messages").

spring.messages.use-code-as-default-message

false

Whether to use the message code as the default message instead of throwing a "NoSuchMessageException". Recommended during development only.

spring.output.ansi.enabled

detect

Configures the ANSI output.

spring.pid.fail-on-write-error

Fails if ApplicationPidFileWriter is used but it cannot write the PID file.

spring.pid.file

Location of the PID file to write (if ApplicationPidFileWriter is used).

spring.profiles.active

Comma-separated list of active profiles. Can be overridden by a command line switch.

spring.profiles.include

Unconditionally activate the specified comma-separated list of profiles (or list of profiles if using YAML).

spring.quartz.auto-startup

true

Whether to automatically start the scheduler after initialization.

spring.quartz.jdbc.comment-prefix

[#, --]

Prefixes for single-line comments in SQL initialization scripts.

spring.quartz.jdbc.initialize-schema

embedded

Database schema initialization mode.

spring.quartz.jdbc.schema

classpath:org/quartz/impl/jdbcjobstore/tables_@@platform@@.sql

Path to the SQL file to use to initialize the database schema.

spring.quartz.job-store-type

memory

Quartz job store type.

spring.quartz.overwrite-existing-jobs

false

Whether configured jobs should overwrite existing job definitions.

spring.quartz.properties.*

Additional Quartz Scheduler properties.

spring.quartz.scheduler-name

quartzScheduler

Name of the scheduler.

spring.quartz.startup-delay

0s

Delay after which the scheduler is started once initialization completes. Setting this property makes sense if no jobs should be run before the entire application has started up.

spring.quartz.wait-for-jobs-to-complete-on-shutdown

false

Whether to wait for running jobs to complete on shutdown.

spring.reactor.debug-agent.enabled

true

Whether the Reactor Debug Agent should be enabled when reactor-tools is present.

spring.task.execution.pool.allow-core-thread-timeout

true

Whether core threads are allowed to time out. This enables dynamic growing and shrinking of the pool.

spring.task.execution.pool.core-size

8

Core number of threads.

spring.task.execution.pool.keep-alive

60s

Time limit for which threads may remain idle before being terminated.

spring.task.execution.pool.max-size

Maximum allowed number of threads. If tasks are filling up the queue, the pool can expand up to that size to accommodate the load. Ignored if the queue is unbounded.

spring.task.execution.pool.queue-capacity

Queue capacity. An unbounded capacity does not increase the pool and therefore ignores the "max-size" property.

spring.task.execution.shutdown.await-termination

false

Whether the executor should wait for scheduled tasks to complete on shutdown.

spring.task.execution.shutdown.await-termination-period

Maximum time the executor should wait for remaining tasks to complete.

spring.task.execution.thread-name-prefix

task-

Prefix to use for the names of newly created threads.

spring.task.scheduling.pool.size

1

Maximum allowed number of threads.

spring.task.scheduling.shutdown.await-termination

false

Whether the executor should wait for scheduled tasks to complete on shutdown.

spring.task.scheduling.shutdown.await-termination-period

Maximum time the executor should wait for remaining tasks to complete.

spring.task.scheduling.thread-name-prefix

scheduling-

Prefix to use for the names of newly created threads.

trace

false

Enable trace logs.

2. Cache Properties

Key Default Value Description

spring.cache.cache-names

Comma-separated list of cache names to create if supported by the underlying cache manager. Usually, this disables the ability to create additional caches on-the-fly.

spring.cache.caffeine.spec

The spec to use to create caches. See CaffeineSpec for more details on the spec format.

spring.cache.couchbase.expiration

Entry expiration. By default the entries never expire. Note that this value is ultimately converted to seconds.

spring.cache.ehcache.config

The location of the configuration file to use to initialize EhCache.

spring.cache.infinispan.config

The location of the configuration file to use to initialize Infinispan.

spring.cache.jcache.config

The location of the configuration file to use to initialize the cache manager. The configuration file is dependent of the underlying cache implementation.

spring.cache.jcache.provider

Fully qualified name of the CachingProvider implementation to use to retrieve the JSR-107 compliant cache manager. Needed only if more than one JSR-107 implementation is available on the classpath.

spring.cache.redis.cache-null-values

true

Allow caching null values.

spring.cache.redis.enable-statistics

false

Whether to enable cache statistics.

spring.cache.redis.key-prefix

Key prefix.

spring.cache.redis.time-to-live

Entry expiration. By default the entries never expire.

spring.cache.redis.use-key-prefix

true

Whether to use the key prefix when writing to Redis.

spring.cache.type

Cache type. By default, auto-detected according to the environment.

3. Mail Properties

Key Default Value Description

spring.mail.default-encoding

UTF-8

Default MimeMessage encoding.

spring.mail.host

SMTP server host. For instance, `smtp.example.com`.

spring.mail.jndi-name

Session JNDI name. When set, takes precedence over other Session settings.

spring.mail.password

Login password of the SMTP server.

spring.mail.port

SMTP server port.

spring.mail.properties.*

Additional JavaMail Session properties.

spring.mail.protocol

smtp

Protocol used by the SMTP server.

spring.mail.test-connection

false

Whether to test that the mail server is available on startup.

spring.mail.username

Login user of the SMTP server.

spring.sendgrid.api-key

SendGrid API key.

spring.sendgrid.proxy.host

SendGrid proxy host.

spring.sendgrid.proxy.port

SendGrid proxy port.

4. JSON Properties

Key Default Value Description

spring.gson.date-format

Format to use when serializing Date objects.

spring.gson.disable-html-escaping

Whether to disable the escaping of HTML characters such as '<', '>', etc.

spring.gson.disable-inner-class-serialization

Whether to exclude inner classes during serialization.

spring.gson.enable-complex-map-key-serialization

Whether to enable serialization of complex map keys (i.e. non-primitives).

spring.gson.exclude-fields-without-expose-annotation

Whether to exclude all fields from consideration for serialization or deserialization that do not have the "Expose" annotation.

spring.gson.field-naming-policy

Naming policy that should be applied to an object's field during serialization and deserialization.

spring.gson.generate-non-executable-json

Whether to generate non executable JSON by prefixing the output with some special text.

spring.gson.lenient

Whether to be lenient about parsing JSON that doesn't conform to RFC 4627.

spring.gson.long-serialization-policy

Serialization policy for Long and long types.

spring.gson.pretty-printing

Whether to output serialized JSON that fits in a page for pretty printing.

spring.gson.serialize-nulls

Whether to serialize null fields.

spring.jackson.date-format

Date format string or a fully-qualified date format class name. For instance, `yyyy-MM-dd HH:mm:ss`.

spring.jackson.default-property-inclusion

Controls the inclusion of properties during serialization. Configured with one of the values in Jackson's JsonInclude.Include enumeration.

spring.jackson.deserialization.*

Jackson on/off features that affect the way Java objects are deserialized.

spring.jackson.generator.*

Jackson on/off features for generators.

spring.jackson.locale

Locale used for formatting.

spring.jackson.mapper.*

Jackson general purpose on/off features.

spring.jackson.parser.*

Jackson on/off features for parsers.

spring.jackson.property-naming-strategy

One of the constants on Jackson's PropertyNamingStrategies. Can also be a fully-qualified class name of a PropertyNamingStrategy implementation.

spring.jackson.serialization.*

Jackson on/off features that affect the way Java objects are serialized.

spring.jackson.time-zone

Time zone used when formatting dates. For instance, "America/Los_Angeles" or "GMT+10".

spring.jackson.visibility.*

Jackson visibility thresholds that can be used to limit which methods (and fields) are auto-detected.

5. Data Properties

Key Default Value Description

spring.couchbase.connection-string

Connection string used to locate the Couchbase cluster.

spring.couchbase.env.io.idle-http-connection-timeout

4500ms

Length of time an HTTP connection may remain idle before it is closed and removed from the pool.

spring.couchbase.env.io.max-endpoints

12

Maximum number of sockets per node.

spring.couchbase.env.io.min-endpoints

1

Minimum number of sockets per node.

spring.couchbase.env.ssl.enabled

Whether to enable SSL support. Enabled automatically if a "keyStore" is provided unless specified otherwise.

spring.couchbase.env.ssl.key-store

Path to the JVM key store that holds the certificates.

spring.couchbase.env.ssl.key-store-password

Password used to access the key store.

spring.couchbase.env.timeouts.analytics

75s

Timeout for the analytics service.

spring.couchbase.env.timeouts.connect

10s

Bucket connect timeout.

spring.couchbase.env.timeouts.disconnect

10s

Bucket disconnect timeout.

spring.couchbase.env.timeouts.key-value

2500ms

Timeout for operations on a specific key-value.

spring.couchbase.env.timeouts.key-value-durable

10s

Timeout for operations on a specific key-value with a durability level.

spring.couchbase.env.timeouts.management

75s

Timeout for the management operations.

spring.couchbase.env.timeouts.query

75s

N1QL query operations timeout.

spring.couchbase.env.timeouts.search

75s

Timeout for the search service.

spring.couchbase.env.timeouts.view

75s

Regular and geospatial view operations timeout.

spring.couchbase.password

Cluster password.

spring.couchbase.username

Cluster username.

spring.dao.exceptiontranslation.enabled

true

Whether to enable the PersistenceExceptionTranslationPostProcessor.

spring.data.cassandra.compression

none

Compression supported by the Cassandra binary protocol.

spring.data.cassandra.config

Location of the configuration file to use.

spring.data.cassandra.connection.connect-timeout

Timeout to use when establishing driver connections.

spring.data.cassandra.connection.connection-timeout

5s

spring.data.cassandra.connection.init-query-timeout

5s

Timeout to use for internal queries that run as part of the initialization process, just after a connection is opened.

spring.data.cassandra.contact-points

[127.0.0.1:9042]

Cluster node addresses in the form 'host:port', or a simple 'host' to use the configured port.

spring.data.cassandra.controlconnection.timeout

5s

Timeout to use for control queries.

spring.data.cassandra.keyspace-name

Keyspace name to use.

spring.data.cassandra.local-datacenter

Datacenter that is considered "local". Contact points should be from this datacenter.

spring.data.cassandra.password

Login password of the server.

spring.data.cassandra.pool.heartbeat-interval

30s

Heartbeat interval after which a message is sent on an idle connection to make sure it's still alive.

spring.data.cassandra.pool.idle-timeout

5s

Idle timeout before an idle connection is removed.

spring.data.cassandra.port

9042

Port to use if a contact point does not specify one.

spring.data.cassandra.repositories.type

auto

Type of Cassandra repositories to enable.

spring.data.cassandra.request.consistency

Queries consistency level.

spring.data.cassandra.request.page-size

5000

How many rows will be retrieved simultaneously in a single network roundtrip.

spring.data.cassandra.request.serial-consistency

Queries serial consistency level.

spring.data.cassandra.request.throttler.drain-interval

How often the throttler attempts to dequeue requests. Set this high enough that each attempt will process multiple entries in the queue, but not delay requests too much.

spring.data.cassandra.request.throttler.max-concurrent-requests

0

Maximum number of requests that are allowed to execute in parallel.

spring.data.cassandra.request.throttler.max-queue-size

0

Maximum number of requests that can be enqueued when the throttling threshold is exceeded.

spring.data.cassandra.request.throttler.max-requests-per-second

0

Maximum allowed request rate.

spring.data.cassandra.request.throttler.type

none

Request throttling type.

spring.data.cassandra.request.timeout

2s

How long the driver waits for a request to complete.

spring.data.cassandra.schema-action

none

Schema action to take at startup.

spring.data.cassandra.session-name

Name of the Cassandra session.

spring.data.cassandra.ssl

false

Enable SSL support.

spring.data.cassandra.username

Login user of the server.

spring.data.couchbase.auto-index

false

Automatically create views and indexes. Use the meta-data provided by "@ViewIndexed", "@N1qlPrimaryIndexed" and "@N1qlSecondaryIndexed".

spring.data.couchbase.bucket-name

Name of the bucket to connect to.

spring.data.couchbase.field-naming-strategy

Fully qualified name of the FieldNamingStrategy to use.

spring.data.couchbase.repositories.type

auto

Type of Couchbase repositories to enable.

spring.data.couchbase.scope-name

Name of the scope used for all collection access.

spring.data.couchbase.type-key

_class

Name of the field that stores the type information for complex types when using "MappingCouchbaseConverter".

spring.data.elasticsearch.client.reactive.connection-timeout

Connection timeout.

spring.data.elasticsearch.client.reactive.endpoints

Comma-separated list of the Elasticsearch endpoints to connect to.

spring.data.elasticsearch.client.reactive.max-in-memory-size

Limit on the number of bytes that can be buffered whenever the input stream needs to be aggregated.

spring.data.elasticsearch.client.reactive.password

Credentials password.

spring.data.elasticsearch.client.reactive.socket-timeout

Read and Write Socket timeout.

spring.data.elasticsearch.client.reactive.use-ssl

false

Whether the client should use SSL to connect to the endpoints.

spring.data.elasticsearch.client.reactive.username

Credentials username.

spring.data.elasticsearch.repositories.enabled

true

Whether to enable Elasticsearch repositories.

spring.data.jdbc.repositories.enabled

true

Whether to enable JDBC repositories.

spring.data.jpa.repositories.bootstrap-mode

default

Bootstrap mode for JPA repositories.

spring.data.jpa.repositories.enabled

true

Whether to enable JPA repositories.

spring.data.ldap.repositories.enabled

true

Whether to enable LDAP repositories.

spring.data.mongodb.authentication-database

Authentication database name.

spring.data.mongodb.auto-index-creation

Whether to enable auto-index creation.

spring.data.mongodb.database

Database name.

spring.data.mongodb.field-naming-strategy

Fully qualified name of the FieldNamingStrategy to use.

spring.data.mongodb.gridfs.bucket

GridFS bucket name.

spring.data.mongodb.gridfs.database

GridFS database name.

spring.data.mongodb.host

Mongo server host. Cannot be set with URI.

spring.data.mongodb.password

Login password of the mongo server. Cannot be set with URI.

spring.data.mongodb.port

Mongo server port. Cannot be set with URI.

spring.data.mongodb.replica-set-name

Required replica set name for the cluster. Cannot be set with URI.

spring.data.mongodb.repositories.type

auto

Type of Mongo repositories to enable.

spring.data.mongodb.uri

mongodb://localhost/test

Mongo database URI. Cannot be set with host, port, credentials and replica set name.

spring.data.mongodb.username

Login user of the mongo server. Cannot be set with URI.

spring.data.mongodb.uuid-representation

java-legacy

Representation to use when converting a UUID to a BSON binary value.

spring.data.neo4j.database

Database name to use. By default, the server decides the default database to use.

spring.data.neo4j.repositories.type

auto

Type of Neo4j repositories to enable.

spring.data.r2dbc.repositories.enabled

true

Whether to enable R2DBC repositories.

spring.data.redis.repositories.enabled

true

Whether to enable Redis repositories.

spring.data.rest.base-path

Base path to be used by Spring Data REST to expose repository resources.

spring.data.rest.default-media-type

Content type to use as a default when none is specified.

spring.data.rest.default-page-size

Default size of pages.

spring.data.rest.detection-strategy

default

Strategy to use to determine which repositories get exposed.

spring.data.rest.enable-enum-translation

Whether to enable enum value translation through the Spring Data REST default resource bundle.

spring.data.rest.limit-param-name

Name of the URL query string parameter that indicates how many results to return at once.

spring.data.rest.max-page-size

Maximum size of pages.

spring.data.rest.page-param-name

Name of the URL query string parameter that indicates what page to return.

spring.data.rest.return-body-on-create

Whether to return a response body after creating an entity.

spring.data.rest.return-body-on-update

Whether to return a response body after updating an entity.

spring.data.rest.sort-param-name

Name of the URL query string parameter that indicates what direction to sort results.

spring.data.solr.host

http://127.0.0.1:8983/solr

Solr host. Ignored if "zk-host" is set.

spring.data.solr.zk-host

ZooKeeper host address in the form HOST:PORT.

spring.data.web.pageable.default-page-size

20

Default page size.

spring.data.web.pageable.max-page-size

2000

Maximum page size to be accepted.

spring.data.web.pageable.one-indexed-parameters

false

Whether to expose and assume 1-based page number indexes. Defaults to "false", meaning a page number of 0 in the request equals the first page.

spring.data.web.pageable.page-parameter

page

Page index parameter name.

spring.data.web.pageable.prefix

General prefix to be prepended to the page number and page size parameters.

spring.data.web.pageable.qualifier-delimiter

_

Delimiter to be used between the qualifier and the actual page number and size properties.

spring.data.web.pageable.size-parameter

size

Page size parameter name.

spring.data.web.sort.sort-parameter

sort

Sort parameter name.

spring.datasource.dbcp2.abandoned-usage-tracking
spring.datasource.dbcp2.access-to-underlying-connection-allowed
spring.datasource.dbcp2.auto-commit-on-return
spring.datasource.dbcp2.cache-state
spring.datasource.dbcp2.clear-statement-pool-on-return
spring.datasource.dbcp2.connection-factory-class-name
spring.datasource.dbcp2.connection-init-sqls
spring.datasource.dbcp2.default-auto-commit
spring.datasource.dbcp2.default-catalog
spring.datasource.dbcp2.default-query-timeout
spring.datasource.dbcp2.default-read-only
spring.datasource.dbcp2.default-schema
spring.datasource.dbcp2.default-transaction-isolation
spring.datasource.dbcp2.disconnection-sql-codes
spring.datasource.dbcp2.driver
spring.datasource.dbcp2.driver-class-name
spring.datasource.dbcp2.eviction-policy-class-name
spring.datasource.dbcp2.fast-fail-validation
spring.datasource.dbcp2.initial-size
spring.datasource.dbcp2.jmx-name
spring.datasource.dbcp2.lifo
spring.datasource.dbcp2.log-abandoned
spring.datasource.dbcp2.log-expired-connections
spring.datasource.dbcp2.login-timeout
spring.datasource.dbcp2.max-conn-lifetime-millis
spring.datasource.dbcp2.max-idle
spring.datasource.dbcp2.max-open-prepared-statements
spring.datasource.dbcp2.max-total
spring.datasource.dbcp2.max-wait-millis
spring.datasource.dbcp2.min-evictable-idle-time-millis
spring.datasource.dbcp2.min-idle
spring.datasource.dbcp2.num-tests-per-eviction-run
spring.datasource.dbcp2.password
spring.datasource.dbcp2.pool-prepared-statements
spring.datasource.dbcp2.remove-abandoned-on-borrow
spring.datasource.dbcp2.remove-abandoned-on-maintenance
spring.datasource.dbcp2.remove-abandoned-timeout
spring.datasource.dbcp2.rollback-on-return
spring.datasource.dbcp2.soft-min-evictable-idle-time-millis
spring.datasource.dbcp2.test-on-borrow
spring.datasource.dbcp2.test-on-create
spring.datasource.dbcp2.test-on-return
spring.datasource.dbcp2.test-while-idle
spring.datasource.dbcp2.time-between-eviction-runs-millis
spring.datasource.dbcp2.url
spring.datasource.dbcp2.username
spring.datasource.dbcp2.validation-query
spring.datasource.dbcp2.validation-query-timeout

Commons DBCP2 specific settings bound to an instance of DBCP2's BasicDataSource

spring.datasource.driver-class-name

Fully qualified name of the JDBC driver. Auto-detected based on the URL by default.

spring.datasource.embedded-database-connection

Connection details for an embedded database. Defaults to the most suitable embedded database that is available on the classpath.

spring.datasource.generate-unique-name

true

Whether to generate a random datasource name.

spring.datasource.hikari.allow-pool-suspension
spring.datasource.hikari.auto-commit
spring.datasource.hikari.catalog
spring.datasource.hikari.connection-init-sql
spring.datasource.hikari.connection-test-query
spring.datasource.hikari.connection-timeout
spring.datasource.hikari.data-source-class-name
spring.datasource.hikari.data-source-j-n-d-i
spring.datasource.hikari.data-source-properties
spring.datasource.hikari.driver-class-name
spring.datasource.hikari.exception-override-class-name
spring.datasource.hikari.health-check-properties
spring.datasource.hikari.health-check-registry
spring.datasource.hikari.idle-timeout
spring.datasource.hikari.initialization-fail-timeout
spring.datasource.hikari.isolate-internal-queries
spring.datasource.hikari.jdbc-url
spring.datasource.hikari.keepalive-time
spring.datasource.hikari.leak-detection-threshold
spring.datasource.hikari.login-timeout
spring.datasource.hikari.max-lifetime
spring.datasource.hikari.maximum-pool-size
spring.datasource.hikari.metric-registry
spring.datasource.hikari.metrics-tracker-factory
spring.datasource.hikari.minimum-idle
spring.datasource.hikari.password
spring.datasource.hikari.pool-name
spring.datasource.hikari.read-only
spring.datasource.hikari.register-mbeans
spring.datasource.hikari.scheduled-executor
spring.datasource.hikari.schema
spring.datasource.hikari.transaction-isolation
spring.datasource.hikari.username
spring.datasource.hikari.validation-timeout

Hikari specific settings bound to an instance of Hikari's HikariDataSource

spring.datasource.jndi-name

JNDI location of the datasource. Class, url, username and password are ignored when set.

spring.datasource.name

Name of the datasource. Default to "testdb" when using an embedded database.

spring.datasource.oracleucp.abandoned-connection-timeout
spring.datasource.oracleucp.connection-factory-class-name
spring.datasource.oracleucp.connection-factory-properties
spring.datasource.oracleucp.connection-harvest-max-count
spring.datasource.oracleucp.connection-harvest-trigger-count
spring.datasource.oracleucp.connection-labeling-high-cost
spring.datasource.oracleucp.connection-pool-name
spring.datasource.oracleucp.connection-properties
spring.datasource.oracleucp.connection-repurpose-threshold
spring.datasource.oracleucp.connection-validation-timeout
spring.datasource.oracleucp.connection-wait-timeout
spring.datasource.oracleucp.data-source-name
spring.datasource.oracleucp.database-name
spring.datasource.oracleucp.description
spring.datasource.oracleucp.fast-connection-failover-enabled
spring.datasource.oracleucp.high-cost-connection-reuse-threshold
spring.datasource.oracleucp.inactive-connection-timeout
spring.datasource.oracleucp.initial-pool-size
spring.datasource.oracleucp.login-timeout
spring.datasource.oracleucp.max-connection-reuse-count
spring.datasource.oracleucp.max-connection-reuse-time
spring.datasource.oracleucp.max-connections-per-shard
spring.datasource.oracleucp.max-idle-time
spring.datasource.oracleucp.max-pool-size
spring.datasource.oracleucp.max-statements
spring.datasource.oracleucp.min-pool-size
spring.datasource.oracleucp.network-protocol
spring.datasource.oracleucp.o-n-s-configuration
spring.datasource.oracleucp.password
spring.datasource.oracleucp.pdb-roles
spring.datasource.oracleucp.port-number
spring.datasource.oracleucp.property-cycle
spring.datasource.oracleucp.query-timeout
spring.datasource.oracleucp.read-only-instance-allowed
spring.datasource.oracleucp.role-name
spring.datasource.oracleucp.s-q-l-for-validate-connection
spring.datasource.oracleucp.seconds-to-trust-idle-connection
spring.datasource.oracleucp.server-name
spring.datasource.oracleucp.sharding-mode
spring.datasource.oracleucp.time-to-live-connection-timeout
spring.datasource.oracleucp.timeout-check-interval
spring.datasource.oracleucp.u-r-l
spring.datasource.oracleucp.user
spring.datasource.oracleucp.validate-connection-on-borrow

Oracle UCP specific settings bound to an instance of Oracle UCP's PoolDataSource

spring.datasource.password

Login password of the database.

spring.datasource.tomcat.abandon-when-percentage-full
spring.datasource.tomcat.access-to-underlying-connection-allowed
spring.datasource.tomcat.alternate-username-allowed
spring.datasource.tomcat.commit-on-return
spring.datasource.tomcat.connection-properties
spring.datasource.tomcat.data-source
spring.datasource.tomcat.data-source-j-n-d-i
spring.datasource.tomcat.db-properties
spring.datasource.tomcat.default-auto-commit
spring.datasource.tomcat.default-catalog
spring.datasource.tomcat.default-read-only
spring.datasource.tomcat.default-transaction-isolation
spring.datasource.tomcat.driver-class-name
spring.datasource.tomcat.fair-queue
spring.datasource.tomcat.ignore-exception-on-pre-load
spring.datasource.tomcat.init-s-q-l
spring.datasource.tomcat.initial-size
spring.datasource.tomcat.jdbc-interceptors
spring.datasource.tomcat.jmx-enabled
spring.datasource.tomcat.log-abandoned
spring.datasource.tomcat.log-validation-errors
spring.datasource.tomcat.login-timeout
spring.datasource.tomcat.max-active
spring.datasource.tomcat.max-age
spring.datasource.tomcat.max-idle
spring.datasource.tomcat.max-wait
spring.datasource.tomcat.min-evictable-idle-time-millis
spring.datasource.tomcat.min-idle
spring.datasource.tomcat.name
spring.datasource.tomcat.num-tests-per-eviction-run
spring.datasource.tomcat.password
spring.datasource.tomcat.propagate-interrupt-state
spring.datasource.tomcat.remove-abandoned
spring.datasource.tomcat.remove-abandoned-timeout
spring.datasource.tomcat.rollback-on-return
spring.datasource.tomcat.suspect-timeout
spring.datasource.tomcat.test-on-borrow
spring.datasource.tomcat.test-on-connect
spring.datasource.tomcat.test-on-return
spring.datasource.tomcat.test-while-idle
spring.datasource.tomcat.time-between-eviction-runs-millis
spring.datasource.tomcat.url
spring.datasource.tomcat.use-disposable-connection-facade
spring.datasource.tomcat.use-equals
spring.datasource.tomcat.use-lock
spring.datasource.tomcat.use-statement-facade
spring.datasource.tomcat.username
spring.datasource.tomcat.validation-interval
spring.datasource.tomcat.validation-query
spring.datasource.tomcat.validation-query-timeout
spring.datasource.tomcat.validator-class-name

Tomcat datasource specific settings bound to an instance of Tomcat JDBC's DataSource

spring.datasource.type

Fully qualified name of the connection pool implementation to use. By default, it is auto-detected from the classpath.

spring.datasource.url

JDBC URL of the database.

spring.datasource.username

Login username of the database.

spring.datasource.xa.data-source-class-name

XA datasource fully qualified name.

spring.datasource.xa.properties.*

Properties to pass to the XA data source.

spring.elasticsearch.rest.connection-timeout

1s

Connection timeout.

spring.elasticsearch.rest.password

Credentials password.

spring.elasticsearch.rest.read-timeout

30s

Read timeout.

spring.elasticsearch.rest.sniffer.delay-after-failure

1m

Delay of a sniff execution scheduled after a failure.

spring.elasticsearch.rest.sniffer.interval

5m

Interval between consecutive ordinary sniff executions.

spring.elasticsearch.rest.uris

[http://localhost:9200]

Comma-separated list of the Elasticsearch instances to use.

spring.elasticsearch.rest.username

Credentials username.

spring.h2.console.enabled

false

Whether to enable the console.

spring.h2.console.path

/h2-console

Path at which the console is available.

spring.h2.console.settings.trace

false

Whether to enable trace output.

spring.h2.console.settings.web-admin-password

Password to access preferences and tools of H2 Console.

spring.h2.console.settings.web-allow-others

false

Whether to enable remote access.

spring.influx.password

Login password.

spring.influx.url

URL of the InfluxDB instance to which to connect.

spring.influx.user

Login user.

spring.jdbc.template.fetch-size

-1

Number of rows that should be fetched from the database when more rows are needed. Use -1 to use the JDBC driver's default configuration.

spring.jdbc.template.max-rows

-1

Maximum number of rows. Use -1 to use the JDBC driver's default configuration.

spring.jdbc.template.query-timeout

Query timeout. Default is to use the JDBC driver's default configuration. If a duration suffix is not specified, seconds will be used.

spring.jooq.sql-dialect

SQL dialect to use. Auto-detected by default.

spring.jpa.database

Target database to operate on, auto-detected by default. Can be alternatively set using the "databasePlatform" property.

spring.jpa.database-platform

Name of the target database to operate on, auto-detected by default. Can be alternatively set using the "Database" enum.

spring.jpa.defer-datasource-initialization

false

spring.jpa.generate-ddl

false

Whether to initialize the schema on startup.

spring.jpa.hibernate.ddl-auto

DDL mode. This is actually a shortcut for the "hibernate.hbm2ddl.auto" property. Defaults to "create-drop" when using an embedded database and no schema manager was detected. Otherwise, defaults to "none".

spring.jpa.hibernate.naming.implicit-strategy

Fully qualified name of the implicit naming strategy.

spring.jpa.hibernate.naming.physical-strategy

Fully qualified name of the physical naming strategy.

spring.jpa.hibernate.use-new-id-generator-mappings

Whether to use Hibernate's newer IdentifierGenerator for AUTO, TABLE and SEQUENCE. This is actually a shortcut for the "hibernate.id.new_generator_mappings" property. When not specified will default to "true".

spring.jpa.mapping-resources

Mapping resources (equivalent to "mapping-file" entries in persistence.xml).

spring.jpa.open-in-view

true

Register OpenEntityManagerInViewInterceptor. Binds a JPA EntityManager to the thread for the entire processing of the request.

spring.jpa.properties.*

Additional native properties to set on the JPA provider.

spring.jpa.show-sql

false

Whether to enable logging of SQL statements.

spring.ldap.anonymous-read-only

Whether read-only operations should use an anonymous environment. Disabled by default unless a username is set.

spring.ldap.base

Base suffix from which all operations should originate.

spring.ldap.base-environment.*

LDAP specification settings.

spring.ldap.embedded.base-dn

List of base DNs.

spring.ldap.embedded.credential.password

Embedded LDAP password.

spring.ldap.embedded.credential.username

Embedded LDAP username.

spring.ldap.embedded.ldif

classpath:schema.ldif

Schema (LDIF) script resource reference.

spring.ldap.embedded.port

0

Embedded LDAP port.

spring.ldap.embedded.validation.enabled

true

Whether to enable LDAP schema validation.

spring.ldap.embedded.validation.schema

Path to the custom schema.

spring.ldap.password

Login password of the server.

spring.ldap.template.ignore-name-not-found-exception

false

Whether NameNotFoundException should be ignored in searches via the LdapTemplate.

spring.ldap.template.ignore-partial-result-exception

false

Whether PartialResultException should be ignored in searches via the LdapTemplate.

spring.ldap.template.ignore-size-limit-exceeded-exception

true

Whether SizeLimitExceededException should be ignored in searches via the LdapTemplate.

spring.ldap.urls

LDAP URLs of the server.

spring.ldap.username

Login username of the server.

spring.mongodb.embedded.features

[sync_delay]

Comma-separated list of features to enable. Uses the defaults of the configured version by default.

spring.mongodb.embedded.storage.database-dir

Directory used for data storage.

spring.mongodb.embedded.storage.oplog-size

Maximum size of the oplog.

spring.mongodb.embedded.storage.repl-set-name

Name of the replica set.

spring.mongodb.embedded.version

3.5.5

Version of Mongo to use.

spring.neo4j.authentication.kerberos-ticket

Kerberos ticket for connecting to the database. Mutual exclusive with a given username.

spring.neo4j.authentication.password

Login password of the server.

spring.neo4j.authentication.realm

Realm to connect to.

spring.neo4j.authentication.username

Login user of the server.

spring.neo4j.connection-timeout

30s

Timeout for borrowing connections from the pool.

spring.neo4j.max-transaction-retry-time

30s

Maximum time transactions are allowed to retry.

spring.neo4j.pool.connection-acquisition-timeout

60s

Acquisition of new connections will be attempted for at most configured timeout.

spring.neo4j.pool.idle-time-before-connection-test

Pooled connections that have been idle in the pool for longer than this threshold will be tested before they are used again.

spring.neo4j.pool.log-leaked-sessions

false

Whether to log leaked sessions.

spring.neo4j.pool.max-connection-lifetime

1h

Pooled connections older than this threshold will be closed and removed from the pool.

spring.neo4j.pool.max-connection-pool-size

100

Maximum amount of connections in the connection pool towards a single database.

spring.neo4j.pool.metrics-enabled

false

Whether to enable metrics.

spring.neo4j.security.cert-file

Path to the file that holds the trusted certificates.

spring.neo4j.security.encrypted

false

Whether the driver should use encrypted traffic.

spring.neo4j.security.hostname-verification-enabled

true

Whether hostname verification is required.

spring.neo4j.security.trust-strategy

trust-system-ca-signed-certificates

Trust strategy to use.

spring.neo4j.uri

bolt://localhost:7687

URI used by the driver.

spring.r2dbc.generate-unique-name

false

Whether to generate a random database name. Ignore any configured name when enabled.

spring.r2dbc.name

Database name. Set if no name is specified in the url. Default to "testdb" when using an embedded database.

spring.r2dbc.password

Login password of the database. Set if no password is specified in the url.

spring.r2dbc.pool.enabled

Whether pooling is enabled. Enabled automatically if "r2dbc-pool" is on the classpath.

spring.r2dbc.pool.initial-size

10

Initial connection pool size.

spring.r2dbc.pool.max-acquire-time

Maximum time to acquire a connection from the pool. By default, wait indefinitely.

spring.r2dbc.pool.max-create-connection-time

Maximum time to wait to create a new connection. By default, wait indefinitely.

spring.r2dbc.pool.max-idle-time

30m

Maximum amount of time that a connection is allowed to sit idle in the pool.

spring.r2dbc.pool.max-life-time

Maximum lifetime of a connection in the pool. By default, connections have an infinite lifetime.

spring.r2dbc.pool.max-size

10

Maximal connection pool size.

spring.r2dbc.pool.validation-depth

local

Validation depth.

spring.r2dbc.pool.validation-query

Validation query.

spring.r2dbc.properties.*

Additional R2DBC options.

spring.r2dbc.url

R2DBC URL of the database. database name, username, password and pooling options specified in the url take precedence over individual options.

spring.r2dbc.username

Login username of the database. Set if no username is specified in the url.

spring.redis.client-name

Client name to be set on connections with CLIENT SETNAME.

spring.redis.client-type

Type of client to use. By default, auto-detected according to the classpath.

spring.redis.cluster.max-redirects

Maximum number of redirects to follow when executing commands across the cluster.

spring.redis.cluster.nodes

Comma-separated list of "host:port" pairs to bootstrap from. This represents an "initial" list of cluster nodes and is required to have at least one entry.

spring.redis.connect-timeout

Connection timeout.

spring.redis.database

0

Database index used by the connection factory.

spring.redis.host

localhost

Redis server host.

spring.redis.jedis.pool.max-active

8

Maximum number of connections that can be allocated by the pool at a given time. Use a negative value for no limit.

spring.redis.jedis.pool.max-idle

8

Maximum number of "idle" connections in the pool. Use a negative value to indicate an unlimited number of idle connections.

spring.redis.jedis.pool.max-wait

-1ms

Maximum amount of time a connection allocation should block before throwing an exception when the pool is exhausted. Use a negative value to block indefinitely.

spring.redis.jedis.pool.min-idle

0

Target for the minimum number of idle connections to maintain in the pool. This setting only has an effect if both it and time between eviction runs are positive.

spring.redis.jedis.pool.time-between-eviction-runs

Time between runs of the idle object evictor thread. When positive, the idle object evictor thread starts, otherwise no idle object eviction is performed.

spring.redis.lettuce.cluster.refresh.adaptive

false

Whether adaptive topology refreshing using all available refresh triggers should be used.

spring.redis.lettuce.cluster.refresh.dynamic-refresh-sources

true

Whether to discover and query all cluster nodes for obtaining the cluster topology. When set to false, only the initial seed nodes are used as sources for topology discovery.

spring.redis.lettuce.cluster.refresh.period

Cluster topology refresh period.

spring.redis.lettuce.pool.max-active

8

Maximum number of connections that can be allocated by the pool at a given time. Use a negative value for no limit.

spring.redis.lettuce.pool.max-idle

8

Maximum number of "idle" connections in the pool. Use a negative value to indicate an unlimited number of idle connections.

spring.redis.lettuce.pool.max-wait

-1ms

Maximum amount of time a connection allocation should block before throwing an exception when the pool is exhausted. Use a negative value to block indefinitely.

spring.redis.lettuce.pool.min-idle

0

Target for the minimum number of idle connections to maintain in the pool. This setting only has an effect if both it and time between eviction runs are positive.

spring.redis.lettuce.pool.time-between-eviction-runs

Time between runs of the idle object evictor thread. When positive, the idle object evictor thread starts, otherwise no idle object eviction is performed.

spring.redis.lettuce.shutdown-timeout

100ms

Shutdown timeout.

spring.redis.password

Login password of the redis server.

spring.redis.port

6379

Redis server port.

spring.redis.sentinel.master

Name of the Redis server.

spring.redis.sentinel.nodes

Comma-separated list of "host:port" pairs.

spring.redis.sentinel.password

Password for authenticating with sentinel(s).

spring.redis.ssl

false

Whether to enable SSL support.

spring.redis.timeout

Read timeout.

spring.redis.url

Connection URL. Overrides host, port, and password. User is ignored. Example: redis://user:[email protected]:6379

spring.redis.username

Login username of the redis server.

6. Transaction Properties

Key Default Value Description

spring.jta.atomikos.connectionfactory.borrow-connection-timeout

30

Timeout, in seconds, for borrowing connections from the pool.

spring.jta.atomikos.connectionfactory.ignore-session-transacted-flag

true

Whether to ignore the transacted flag when creating session.

spring.jta.atomikos.connectionfactory.local-transaction-mode

false

Whether local transactions are desired.

spring.jta.atomikos.connectionfactory.maintenance-interval

60

Time, in seconds, between runs of the pool's maintenance thread.

spring.jta.atomikos.connectionfactory.max-idle-time

60

Time, in seconds, after which connections are cleaned up from the pool.

spring.jta.atomikos.connectionfactory.max-lifetime

0

Time, in seconds, that a connection can be pooled for before being destroyed. 0 denotes no limit.

spring.jta.atomikos.connectionfactory.max-pool-size

1

Maximum size of the pool.

spring.jta.atomikos.connectionfactory.min-pool-size

1

Minimum size of the pool.

spring.jta.atomikos.connectionfactory.reap-timeout

0

Reap timeout, in seconds, for borrowed connections. 0 denotes no limit.

spring.jta.atomikos.connectionfactory.unique-resource-name

jmsConnectionFactory

Unique name used to identify the resource during recovery.

spring.jta.atomikos.connectionfactory.xa-connection-factory-class-name

Vendor-specific implementation of XAConnectionFactory.

spring.jta.atomikos.connectionfactory.xa-properties

Vendor-specific XA properties.

spring.jta.atomikos.datasource.borrow-connection-timeout

30

Timeout, in seconds, for borrowing connections from the pool.

spring.jta.atomikos.datasource.concurrent-connection-validation

true

Whether to use concurrent connection validation.

spring.jta.atomikos.datasource.default-isolation-level

Default isolation level of connections provided by the pool.

spring.jta.atomikos.datasource.login-timeout

0

Timeout, in seconds, for establishing a database connection.

spring.jta.atomikos.datasource.maintenance-interval

60

Time, in seconds, between runs of the pool's maintenance thread.

spring.jta.atomikos.datasource.max-idle-time

60

Time, in seconds, after which connections are cleaned up from the pool.

spring.jta.atomikos.datasource.max-lifetime

0

Time, in seconds, that a connection can be pooled for before being destroyed. 0 denotes no limit.

spring.jta.atomikos.datasource.max-pool-size

1

Maximum size of the pool.

spring.jta.atomikos.datasource.min-pool-size

1

Minimum size of the pool.

spring.jta.atomikos.datasource.reap-timeout

0

Reap timeout, in seconds, for borrowed connections. 0 denotes no limit.

spring.jta.atomikos.datasource.test-query

SQL query or statement used to validate a connection before returning it.

spring.jta.atomikos.datasource.unique-resource-name

dataSource

Unique name used to identify the resource during recovery.

spring.jta.atomikos.datasource.xa-data-source-class-name

Vendor-specific implementation of XAConnectionFactory.

spring.jta.atomikos.datasource.xa-properties

Vendor-specific XA properties.

spring.jta.atomikos.properties.allow-sub-transactions

true

Specify whether sub-transactions are allowed.

spring.jta.atomikos.properties.checkpoint-interval

500

Interval between checkpoints, expressed as the number of log writes between two checkpoints. A checkpoint reduces the log file size at the expense of adding some overhead in the runtime.

spring.jta.atomikos.properties.default-jta-timeout

10000ms

Default timeout for JTA transactions.

spring.jta.atomikos.properties.default-max-wait-time-on-shutdown

How long should normal shutdown (no-force) wait for transactions to complete.

spring.jta.atomikos.properties.enable-logging

true

Whether to enable disk logging.

spring.jta.atomikos.properties.force-shutdown-on-vm-exit

false

Whether a VM shutdown should trigger forced shutdown of the transaction core.

spring.jta.atomikos.properties.log-base-dir

Directory in which the log files should be stored. Defaults to the current working directory.

spring.jta.atomikos.properties.log-base-name

tmlog

Transactions log file base name.

spring.jta.atomikos.properties.max-actives

50

Maximum number of active transactions.

spring.jta.atomikos.properties.max-timeout

300000ms

Maximum timeout that can be allowed for transactions.

spring.jta.atomikos.properties.recovery.delay

10000ms

Delay between two recovery scans.

spring.jta.atomikos.properties.recovery.forget-orphaned-log-entries-delay

86400000ms

Delay after which recovery can cleanup pending ('orphaned') log entries.

spring.jta.atomikos.properties.recovery.max-retries

5

Number of retry attempts to commit the transaction before throwing an exception.

spring.jta.atomikos.properties.recovery.retry-interval

10000ms

Delay between retry attempts.

spring.jta.atomikos.properties.serial-jta-transactions

true

Whether sub-transactions should be joined when possible.

spring.jta.atomikos.properties.service

Transaction manager implementation that should be started.

spring.jta.atomikos.properties.threaded-two-phase-commit

false

Whether to use different (and concurrent) threads for two-phase commit on the participating resources.

spring.jta.atomikos.properties.transaction-manager-unique-name

The transaction manager's unique name. Defaults to the machine's IP address. If you plan to run more than one transaction manager against one database you must set this property to a unique value.

spring.jta.enabled

true

Whether to enable JTA support.

spring.jta.log-dir

Transaction logs directory.

spring.jta.transaction-manager-id

Transaction manager unique identifier.

spring.transaction.default-timeout

Default transaction timeout. If a duration suffix is not specified, seconds will be used.

spring.transaction.rollback-on-commit-failure

Whether to roll back on commit failures.

7. Data Migration Properties

Key Default Value Description

spring.flyway.baseline-description

<< Flyway Baseline >>

Description to tag an existing schema with when applying a baseline.

spring.flyway.baseline-on-migrate

false

Whether to automatically call baseline when migrating a non-empty schema.

spring.flyway.baseline-version

1

Version to tag an existing schema with when executing baseline.

spring.flyway.batch

Whether to batch SQL statements when executing them. Requires Flyway Teams.

spring.flyway.cherry-pick

Migrations that Flyway should consider when migrating or undoing. When empty all available migrations are considered. Requires Flyway Teams.

spring.flyway.clean-disabled

false

Whether to disable cleaning of the database.

spring.flyway.clean-on-validation-error

false

Whether to automatically call clean when a validation error occurs.

spring.flyway.connect-retries

0

Maximum number of retries when attempting to connect to the database.

spring.flyway.create-schemas

true

Whether Flyway should attempt to create the schemas specified in the schemas property.

spring.flyway.default-schema

Default schema name managed by Flyway (case-sensitive).

spring.flyway.driver-class-name

Fully qualified name of the JDBC driver. Auto-detected based on the URL by default.

spring.flyway.enabled

true

Whether to enable flyway.

spring.flyway.encoding

UTF-8

Encoding of SQL migrations.

spring.flyway.error-overrides

Rules for the built-in error handling to override specific SQL states and error codes. Requires Flyway Teams.

spring.flyway.group

false

Whether to group all pending migrations together in the same transaction when applying them.

spring.flyway.ignore-future-migrations

true

Whether to ignore future migrations when reading the schema history table.

spring.flyway.ignore-ignored-migrations

false

Whether to ignore ignored migrations when reading the schema history table.

spring.flyway.ignore-missing-migrations

false

Whether to ignore missing migrations when reading the schema history table.

spring.flyway.ignore-pending-migrations

false

Whether to ignore pending migrations when reading the schema history table.

spring.flyway.init-sqls

SQL statements to execute to initialize a connection immediately after obtaining it.

spring.flyway.installed-by

Username recorded in the schema history table as having applied the migration.

spring.flyway.jdbc-properties.*

Properties to pass to the JDBC driver. Requires Flyway Teams.

spring.flyway.license-key

Licence key for Flyway Teams.

spring.flyway.locations

[classpath:db/migration]

Locations of migrations scripts. Can contain the special "{vendor}" placeholder to use vendor-specific locations.

spring.flyway.lock-retry-count

50

Maximum number of retries when trying to obtain a lock.

spring.flyway.mixed

false

Whether to allow mixing transactional and non-transactional statements within the same migration.

spring.flyway.oracle-kerberos-cache-file

Path of the Oracle Kerberos cache file. Requires Flyway Teams.

spring.flyway.oracle-kerberos-config-file

Path of the Oracle Kerberos config file. Requires Flyway Teams.

spring.flyway.oracle-sqlplus

Whether to enable support for Oracle SQL*Plus commands. Requires Flyway Teams.

spring.flyway.oracle-sqlplus-warn

Whether to issue a warning rather than an error when a not-yet-supported Oracle SQL*Plus statement is encountered. Requires Flyway Teams.

spring.flyway.out-of-order

false

Whether to allow migrations to be run out of order.

spring.flyway.output-query-results

Whether Flyway should output a table with the results of queries when executing migrations. Requires Flyway Teams.

spring.flyway.password

Login password of the database to migrate.

spring.flyway.placeholder-prefix

${

Prefix of placeholders in migration scripts.

spring.flyway.placeholder-replacement

true

Perform placeholder replacement in migration scripts.

spring.flyway.placeholder-suffix

}

Suffix of placeholders in migration scripts.

spring.flyway.placeholders.*

Placeholders and their replacements to apply to sql migration scripts.

spring.flyway.repeatable-sql-migration-prefix

R

File name prefix for repeatable SQL migrations.

spring.flyway.schemas

Scheme names managed by Flyway (case-sensitive).

spring.flyway.skip-default-callbacks

false

Whether to skip default callbacks. If true, only custom callbacks are used.

spring.flyway.skip-default-resolvers

false

Whether to skip default resolvers. If true, only custom resolvers are used.

spring.flyway.skip-executing-migrations

Whether Flyway should skip executing the contents of the migrations and only update the schema history table. Requires Flyway teams.

spring.flyway.sql-migration-prefix

V

File name prefix for SQL migrations.

spring.flyway.sql-migration-separator

__

File name separator for SQL migrations.

spring.flyway.sql-migration-suffixes

[.sql]

File name suffix for SQL migrations.

spring.flyway.stream

Whether to stream SQL migrations when executing them. Requires Flyway Teams.

spring.flyway.table

flyway_schema_history

Name of the schema history table that will be used by Flyway.

spring.flyway.tablespace

Tablespace in which the schema history table is created. Ignored when using a database that does not support tablespaces. Defaults to the default tablespace of the connection used by Flyway.

spring.flyway.target

Target version up to which migrations should be considered.

spring.flyway.url

JDBC url of the database to migrate. If not set, the primary configured data source is used.

spring.flyway.user

Login user of the database to migrate.

spring.flyway.validate-migration-naming

false

Whether to validate migrations and callbacks whose scripts do not obey the correct naming convention.

spring.flyway.validate-on-migrate

true

Whether to automatically call validate when performing a migration.

spring.flyway.vault-secrets

Comma-separated list of paths to secrets that contain Flyway configurations. This must start with the name of the engine followed by '/data/' and end with the name of the secret. The resulting form is '{engine}/data/{path}/{to}/{secret_name}'. Requires Flyway teams.

spring.flyway.vault-token

Vault token required to access secrets. Requires Flyway teams.

spring.flyway.vault-url

REST API URL of the Vault server. Requires Flyway teams.

spring.liquibase.change-log

classpath:/db/changelog/db.changelog-master.yaml

Change log configuration path.

spring.liquibase.clear-checksums

false

Whether to clear all checksums in the current changelog, so they will be recalculated upon the next update.

spring.liquibase.contexts

Comma-separated list of runtime contexts to use.

spring.liquibase.database-change-log-lock-table

DATABASECHANGELOGLOCK

Name of table to use for tracking concurrent Liquibase usage.

spring.liquibase.database-change-log-table

DATABASECHANGELOG

Name of table to use for tracking change history.

spring.liquibase.default-schema

Default database schema.

spring.liquibase.driver-class-name

Fully qualified name of the JDBC driver. Auto-detected based on the URL by default.

spring.liquibase.drop-first

false

Whether to first drop the database schema.

spring.liquibase.enabled

true

Whether to enable Liquibase support.

spring.liquibase.labels

Comma-separated list of runtime labels to use.

spring.liquibase.liquibase-schema

Schema to use for Liquibase objects.

spring.liquibase.liquibase-tablespace

Tablespace to use for Liquibase objects.

spring.liquibase.parameters.*

Change log parameters.

spring.liquibase.password

Login password of the database to migrate.

spring.liquibase.rollback-file

File to which rollback SQL is written when an update is performed.

spring.liquibase.tag

Tag name to use when applying database changes. Can also be used with "rollbackFile" to generate a rollback script for all existing changes associated with that tag.

spring.liquibase.test-rollback-on-update

false

Whether rollback should be tested before update is performed.

spring.liquibase.url

JDBC URL of the database to migrate. If not set, the primary configured data source is used.

spring.liquibase.user

Login user of the database to migrate.

spring.sql.init.continue-on-error

false

Whether initialization should continue when an error occurs.

spring.sql.init.data-locations

Locations of the data (DML) scripts to apply to the database.

spring.sql.init.enabled

true

Whether basic script-based initialization of an SQL database is enabled.

spring.sql.init.encoding

Encoding of the schema and data scripts.

spring.sql.init.password

Password of the database to use when applying initialization scripts (if different).

spring.sql.init.platform

all

Platform to use in the default schema or data script locations, schema-${platform}.sql and data-${platform}.sql.

spring.sql.init.schema-locations

Locations of the schema (DDL) scripts to apply to the database.

spring.sql.init.separator

;

Statement separator in the schema and data scripts.

spring.sql.init.username

Username of the database to use when applying initialization scripts (if different).

8. Integration Properties

Key Default Value Description

spring.activemq.broker-url

URL of the ActiveMQ broker. Auto-generated by default.

spring.activemq.close-timeout

15s

Time to wait before considering a close complete.

spring.activemq.in-memory

true

Whether the default broker URL should be in memory. Ignored if an explicit broker has been specified.

spring.activemq.non-blocking-redelivery

false

Whether to stop message delivery before re-delivering messages from a rolled back transaction. This implies that message order is not preserved when this is enabled.

spring.activemq.packages.trust-all

Whether to trust all packages.

spring.activemq.packages.trusted

Comma-separated list of specific packages to trust (when not trusting all packages).

spring.activemq.password

Login password of the broker.

spring.activemq.pool.block-if-full

true

Whether to block when a connection is requested and the pool is full. Set it to false to throw a "JMSException" instead.

spring.activemq.pool.block-if-full-timeout

-1ms

Blocking period before throwing an exception if the pool is still full.

spring.activemq.pool.enabled

false

Whether a JmsPoolConnectionFactory should be created, instead of a regular ConnectionFactory.

spring.activemq.pool.idle-timeout

30s

Connection idle timeout.

spring.activemq.pool.max-connections

1

Maximum number of pooled connections.

spring.activemq.pool.max-sessions-per-connection

500

Maximum number of pooled sessions per connection in the pool.

spring.activemq.pool.time-between-expiration-check

-1ms

Time to sleep between runs of the idle connection eviction thread. When negative, no idle connection eviction thread runs.

spring.activemq.pool.use-anonymous-producers

true

Whether to use only one anonymous "MessageProducer" instance. Set it to false to create one "MessageProducer" every time one is required.

spring.activemq.send-timeout

0ms

Time to wait on message sends for a response. Set it to 0 to wait forever.

spring.activemq.user

Login user of the broker.

spring.artemis.broker-url

tcp://localhost:61616

Artemis broker port.

spring.artemis.embedded.cluster-password

Cluster password. Randomly generated on startup by default.

spring.artemis.embedded.data-directory

Journal file directory. Not necessary if persistence is turned off.

spring.artemis.embedded.enabled

true

Whether to enable embedded mode if the Artemis server APIs are available.

spring.artemis.embedded.persistent

false

Whether to enable persistent store.

spring.artemis.embedded.queues

[]

Comma-separated list of queues to create on startup.

spring.artemis.embedded.server-id

0

Server ID. By default, an auto-incremented counter is used.

spring.artemis.embedded.topics

[]

Comma-separated list of topics to create on startup.

spring.artemis.mode

Artemis deployment mode, auto-detected by default.

spring.artemis.password

Login password of the broker.

spring.artemis.pool.block-if-full

true

Whether to block when a connection is requested and the pool is full. Set it to false to throw a "JMSException" instead.

spring.artemis.pool.block-if-full-timeout

-1ms

Blocking period before throwing an exception if the pool is still full.

spring.artemis.pool.enabled

false

Whether a JmsPoolConnectionFactory should be created, instead of a regular ConnectionFactory.

spring.artemis.pool.idle-timeout

30s

Connection idle timeout.

spring.artemis.pool.max-connections

1

Maximum number of pooled connections.

spring.artemis.pool.max-sessions-per-connection

500

Maximum number of pooled sessions per connection in the pool.

spring.artemis.pool.time-between-expiration-check

-1ms

Time to sleep between runs of the idle connection eviction thread. When negative, no idle connection eviction thread runs.

spring.artemis.pool.use-anonymous-producers

true

Whether to use only one anonymous "MessageProducer" instance. Set it to false to create one "MessageProducer" every time one is required.

spring.artemis.user

Login user of the broker.

spring.batch.jdbc.initialize-schema

embedded

Database schema initialization mode.

spring.batch.jdbc.schema

classpath:org/springframework/batch/core/schema-@@platform@@.sql

Path to the SQL file to use to initialize the database schema.

spring.batch.jdbc.table-prefix

Table prefix for all the batch meta-data tables.

spring.batch.job.enabled

true

Execute all Spring Batch jobs in the context on startup.

spring.batch.job.names

Comma-separated list of job names to execute on startup (for instance, `job1,job2`). By default, all Jobs found in the context are executed.

spring.hazelcast.config

The location of the configuration file to use to initialize Hazelcast.

spring.integration.channel.auto-create

true

Whether to create input channels if necessary.

spring.integration.channel.max-broadcast-subscribers

Default number of subscribers allowed on, for example, a 'PublishSubscribeChannel'.

spring.integration.channel.max-unicast-subscribers

Default number of subscribers allowed on, for example, a 'DirectChannel'.

spring.integration.endpoint.no-auto-startup

A comma-separated list of endpoint bean names patterns that should not be started automatically during application startup.

spring.integration.endpoint.read-only-headers

A comma-separated list of message header names that should not be populated into Message instances during a header copying operation.

spring.integration.endpoint.throw-exception-on-late-reply

false

Whether to throw an exception when a reply is not expected anymore by a gateway.

spring.integration.error.ignore-failures

true

Whether to ignore failures for one or more of the handlers of the global 'errorChannel'.

spring.integration.error.require-subscribers

true

Whether to not silently ignore messages on the global 'errorChannel' when they are no subscribers.

spring.integration.jdbc.initialize-schema

embedded

Database schema initialization mode.

spring.integration.jdbc.schema

classpath:org/springframework/integration/jdbc/schema-@@platform@@.sql

Path to the SQL file to use to initialize the database schema.

spring.integration.rsocket.client.host

TCP RSocket server host to connect to.

spring.integration.rsocket.client.port

TCP RSocket server port to connect to.

spring.integration.rsocket.client.uri

WebSocket RSocket server uri to connect to.

spring.integration.rsocket.server.message-mapping-enabled

false

Whether to handle message mapping for RSocket via Spring Integration.

spring.jms.cache.consumers

false

Whether to cache message consumers.

spring.jms.cache.enabled

true

Whether to cache sessions.

spring.jms.cache.producers

true

Whether to cache message producers.

spring.jms.cache.session-cache-size

1

Size of the session cache (per JMS Session type).

spring.jms.jndi-name

Connection factory JNDI name. When set, takes precedence to others connection factory auto-configurations.

spring.jms.listener.acknowledge-mode

Acknowledge mode of the container. By default, the listener is transacted with automatic acknowledgment.

spring.jms.listener.auto-startup

true

Start the container automatically on startup.

spring.jms.listener.concurrency

Minimum number of concurrent consumers.

spring.jms.listener.max-concurrency

Maximum number of concurrent consumers.

spring.jms.listener.receive-timeout

1s

Timeout to use for receive calls. Use -1 for a no-wait receive or 0 for no timeout at all. The latter is only feasible if not running within a transaction manager and is generally discouraged since it prevents clean shutdown.

spring.jms.pub-sub-domain

false

Whether the default destination type is topic.

spring.jms.template.default-destination

Default destination to use on send and receive operations that do not have a destination parameter.

spring.jms.template.delivery-delay

Delivery delay to use for send calls.

spring.jms.template.delivery-mode

Delivery mode. Enables QoS (Quality of Service) when set.

spring.jms.template.priority

Priority of a message when sending. Enables QoS (Quality of Service) when set.

spring.jms.template.qos-enabled

Whether to enable explicit QoS (Quality of Service) when sending a message. When enabled, the delivery mode, priority and time-to-live properties will be used when sending a message. QoS is automatically enabled when at least one of those settings is customized.

spring.jms.template.receive-timeout

Timeout to use for receive calls.

spring.jms.template.time-to-live

Time-to-live of a message when sending. Enables QoS (Quality of Service) when set.

spring.kafka.admin.client-id

ID to pass to the server when making requests. Used for server-side logging.

spring.kafka.admin.fail-fast

false

Whether to fail fast if the broker is not available on startup.

spring.kafka.admin.properties.*

Additional admin-specific properties used to configure the client.

spring.kafka.admin.security.protocol

Security protocol used to communicate with brokers.

spring.kafka.admin.ssl.key-password

Password of the private key in the key store file.

spring.kafka.admin.ssl.key-store-location

Location of the key store file.

spring.kafka.admin.ssl.key-store-password

Store password for the key store file.

spring.kafka.admin.ssl.key-store-type

Type of the key store.

spring.kafka.admin.ssl.protocol

SSL protocol to use.

spring.kafka.admin.ssl.trust-store-location

Location of the trust store file.

spring.kafka.admin.ssl.trust-store-password

Store password for the trust store file.

spring.kafka.admin.ssl.trust-store-type

Type of the trust store.

spring.kafka.bootstrap-servers

Comma-delimited list of host:port pairs to use for establishing the initial connections to the Kafka cluster. Applies to all components unless overridden.

spring.kafka.client-id

ID to pass to the server when making requests. Used for server-side logging.

spring.kafka.consumer.auto-commit-interval

Frequency with which the consumer offsets are auto-committed to Kafka if 'enable.auto.commit' is set to true.

spring.kafka.consumer.auto-offset-reset

What to do when there is no initial offset in Kafka or if the current offset no longer exists on the server.

spring.kafka.consumer.bootstrap-servers

Comma-delimited list of host:port pairs to use for establishing the initial connections to the Kafka cluster. Overrides the global property, for consumers.

spring.kafka.consumer.client-id

ID to pass to the server when making requests. Used for server-side logging.

spring.kafka.consumer.enable-auto-commit

Whether the consumer's offset is periodically committed in the background.

spring.kafka.consumer.fetch-max-wait

Maximum amount of time the server blocks before answering the fetch request if there isn't sufficient data to immediately satisfy the requirement given by "fetch-min-size".

spring.kafka.consumer.fetch-min-size

Minimum amount of data the server should return for a fetch request.

spring.kafka.consumer.group-id

Unique string that identifies the consumer group to which this consumer belongs.

spring.kafka.consumer.heartbeat-interval

Expected time between heartbeats to the consumer coordinator.

spring.kafka.consumer.isolation-level

read-uncommitted

Isolation level for reading messages that have been written transactionally.

spring.kafka.consumer.key-deserializer

Deserializer class for keys.

spring.kafka.consumer.max-poll-records

Maximum number of records returned in a single call to poll().

spring.kafka.consumer.properties.*

Additional consumer-specific properties used to configure the client.

spring.kafka.consumer.security.protocol

Security protocol used to communicate with brokers.

spring.kafka.consumer.ssl.key-password

Password of the private key in the key store file.

spring.kafka.consumer.ssl.key-store-location

Location of the key store file.

spring.kafka.consumer.ssl.key-store-password

Store password for the key store file.

spring.kafka.consumer.ssl.key-store-type

Type of the key store.

spring.kafka.consumer.ssl.protocol

SSL protocol to use.

spring.kafka.consumer.ssl.trust-store-location

Location of the trust store file.

spring.kafka.consumer.ssl.trust-store-password

Store password for the trust store file.

spring.kafka.consumer.ssl.trust-store-type

Type of the trust store.

spring.kafka.consumer.value-deserializer

Deserializer class for values.

spring.kafka.jaas.control-flag

required

Control flag for login configuration.

spring.kafka.jaas.enabled

false

Whether to enable JAAS configuration.

spring.kafka.jaas.login-module

com.sun.security.auth.module.Krb5LoginModule

Login module.

spring.kafka.jaas.options.*

Additional JAAS options.

spring.kafka.listener.ack-count

Number of records between offset commits when ackMode is "COUNT" or "COUNT_TIME".

spring.kafka.listener.ack-mode

Listener AckMode. See the spring-kafka documentation.

spring.kafka.listener.ack-time

Time between offset commits when ackMode is "TIME" or "COUNT_TIME".

spring.kafka.listener.client-id

Prefix for the listener's consumer client.id property.

spring.kafka.listener.concurrency

Number of threads to run in the listener containers.

spring.kafka.listener.idle-between-polls

0

Sleep interval between Consumer.poll(Duration) calls.

spring.kafka.listener.idle-event-interval

Time between publishing idle consumer events (no data received).

spring.kafka.listener.log-container-config

Whether to log the container configuration during initialization (INFO level).

spring.kafka.listener.missing-topics-fatal

false

Whether the container should fail to start if at least one of the configured topics are not present on the broker.

spring.kafka.listener.monitor-interval

Time between checks for non-responsive consumers. If a duration suffix is not specified, seconds will be used.

spring.kafka.listener.no-poll-threshold

Multiplier applied to "pollTimeout" to determine if a consumer is non-responsive.

spring.kafka.listener.only-log-record-metadata

true

Whether to suppress the entire record from being written to the log when retries are being attempted.

spring.kafka.listener.poll-timeout

Timeout to use when polling the consumer.

spring.kafka.listener.type

single

Listener type.

spring.kafka.producer.acks

Number of acknowledgments the producer requires the leader to have received before considering a request complete.

spring.kafka.producer.batch-size

Default batch size. A small batch size will make batching less common and may reduce throughput (a batch size of zero disables batching entirely).

spring.kafka.producer.bootstrap-servers

Comma-delimited list of host:port pairs to use for establishing the initial connections to the Kafka cluster. Overrides the global property, for producers.

spring.kafka.producer.buffer-memory

Total memory size the producer can use to buffer records waiting to be sent to the server.

spring.kafka.producer.client-id

ID to pass to the server when making requests. Used for server-side logging.

spring.kafka.producer.compression-type

Compression type for all data generated by the producer.

spring.kafka.producer.key-serializer

Serializer class for keys.

spring.kafka.producer.properties.*

Additional producer-specific properties used to configure the client.

spring.kafka.producer.retries

When greater than zero, enables retrying of failed sends.

spring.kafka.producer.security.protocol

Security protocol used to communicate with brokers.

spring.kafka.producer.ssl.key-password

Password of the private key in the key store file.

spring.kafka.producer.ssl.key-store-location

Location of the key store file.

spring.kafka.producer.ssl.key-store-password

Store password for the key store file.

spring.kafka.producer.ssl.key-store-type

Type of the key store.

spring.kafka.producer.ssl.protocol

SSL protocol to use.

spring.kafka.producer.ssl.trust-store-location

Location of the trust store file.

spring.kafka.producer.ssl.trust-store-password

Store password for the trust store file.

spring.kafka.producer.ssl.trust-store-type

Type of the trust store.

spring.kafka.producer.transaction-id-prefix

When non empty, enables transaction support for producer.

spring.kafka.producer.value-serializer

Serializer class for values.

spring.kafka.properties.*

Additional properties, common to producers and consumers, used to configure the client.

spring.kafka.security.protocol

Security protocol used to communicate with brokers.

spring.kafka.ssl.key-password

Password of the private key in the key store file.

spring.kafka.ssl.key-store-location

Location of the key store file.

spring.kafka.ssl.key-store-password

Store password for the key store file.

spring.kafka.ssl.key-store-type

Type of the key store.

spring.kafka.ssl.protocol

SSL protocol to use.

spring.kafka.ssl.trust-store-location

Location of the trust store file.

spring.kafka.ssl.trust-store-password

Store password for the trust store file.

spring.kafka.ssl.trust-store-type

Type of the trust store.

spring.kafka.streams.application-id

Kafka streams application.id property; default spring.application.name.

spring.kafka.streams.auto-startup

true

Whether or not to auto-start the streams factory bean.

spring.kafka.streams.bootstrap-servers

Comma-delimited list of host:port pairs to use for establishing the initial connections to the Kafka cluster. Overrides the global property, for streams.

spring.kafka.streams.cache-max-size-buffering

Maximum memory size to be used for buffering across all threads.

spring.kafka.streams.cleanup.on-shutdown

false

Cleanup the application’s local state directory on shutdown.

spring.kafka.streams.cleanup.on-startup

false

Cleanup the application’s local state directory on startup.

spring.kafka.streams.client-id

ID to pass to the server when making requests. Used for server-side logging.

spring.kafka.streams.properties.*

Additional Kafka properties used to configure the streams.

spring.kafka.streams.replication-factor

The replication factor for change log topics and repartition topics created by the stream processing application.

spring.kafka.streams.security.protocol

Security protocol used to communicate with brokers.

spring.kafka.streams.ssl.key-password

Password of the private key in the key store file.

spring.kafka.streams.ssl.key-store-location

Location of the key store file.

spring.kafka.streams.ssl.key-store-password

Store password for the key store file.

spring.kafka.streams.ssl.key-store-type

Type of the key store.

spring.kafka.streams.ssl.protocol

SSL protocol to use.

spring.kafka.streams.ssl.trust-store-location

Location of the trust store file.

spring.kafka.streams.ssl.trust-store-password

Store password for the trust store file.

spring.kafka.streams.ssl.trust-store-type

Type of the trust store.

spring.kafka.streams.state-dir

Directory location for the state store.

spring.kafka.template.default-topic

Default topic to which messages are sent.

spring.rabbitmq.address-shuffle-mode

none

Mode used to shuffle configured addresses.

spring.rabbitmq.addresses

Comma-separated list of addresses to which the client should connect. When set, the host and port are ignored.

spring.rabbitmq.cache.channel.checkout-timeout

Duration to wait to obtain a channel if the cache size has been reached. If 0, always create a new channel.

spring.rabbitmq.cache.channel.size

Number of channels to retain in the cache. When "check-timeout" > 0, max channels per connection.

spring.rabbitmq.cache.connection.mode

channel

Connection factory cache mode.

spring.rabbitmq.cache.connection.size

Number of connections to cache. Only applies when mode is CONNECTION.

spring.rabbitmq.channel-rpc-timeout

10m

Continuation timeout for RPC calls in channels. Set it to zero to wait forever.

spring.rabbitmq.connection-timeout

Connection timeout. Set it to zero to wait forever.

spring.rabbitmq.dynamic

true

Whether to create an AmqpAdmin bean.

spring.rabbitmq.host

localhost

RabbitMQ host. Ignored if an address is set.

spring.rabbitmq.listener.direct.acknowledge-mode

Acknowledge mode of container.

spring.rabbitmq.listener.direct.auto-startup

true

Whether to start the container automatically on startup.

spring.rabbitmq.listener.direct.consumers-per-queue

Number of consumers per queue.

spring.rabbitmq.listener.direct.de-batching-enabled

true

Whether the container should present batched messages as discrete messages or call the listener with the batch.

spring.rabbitmq.listener.direct.default-requeue-rejected

Whether rejected deliveries are re-queued by default.

spring.rabbitmq.listener.direct.idle-event-interval

How often idle container events should be published.

spring.rabbitmq.listener.direct.missing-queues-fatal

false

Whether to fail if the queues declared by the container are not available on the broker.

spring.rabbitmq.listener.direct.prefetch

Maximum number of unacknowledged messages that can be outstanding at each consumer.

spring.rabbitmq.listener.direct.retry.enabled

false

Whether publishing retries are enabled.

spring.rabbitmq.listener.direct.retry.initial-interval

1000ms

Duration between the first and second attempt to deliver a message.

spring.rabbitmq.listener.direct.retry.max-attempts

3

Maximum number of attempts to deliver a message.

spring.rabbitmq.listener.direct.retry.max-interval

10000ms

Maximum duration between attempts.

spring.rabbitmq.listener.direct.retry.multiplier

1

Multiplier to apply to the previous retry interval.

spring.rabbitmq.listener.direct.retry.stateless

true

Whether retries are stateless or stateful.

spring.rabbitmq.listener.simple.acknowledge-mode

Acknowledge mode of container.

spring.rabbitmq.listener.simple.auto-startup

true

Whether to start the container automatically on startup.

spring.rabbitmq.listener.simple.batch-size

Batch size, expressed as the number of physical messages, to be used by the container.

spring.rabbitmq.listener.simple.concurrency

Minimum number of listener invoker threads.

spring.rabbitmq.listener.simple.consumer-batch-enabled

false

Whether the container creates a batch of messages based on the 'receive-timeout' and 'batch-size'. Coerces 'de-batching-enabled' to true to include the contents of a producer created batch in the batch as discrete records.

spring.rabbitmq.listener.simple.de-batching-enabled

true

Whether the container should present batched messages as discrete messages or call the listener with the batch.

spring.rabbitmq.listener.simple.default-requeue-rejected

Whether rejected deliveries are re-queued by default.

spring.rabbitmq.listener.simple.idle-event-interval

How often idle container events should be published.

spring.rabbitmq.listener.simple.max-concurrency

Maximum number of listener invoker threads.

spring.rabbitmq.listener.simple.missing-queues-fatal

true

Whether to fail if the queues declared by the container are not available on the broker and/or whether to stop the container if one or more queues are deleted at runtime.

spring.rabbitmq.listener.simple.prefetch

Maximum number of unacknowledged messages that can be outstanding at each consumer.

spring.rabbitmq.listener.simple.retry.enabled

false

Whether publishing retries are enabled.

spring.rabbitmq.listener.simple.retry.initial-interval

1000ms

Duration between the first and second attempt to deliver a message.

spring.rabbitmq.listener.simple.retry.max-attempts

3

Maximum number of attempts to deliver a message.

spring.rabbitmq.listener.simple.retry.max-interval

10000ms

Maximum duration between attempts.

spring.rabbitmq.listener.simple.retry.multiplier

1

Multiplier to apply to the previous retry interval.

spring.rabbitmq.listener.simple.retry.stateless

true

Whether retries are stateless or stateful.

spring.rabbitmq.listener.type

simple

Listener container type.

spring.rabbitmq.password

guest

Login to authenticate against the broker.

spring.rabbitmq.port

RabbitMQ port. Ignored if an address is set. Default to 5672, or 5671 if SSL is enabled.

spring.rabbitmq.publisher-confirm-type

Type of publisher confirms to use.

spring.rabbitmq.publisher-returns

false

Whether to enable publisher returns.

spring.rabbitmq.requested-channel-max

2047

Number of channels per connection requested by the client. Use 0 for unlimited.

spring.rabbitmq.requested-heartbeat

Requested heartbeat timeout; zero for none. If a duration suffix is not specified, seconds will be used.

spring.rabbitmq.ssl.algorithm

SSL algorithm to use. By default, configured by the Rabbit client library.

spring.rabbitmq.ssl.enabled

Whether to enable SSL support. Determined automatically if an address is provided with the protocol (amqp:// vs. amqps://).

spring.rabbitmq.ssl.key-store

Path to the key store that holds the SSL certificate.

spring.rabbitmq.ssl.key-store-algorithm

SunX509

Key store algorithm.

spring.rabbitmq.ssl.key-store-password

Password used to access the key store.

spring.rabbitmq.ssl.key-store-type

PKCS12

Key store type.

spring.rabbitmq.ssl.trust-store

Trust store that holds SSL certificates.

spring.rabbitmq.ssl.trust-store-algorithm

SunX509

Trust store algorithm.

spring.rabbitmq.ssl.trust-store-password

Password used to access the trust store.

spring.rabbitmq.ssl.trust-store-type

JKS

Trust store type.

spring.rabbitmq.ssl.validate-server-certificate

true

Whether to enable server side certificate validation.

spring.rabbitmq.ssl.verify-hostname

true

Whether to enable hostname verification.

spring.rabbitmq.template.default-receive-queue

Name of the default queue to receive messages from when none is specified explicitly.

spring.rabbitmq.template.exchange

Name of the default exchange to use for send operations.

spring.rabbitmq.template.mandatory

Whether to enable mandatory messages.

spring.rabbitmq.template.receive-timeout

Timeout for `receive()` operations.

spring.rabbitmq.template.reply-timeout

Timeout for `sendAndReceive()` operations.

spring.rabbitmq.template.retry.enabled

false

Whether publishing retries are enabled.

spring.rabbitmq.template.retry.initial-interval

1000ms

Duration between the first and second attempt to deliver a message.

spring.rabbitmq.template.retry.max-attempts

3

Maximum number of attempts to deliver a message.

spring.rabbitmq.template.retry.max-interval

10000ms

Maximum duration between attempts.

spring.rabbitmq.template.retry.multiplier

1

Multiplier to apply to the previous retry interval.

spring.rabbitmq.template.routing-key

Value of a default routing key to use for send operations.

spring.rabbitmq.username

guest

Login user to authenticate to the broker.

spring.rabbitmq.virtual-host

Virtual host to use when connecting to the broker.

9. Web Properties

Key Default Value Description

spring.hateoas.use-hal-as-default-json-media-type

true

Whether application/hal+json responses should be sent to requests that accept application/json.

spring.jersey.application-path

Path that serves as the base URI for the application. If specified, overrides the value of "@ApplicationPath".

spring.jersey.filter.order

0

Jersey filter chain order.

spring.jersey.init.*

Init parameters to pass to Jersey through the servlet or filter.

spring.jersey.servlet.load-on-startup

-1

Load on startup priority of the Jersey servlet.

spring.jersey.type

servlet

Jersey integration type.

spring.mvc.async.request-timeout

Amount of time before asynchronous request handling times out. If this value is not set, the default timeout of the underlying implementation is used.

spring.mvc.contentnegotiation.favor-parameter

false

Whether a request parameter ("format" by default) should be used to determine the requested media type.

spring.mvc.contentnegotiation.media-types.*

Map file extensions to media types for content negotiation. For instance, yml to text/yaml.

spring.mvc.contentnegotiation.parameter-name

Query parameter name to use when "favor-parameter" is enabled.

spring.mvc.converters.preferred-json-mapper

Preferred JSON mapper to use for HTTP message conversion. By default, auto-detected according to the environment.

spring.mvc.dispatch-options-request

true

Whether to dispatch OPTIONS requests to the FrameworkServlet doService method.

spring.mvc.dispatch-trace-request

false

Whether to dispatch TRACE requests to the FrameworkServlet doService method.

spring.mvc.format.date

Date format to use, for example `dd/MM/yyyy`.

spring.mvc.format.date-time

Date-time format to use, for example `yyyy-MM-dd HH:mm:ss`.

spring.mvc.format.time

Time format to use, for example `HH:mm:ss`.

spring.mvc.formcontent.filter.enabled

true

Whether to enable Spring's FormContentFilter.

spring.mvc.hiddenmethod.filter.enabled

false

Whether to enable Spring's HiddenHttpMethodFilter.

spring.mvc.ignore-default-model-on-redirect

true

Whether the content of the "default" model should be ignored during redirect scenarios.

spring.mvc.log-request-details

false

Whether logging of (potentially sensitive) request details at DEBUG and TRACE level is allowed.

spring.mvc.log-resolved-exception

false

Whether to enable warn logging of exceptions resolved by a "HandlerExceptionResolver", except for "DefaultHandlerExceptionResolver".

spring.mvc.message-codes-resolver-format

Formatting strategy for message codes. For instance, `PREFIX_ERROR_CODE`.

spring.mvc.pathmatch.matching-strategy

ant-path-matcher

Choice of strategy for matching request paths against registered mappings.

spring.mvc.publish-request-handled-events

true

Whether to publish a ServletRequestHandledEvent at the end of each request.

spring.mvc.servlet.load-on-startup

-1

Load on startup priority of the dispatcher servlet.

spring.mvc.servlet.path

/

Path of the dispatcher servlet. Setting a custom value for this property is not compatible with the PathPatternParser matching strategy.

spring.mvc.static-path-pattern

/**

Path pattern used for static resources.

spring.mvc.throw-exception-if-no-handler-found

false

Whether a "NoHandlerFoundException" should be thrown if no Handler was found to process a request.

spring.mvc.view.prefix

Spring MVC view prefix.

spring.mvc.view.suffix

Spring MVC view suffix.

spring.netty.leak-detection

disabled

Level of leak detection for reference-counted buffers.

spring.servlet.multipart.enabled

true

Whether to enable support of multipart uploads.

spring.servlet.multipart.file-size-threshold

0B

Threshold after which files are written to disk.

spring.servlet.multipart.location

Intermediate location of uploaded files.

spring.servlet.multipart.max-file-size

1MB

Max file size.

spring.servlet.multipart.max-request-size

10MB

Max request size.

spring.servlet.multipart.resolve-lazily

false

Whether to resolve the multipart request lazily at the time of file or parameter access.

spring.session.hazelcast.flush-mode

on-save

Sessions flush mode. Determines when session changes are written to the session store.

spring.session.hazelcast.map-name

spring:session:sessions

Name of the map used to store sessions.

spring.session.hazelcast.save-mode

on-set-attribute

Sessions save mode. Determines how session changes are tracked and saved to the session store.

spring.session.jdbc.cleanup-cron

0 * * * * *

Cron expression for expired session cleanup job.

spring.session.jdbc.flush-mode

on-save

Sessions flush mode. Determines when session changes are written to the session store.

spring.session.jdbc.initialize-schema

embedded

Database schema initialization mode.

spring.session.jdbc.save-mode

on-set-attribute

Sessions save mode. Determines how session changes are tracked and saved to the session store.

spring.session.jdbc.schema

classpath:org/springframework/session/jdbc/schema-@@platform@@.sql

Path to the SQL file to use to initialize the database schema.

spring.session.jdbc.table-name

SPRING_SESSION

Name of the database table used to store sessions.

spring.session.mongodb.collection-name

sessions

Collection name used to store sessions.

spring.session.redis.cleanup-cron

0 * * * * *

Cron expression for expired session cleanup job.

spring.session.redis.configure-action

notify-keyspace-events

The configure action to apply when no user defined ConfigureRedisAction bean is present.

spring.session.redis.flush-mode

on-save

Sessions flush mode. Determines when session changes are written to the session store.

spring.session.redis.namespace

spring:session

Namespace for keys used to store sessions.

spring.session.redis.save-mode

on-set-attribute

Sessions save mode. Determines how session changes are tracked and saved to the session store.

spring.session.servlet.filter-dispatcher-types

[async, error, request]

Session repository filter dispatcher types.

spring.session.servlet.filter-order

Session repository filter order.

spring.session.store-type

Session store type.

spring.session.timeout

Session timeout. If a duration suffix is not specified, seconds will be used.

spring.web.locale

Locale to use. By default, this locale is overridden by the "Accept-Language" header.

spring.web.locale-resolver

accept-header

Define how the locale should be resolved.

spring.web.resources.add-mappings

true

Whether to enable default resource handling.

spring.web.resources.cache.cachecontrol.cache-private

Indicate that the response message is intended for a single user and must not be stored by a shared cache.

spring.web.resources.cache.cachecontrol.cache-public

Indicate that any cache may store the response.

spring.web.resources.cache.cachecontrol.max-age

Maximum time the response should be cached, in seconds if no duration suffix is not specified.

spring.web.resources.cache.cachecontrol.must-revalidate

Indicate that once it has become stale, a cache must not use the response without re-validating it with the server.

spring.web.resources.cache.cachecontrol.no-cache

Indicate that the cached response can be reused only if re-validated with the server.

spring.web.resources.cache.cachecontrol.no-store

Indicate to not cache the response in any case.

spring.web.resources.cache.cachecontrol.no-transform

Indicate intermediaries (caches and others) that they should not transform the response content.

spring.web.resources.cache.cachecontrol.proxy-revalidate

Same meaning as the "must-revalidate" directive, except that it does not apply to private caches.

spring.web.resources.cache.cachecontrol.s-max-age

Maximum time the response should be cached by shared caches, in seconds if no duration suffix is not specified.

spring.web.resources.cache.cachecontrol.stale-if-error

Maximum time the response may be used when errors are encountered, in seconds if no duration suffix is not specified.

spring.web.resources.cache.cachecontrol.stale-while-revalidate

Maximum time the response can be served after it becomes stale, in seconds if no duration suffix is not specified.

spring.web.resources.cache.period

Cache period for the resources served by the resource handler. If a duration suffix is not specified, seconds will be used. Can be overridden by the 'spring.web.resources.cache.cachecontrol' properties.

spring.web.resources.cache.use-last-modified

true

Whether we should use the "lastModified" metadata of the files in HTTP caching headers.

spring.web.resources.chain.cache

true

Whether to enable caching in the Resource chain.

spring.web.resources.chain.compressed

false

Whether to enable resolution of already compressed resources (gzip, brotli). Checks for a resource name with the '.gz' or '.br' file extensions.

spring.web.resources.chain.enabled

Whether to enable the Spring Resource Handling chain. By default, disabled unless at least one strategy has been enabled.

spring.web.resources.chain.strategy.content.enabled

false

Whether to enable the content Version Strategy.

spring.web.resources.chain.strategy.content.paths

[/**]

Comma-separated list of patterns to apply to the content Version Strategy.

spring.web.resources.chain.strategy.fixed.enabled

false

Whether to enable the fixed Version Strategy.

spring.web.resources.chain.strategy.fixed.paths

[/**]

Comma-separated list of patterns to apply to the fixed Version Strategy.

spring.web.resources.chain.strategy.fixed.version

Version string to use for the fixed Version Strategy.

spring.web.resources.static-locations

[classpath:/META-INF/resources/, classpath:/resources/, classpath:/static/, classpath:/public/]

Locations of static resources. Defaults to classpath:[/META-INF/resources/, /resources/, /static/, /public/].

spring.webflux.base-path

Base path for all web handlers.

spring.webflux.format.date

Date format to use, for example `dd/MM/yyyy`.

spring.webflux.format.date-time

Date-time format to use, for example `yyyy-MM-dd HH:mm:ss`.

spring.webflux.format.time

Time format to use, for example `HH:mm:ss`.

spring.webflux.hiddenmethod.filter.enabled

false

Whether to enable Spring's HiddenHttpMethodFilter.

spring.webflux.session.cookie.same-site

lax

SameSite attribute value for session Cookies.

spring.webflux.static-path-pattern

/**

Path pattern used for static resources.

spring.webservices.path

/services

Path that serves as the base URI for the services.

spring.webservices.servlet.init.*

Servlet init parameters to pass to Spring Web Services.

spring.webservices.servlet.load-on-startup

-1

Load on startup priority of the Spring Web Services servlet.

spring.webservices.wsdl-locations

Comma-separated list of locations of WSDLs and accompanying XSDs to be exposed as beans.

10. Templating Properties

Key Default Value Description

spring.freemarker.allow-request-override

false

Whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name.

spring.freemarker.allow-session-override

false

Whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name.

spring.freemarker.cache

false

Whether to enable template caching.

spring.freemarker.charset

UTF-8

Template encoding.

spring.freemarker.check-template-location

true

Whether to check that the templates location exists.

spring.freemarker.content-type

text/html

Content-Type value.

spring.freemarker.enabled

true

Whether to enable MVC view resolution for this technology.

spring.freemarker.expose-request-attributes

false

Whether all request attributes should be added to the model prior to merging with the template.

spring.freemarker.expose-session-attributes

false

Whether all HttpSession attributes should be added to the model prior to merging with the template.

spring.freemarker.expose-spring-macro-helpers

true

Whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext".

spring.freemarker.prefer-file-system-access

false

Whether to prefer file system access for template loading to enable hot detection of template changes. When a template path is detected as a directory, templates are loaded from the directory only and other matching classpath locations will not be considered.

spring.freemarker.prefix

Prefix that gets prepended to view names when building a URL.

spring.freemarker.request-context-attribute

Name of the RequestContext attribute for all views.

spring.freemarker.settings.*

Well-known FreeMarker keys which are passed to FreeMarker's Configuration.

spring.freemarker.suffix

.ftlh

Suffix that gets appended to view names when building a URL.

spring.freemarker.template-loader-path

[classpath:/templates/]

Comma-separated list of template paths.

spring.freemarker.view-names

View names that can be resolved.

spring.groovy.template.allow-request-override

false

Whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name.

spring.groovy.template.allow-session-override

false

Whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name.

spring.groovy.template.cache

false

Whether to enable template caching.

spring.groovy.template.charset

UTF-8

Template encoding.

spring.groovy.template.check-template-location

true

Whether to check that the templates location exists.

spring.groovy.template.configuration.auto-escape
spring.groovy.template.configuration.auto-indent
spring.groovy.template.configuration.auto-indent-string
spring.groovy.template.configuration.auto-new-line
spring.groovy.template.configuration.base-template-class
spring.groovy.template.configuration.cache-templates
spring.groovy.template.configuration.declaration-encoding
spring.groovy.template.configuration.expand-empty-elements
spring.groovy.template.configuration.locale
spring.groovy.template.configuration.new-line-string
spring.groovy.template.configuration.resource-loader-path
spring.groovy.template.configuration.use-double-quotes

See GroovyMarkupConfigurer

spring.groovy.template.content-type

text/html

Content-Type value.

spring.groovy.template.enabled

true

Whether to enable MVC view resolution for this technology.

spring.groovy.template.expose-request-attributes

false

Whether all request attributes should be added to the model prior to merging with the template.

spring.groovy.template.expose-session-attributes

false

Whether all HttpSession attributes should be added to the model prior to merging with the template.

spring.groovy.template.expose-spring-macro-helpers

true

Whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext".

spring.groovy.template.prefix

Prefix that gets prepended to view names when building a URL.

spring.groovy.template.request-context-attribute

Name of the RequestContext attribute for all views.

spring.groovy.template.resource-loader-path

classpath:/templates/

Template path.

spring.groovy.template.suffix

.tpl

Suffix that gets appended to view names when building a URL.

spring.groovy.template.view-names

View names that can be resolved.

spring.mustache.allow-request-override

false

Whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name.

spring.mustache.allow-session-override

false

Whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name.

spring.mustache.cache

false

Whether to enable template caching.

spring.mustache.charset

UTF-8

Template encoding.

spring.mustache.check-template-location

true

Whether to check that the templates location exists.

spring.mustache.content-type

text/html

Content-Type value.

spring.mustache.enabled

true

Whether to enable MVC view resolution for this technology.

spring.mustache.expose-request-attributes

false

Whether all request attributes should be added to the model prior to merging with the template.

spring.mustache.expose-session-attributes

false

Whether all HttpSession attributes should be added to the model prior to merging with the template.

spring.mustache.expose-spring-macro-helpers

true

Whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext".

spring.mustache.prefix

classpath:/templates/

Prefix to apply to template names.

spring.mustache.request-context-attribute

Name of the RequestContext attribute for all views.

spring.mustache.suffix

.mustache

Suffix to apply to template names.

spring.mustache.view-names

View names that can be resolved.

spring.thymeleaf.cache

true

Whether to enable template caching.

spring.thymeleaf.check-template

true

Whether to check that the template exists before rendering it.

spring.thymeleaf.check-template-location

true

Whether to check that the templates location exists.

spring.thymeleaf.enable-spring-el-compiler

false

Enable the SpringEL compiler in SpringEL expressions.

spring.thymeleaf.enabled

true

Whether to enable Thymeleaf view resolution for Web frameworks.

spring.thymeleaf.encoding

UTF-8

Template files encoding.

spring.thymeleaf.excluded-view-names

Comma-separated list of view names (patterns allowed) that should be excluded from resolution.

spring.thymeleaf.mode

HTML

Template mode to be applied to templates. See also Thymeleaf's TemplateMode enum.

spring.thymeleaf.prefix

classpath:/templates/

Prefix that gets prepended to view names when building a URL.

spring.thymeleaf.reactive.chunked-mode-view-names

Comma-separated list of view names (patterns allowed) that should be the only ones executed in CHUNKED mode when a max chunk size is set.

spring.thymeleaf.reactive.full-mode-view-names

Comma-separated list of view names (patterns allowed) that should be executed in FULL mode even if a max chunk size is set.

spring.thymeleaf.reactive.max-chunk-size

0B

Maximum size of data buffers used for writing to the response. Templates will execute in CHUNKED mode by default if this is set.

spring.thymeleaf.reactive.media-types

Media types supported by the view technology.

spring.thymeleaf.render-hidden-markers-before-checkboxes

false

Whether hidden form inputs acting as markers for checkboxes should be rendered before the checkbox element itself.

spring.thymeleaf.servlet.content-type

text/html

Content-Type value written to HTTP responses.

spring.thymeleaf.servlet.produce-partial-output-while-processing

true

Whether Thymeleaf should start writing partial output as soon as possible or buffer until template processing is finished.

spring.thymeleaf.suffix

.html

Suffix that gets appended to view names when building a URL.

spring.thymeleaf.template-resolver-order

Order of the template resolver in the chain. By default, the template resolver is first in the chain. Order start at 1 and should only be set if you have defined additional "TemplateResolver" beans.

spring.thymeleaf.view-names

Comma-separated list of view names (patterns allowed) that can be resolved.

11. Server Properties

Key Default Value Description

server.address

Network address to which the server should bind.

server.compression.enabled

false

Whether response compression is enabled.

server.compression.excluded-user-agents

Comma-separated list of user agents for which responses should not be compressed.

server.compression.mime-types

[text/html, text/xml, text/plain, text/css, text/javascript, application/javascript, application/json, application/xml]

Comma-separated list of MIME types that should be compressed.

server.compression.min-response-size

2KB

Minimum "Content-Length" value that is required for compression to be performed.

server.error.include-binding-errors

never

When to include "errors" attribute.

server.error.include-exception

false

Include the "exception" attribute.

server.error.include-message

never

When to include "message" attribute.

server.error.include-stacktrace

never

When to include the "trace" attribute.

server.error.path

/error

Path of the error controller.

server.error.whitelabel.enabled

true

Whether to enable the default error page displayed in browsers in case of a server error.

server.forward-headers-strategy

Strategy for handling X-Forwarded-* headers.

server.http2.enabled

false

Whether to enable HTTP/2 support, if the current environment supports it.

server.jetty.accesslog.append

false

Append to log.

server.jetty.accesslog.custom-format

Custom log format, see org.eclipse.jetty.server.CustomRequestLog. If defined, overrides the "format" configuration key.

server.jetty.accesslog.enabled

false

Enable access log.

server.jetty.accesslog.file-date-format

Date format to place in log file name.

server.jetty.accesslog.filename

Log filename. If not specified, logs redirect to "System.err".

server.jetty.accesslog.format

ncsa

Log format.

server.jetty.accesslog.ignore-paths

Request paths that should not be logged.

server.jetty.accesslog.retention-period

31

Number of days before rotated log files are deleted.

server.jetty.connection-idle-timeout

Time that the connection can be idle before it is closed.

server.jetty.max-http-form-post-size

200000B

Maximum size of the form content in any HTTP post request.

server.jetty.threads.acceptors

-1

Number of acceptor threads to use. When the value is -1, the default, the number of acceptors is derived from the operating environment.

server.jetty.threads.idle-timeout

60000ms

Maximum thread idle time.

server.jetty.threads.max

200

Maximum number of threads.

server.jetty.threads.max-queue-capacity

Maximum capacity of the thread pool's backing queue. A default is computed based on the threading configuration.

server.jetty.threads.min

8

Minimum number of threads.

server.jetty.threads.selectors

-1

Number of selector threads to use. When the value is -1, the default, the number of selectors is derived from the operating environment.

server.max-http-header-size

8KB

Maximum size of the HTTP message header.

server.netty.connection-timeout

Connection timeout of the Netty channel.

server.netty.h2c-max-content-length

0B

Maximum content length of an H2C upgrade request.

server.netty.initial-buffer-size

128B

Initial buffer size for HTTP request decoding.

server.netty.max-chunk-size

8KB

Maximum chunk size that can be decoded for an HTTP request.

server.netty.max-initial-line-length

4KB

Maximum length that can be decoded for an HTTP request's initial line.

server.netty.validate-headers

true

Whether to validate headers when decoding requests.

server.port

8080

Server HTTP port.

server.server-header

Value to use for the Server response header (if empty, no header is sent).

server.servlet.application-display-name

application

Display name of the application.

server.servlet.context-parameters.*

Servlet context init parameters.

server.servlet.context-path

Context path of the application.

server.servlet.encoding.charset

server.servlet.encoding.enabled

true

Whether to enable http encoding support.

server.servlet.encoding.force

server.servlet.encoding.force-request

server.servlet.encoding.force-response

server.servlet.encoding.mapping.*

server.servlet.jsp.class-name

org.apache.jasper.servlet.JspServlet

Class name of the servlet to use for JSPs. If registered is true and this class * is on the classpath then it will be registered.

server.servlet.jsp.init-parameters.*

Init parameters used to configure the JSP servlet.

server.servlet.jsp.registered

true

Whether the JSP servlet is registered.

server.servlet.register-default-servlet

false

Whether to register the default Servlet with the container.

server.servlet.session.cookie.comment

Comment for the session cookie.

server.servlet.session.cookie.domain

Domain for the session cookie.

server.servlet.session.cookie.http-only

Whether to use "HttpOnly" cookies for session cookies.

server.servlet.session.cookie.max-age

Maximum age of the session cookie. If a duration suffix is not specified, seconds will be used.

server.servlet.session.cookie.name

Session cookie name.

server.servlet.session.cookie.path

Path of the session cookie.

server.servlet.session.cookie.secure

Whether to always mark the session cookie as secure.

server.servlet.session.persistent

false

Whether to persist session data between restarts.

server.servlet.session.store-dir

Directory used to store session data.

server.servlet.session.timeout

30m

Session timeout. If a duration suffix is not specified, seconds will be used.

server.servlet.session.tracking-modes

Session tracking modes.

server.shutdown

immediate

Type of shutdown that the server will support.

server.ssl.ciphers

Supported SSL ciphers.

server.ssl.client-auth

Client authentication mode. Requires a trust store.

server.ssl.enabled

true

Whether to enable SSL support.

server.ssl.enabled-protocols

Enabled SSL protocols.

server.ssl.key-alias

Alias that identifies the key in the key store.

server.ssl.key-password

Password used to access the key in the key store.

server.ssl.key-store

Path to the key store that holds the SSL certificate (typically a jks file).

server.ssl.key-store-password

Password used to access the key store.

server.ssl.key-store-provider

Provider for the key store.

server.ssl.key-store-type

Type of the key store.

server.ssl.protocol

TLS

SSL protocol to use.

server.ssl.trust-store

Trust store that holds SSL certificates.

server.ssl.trust-store-password

Password used to access the trust store.

server.ssl.trust-store-provider

Provider for the trust store.

server.ssl.trust-store-type

Type of the trust store.

server.tomcat.accept-count

100

Maximum queue length for incoming connection requests when all possible request processing threads are in use.

server.tomcat.accesslog.buffered

true

Whether to buffer output such that it is flushed only periodically.

server.tomcat.accesslog.check-exists

false

Whether to check for log file existence so it can be recreated it if an external process has renamed it.

server.tomcat.accesslog.condition-if

Whether logging of the request will only be enabled if "ServletRequest.getAttribute(conditionIf)" does not yield null.

server.tomcat.accesslog.condition-unless

Whether logging of the request will only be enabled if "ServletRequest.getAttribute(conditionUnless)" yield null.

server.tomcat.accesslog.directory

logs

Directory in which log files are created. Can be absolute or relative to the Tomcat base dir.

server.tomcat.accesslog.enabled

false

Enable access log.

server.tomcat.accesslog.encoding

Character set used by the log file. Default to the system default character set.

server.tomcat.accesslog.file-date-format

.yyyy-MM-dd

Date format to place in the log file name.

server.tomcat.accesslog.ipv6-canonical

false

Whether to use IPv6 canonical representation format as defined by RFC 5952.

server.tomcat.accesslog.locale

Locale used to format timestamps in log entries and in log file name suffix. Default to the default locale of the Java process.

server.tomcat.accesslog.max-days

-1

Number of days to retain the access log files before they are removed.

server.tomcat.accesslog.pattern

common

Format pattern for access logs.

server.tomcat.accesslog.prefix

access_log

Log file name prefix.

server.tomcat.accesslog.rename-on-rotate

false

Whether to defer inclusion of the date stamp in the file name until rotate time.

server.tomcat.accesslog.request-attributes-enabled

false

Set request attributes for the IP address, Hostname, protocol, and port used for the request.

server.tomcat.accesslog.rotate

true

Whether to enable access log rotation.

server.tomcat.accesslog.suffix

.log

Log file name suffix.

server.tomcat.additional-tld-skip-patterns

Comma-separated list of additional patterns that match jars to ignore for TLD scanning. The special '?' and '*' characters can be used in the pattern to match one and only one character and zero or more characters respectively.

server.tomcat.background-processor-delay

10s

Delay between the invocation of backgroundProcess methods. If a duration suffix is not specified, seconds will be used.

server.tomcat.basedir

Tomcat base directory. If not specified, a temporary directory is used.

server.tomcat.connection-timeout

Amount of time the connector will wait, after accepting a connection, for the request URI line to be presented.

server.tomcat.keep-alive-timeout

Time to wait for another HTTP request before the connection is closed. When not set the connectionTimeout is used. When set to -1 there will be no timeout.

server.tomcat.max-connections

8192

Maximum number of connections that the server accepts and processes at any given time. Once the limit has been reached, the operating system may still accept connections based on the "acceptCount" property.

server.tomcat.max-http-form-post-size

2MB

Maximum size of the form content in any HTTP post request.

server.tomcat.max-keep-alive-requests

100

Maximum number of HTTP requests that can be pipelined before the connection is closed. When set to 0 or 1, keep-alive and pipelining are disabled. When set to -1, an unlimited number of pipelined or keep-alive requests are allowed.

server.tomcat.max-swallow-size

2MB

Maximum amount of request body to swallow.

server.tomcat.mbeanregistry.enabled

false

Whether Tomcat's MBean Registry should be enabled.

server.tomcat.processor-cache

200

Maximum number of idle processors that will be retained in the cache and reused with a subsequent request. When set to -1 the cache will be unlimited with a theoretical maximum size equal to the maximum number of connections.

server.tomcat.redirect-context-root

true

Whether requests to the context root should be redirected by appending a / to the path. When using SSL terminated at a proxy, this property should be set to false.

server.tomcat.relaxed-path-chars

Comma-separated list of additional unencoded characters that should be allowed in URI paths. Only "< > [ \ ] ^ ` { | }" are allowed.

server.tomcat.relaxed-query-chars

Comma-separated list of additional unencoded characters that should be allowed in URI query strings. Only "< > [ \ ] ^ ` { | }" are allowed.

server.tomcat.remoteip.host-header

X-Forwarded-Host

Name of the HTTP header from which the remote host is extracted.

server.tomcat.remoteip.internal-proxies

10\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}|192\\.168\\.\\d{1,3}\\.\\d{1,3}|169\\.254\\.\\d{1,3}\\.\\d{1,3}|127\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}|172\\.1[6-9]{1}\\.\\d{1,3}\\.\\d{1,3}|172\\.2[0-9]{1}\\.\\d{1,3}\\.\\d{1,3}|172\\.3[0-1]{1}\\.\\d{1,3}\\.\\d{1,3}|0:0:0:0:0:0:0:1|::1

Regular expression that matches proxies that are to be trusted.

server.tomcat.remoteip.port-header

X-Forwarded-Port

Name of the HTTP header used to override the original port value.

server.tomcat.remoteip.protocol-header

Header that holds the incoming protocol, usually named "X-Forwarded-Proto".

server.tomcat.remoteip.protocol-header-https-value

https

Value of the protocol header indicating whether the incoming request uses SSL.

server.tomcat.remoteip.remote-ip-header

Name of the HTTP header from which the remote IP is extracted. For instance, `X-FORWARDED-FOR`.

server.tomcat.resource.allow-caching

true

Whether static resource caching is permitted for this web application.

server.tomcat.resource.cache-ttl

Time-to-live of the static resource cache.

server.tomcat.threads.max

200

Maximum amount of worker threads.

server.tomcat.threads.min-spare

10

Minimum amount of worker threads.

server.tomcat.uri-encoding

UTF-8

Character encoding to use to decode the URI.

server.tomcat.use-relative-redirects

false

Whether HTTP 1.1 and later location headers generated by a call to sendRedirect will use relative or absolute redirects.

server.undertow.accesslog.dir

Undertow access log directory.

server.undertow.accesslog.enabled

false

Whether to enable the access log.

server.undertow.accesslog.pattern

common

Format pattern for access logs.

server.undertow.accesslog.prefix

access_log.

Log file name prefix.

server.undertow.accesslog.rotate

true

Whether to enable access log rotation.

server.undertow.accesslog.suffix

log

Log file name suffix.

server.undertow.allow-encoded-slash

false

Whether the server should decode percent encoded slash characters. Enabling encoded slashes can have security implications due to different servers interpreting the slash differently. Only enable this if you have a legacy application that requires it.

server.undertow.always-set-keep-alive

true

Whether the 'Connection: keep-alive' header should be added to all responses, even if not required by the HTTP specification.

server.undertow.buffer-size

Size of each buffer. The default is derived from the maximum amount of memory that is available to the JVM.

server.undertow.decode-url

true

Whether the URL should be decoded. When disabled, percent-encoded characters in the URL will be left as-is.

server.undertow.direct-buffers

Whether to allocate buffers outside the Java heap. The default is derived from the maximum amount of memory that is available to the JVM.

server.undertow.eager-filter-init

true

Whether servlet filters should be initialized on startup.

server.undertow.max-cookies

200

Maximum number of cookies that are allowed. This limit exists to prevent hash collision based DOS attacks.

server.undertow.max-headers

Maximum number of headers that are allowed. This limit exists to prevent hash collision based DOS attacks.

server.undertow.max-http-post-size

-1B

Maximum size of the HTTP post content. When the value is -1, the default, the size is unlimited.

server.undertow.max-parameters

Maximum number of query or path parameters that are allowed. This limit exists to prevent hash collision based DOS attacks.

server.undertow.no-request-timeout

Amount of time a connection can sit idle without processing a request, before it is closed by the server.

server.undertow.options.server.*

server.undertow.options.socket.*

server.undertow.preserve-path-on-forward

false

Whether to preserve the path of a request when it is forwarded.

server.undertow.threads.io

Number of I/O threads to create for the worker. The default is derived from the number of available processors.

server.undertow.threads.worker

Number of worker threads. The default is 8 times the number of I/O threads.

server.undertow.url-charset

UTF-8

Charset used to decode URLs.

12. Security Properties

Key Default Value Description

spring.security.filter.dispatcher-types

[async, error, request]

Security filter chain dispatcher types.

spring.security.filter.order

-100

Security filter chain order.

spring.security.oauth2.client.provider.*

OAuth provider details.

spring.security.oauth2.client.registration.*

OAuth client registrations.

spring.security.oauth2.resourceserver.jwt.issuer-uri

URI that can either be an OpenID Connect discovery endpoint or an OAuth 2.0 Authorization Server Metadata endpoint defined by RFC 8414.

spring.security.oauth2.resourceserver.jwt.jwk-set-uri

JSON Web Key URI to use to verify the JWT token.

spring.security.oauth2.resourceserver.jwt.jws-algorithm

RS256

JSON Web Algorithm used for verifying the digital signatures.

spring.security.oauth2.resourceserver.jwt.public-key-location

Location of the file containing the public key used to verify a JWT.

spring.security.oauth2.resourceserver.opaquetoken.client-id

Client id used to authenticate with the token introspection endpoint.

spring.security.oauth2.resourceserver.opaquetoken.client-secret

Client secret used to authenticate with the token introspection endpoint.

spring.security.oauth2.resourceserver.opaquetoken.introspection-uri

OAuth 2.0 endpoint through which token introspection is accomplished.

spring.security.saml2.relyingparty.registration.*

SAML2 relying party registrations.

spring.security.user.name

user

Default user name.

spring.security.user.password

Password for the default user name.

spring.security.user.roles

Granted roles for the default user name.

14. Actuator Properties

Key Default Value Description

management.auditevents.enabled

true

Whether to enable storage of audit events.

management.cloudfoundry.enabled

true

Whether to enable extended Cloud Foundry actuator endpoints.

management.cloudfoundry.skip-ssl-validation

false

Whether to skip SSL verification for Cloud Foundry actuator endpoint security calls.

management.endpoint.auditevents.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.auditevents.enabled

true

Whether to enable the auditevents endpoint.

management.endpoint.beans.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.beans.enabled

true

Whether to enable the beans endpoint.

management.endpoint.caches.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.caches.enabled

true

Whether to enable the caches endpoint.

management.endpoint.conditions.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.conditions.enabled

true

Whether to enable the conditions endpoint.

management.endpoint.configprops.additional-keys-to-sanitize

Keys that should be sanitized in addition to those already configured. Keys can be simple strings that the property ends with or regular expressions.

management.endpoint.configprops.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.configprops.enabled

true

Whether to enable the configprops endpoint.

management.endpoint.configprops.keys-to-sanitize

[password, secret, key, token, .*credentials.*, vcap_services, sun.java.command]

Keys that should be sanitized. Keys can be simple strings that the property ends with or regular expressions.

management.endpoint.env.additional-keys-to-sanitize

Keys that should be sanitized in addition to those already configured. Keys can be simple strings that the property ends with or regular expressions.

management.endpoint.env.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.env.enabled

true

Whether to enable the env endpoint.

management.endpoint.env.keys-to-sanitize

[password, secret, key, token, .*credentials.*, vcap_services, sun.java.command]

Keys that should be sanitized. Keys can be simple strings that the property ends with or regular expressions.

management.endpoint.flyway.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.flyway.enabled

true

Whether to enable the flyway endpoint.

management.endpoint.health.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.health.enabled

true

Whether to enable the health endpoint.

management.endpoint.health.group.*

Health endpoint groups.

management.endpoint.health.probes.enabled

false

Whether to enable liveness and readiness probes.

management.endpoint.health.roles

Roles used to determine whether or not a user is authorized to be shown details. When empty, all authenticated users are authorized.

management.endpoint.health.show-components

When to show components. If not specified the 'show-details' setting will be used.

management.endpoint.health.show-details

never

When to show full health details.

management.endpoint.health.status.http-mapping.*

Mapping of health statuses to HTTP status codes. By default, registered health statuses map to sensible defaults (for example, UP maps to 200).

management.endpoint.health.status.order

[DOWN, OUT_OF_SERVICE, UP, UNKNOWN]

Comma-separated list of health statuses in order of severity.

management.endpoint.heapdump.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.heapdump.enabled

true

Whether to enable the heapdump endpoint.

management.endpoint.httptrace.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.httptrace.enabled

true

Whether to enable the httptrace endpoint.

management.endpoint.info.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.info.enabled

true

Whether to enable the info endpoint.

management.endpoint.integrationgraph.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.integrationgraph.enabled

true

Whether to enable the integrationgraph endpoint.

management.endpoint.jolokia.config.*

Jolokia settings. Refer to the documentation of Jolokia for more details.

management.endpoint.jolokia.enabled

true

Whether to enable the jolokia endpoint.

management.endpoint.liquibase.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.liquibase.enabled

true

Whether to enable the liquibase endpoint.

management.endpoint.logfile.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.logfile.enabled

true

Whether to enable the logfile endpoint.

management.endpoint.logfile.external-file

External Logfile to be accessed. Can be used if the logfile is written by output redirect and not by the logging system itself.

management.endpoint.loggers.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.loggers.enabled

true

Whether to enable the loggers endpoint.

management.endpoint.mappings.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.mappings.enabled

true

Whether to enable the mappings endpoint.

management.endpoint.metrics.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.metrics.enabled

true

Whether to enable the metrics endpoint.

management.endpoint.prometheus.enabled

true

Whether to enable the prometheus endpoint.

management.endpoint.quartz.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.quartz.enabled

true

Whether to enable the quartz endpoint.

management.endpoint.scheduledtasks.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.scheduledtasks.enabled

true

Whether to enable the scheduledtasks endpoint.

management.endpoint.sessions.enabled

true

Whether to enable the sessions endpoint.

management.endpoint.shutdown.enabled

false

Whether to enable the shutdown endpoint.

management.endpoint.startup.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.startup.enabled

true

Whether to enable the startup endpoint.

management.endpoint.threaddump.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.threaddump.enabled

true

Whether to enable the threaddump endpoint.

management.endpoints.enabled-by-default

Whether to enable or disable all endpoints by default.

management.endpoints.jmx.domain

org.springframework.boot

Endpoints JMX domain name. Fallback to 'spring.jmx.default-domain' if set.

management.endpoints.jmx.exposure.exclude

Endpoint IDs that should be excluded or '*' for all.

management.endpoints.jmx.exposure.include

*

Endpoint IDs that should be included or '*' for all.

management.endpoints.jmx.static-names

Additional static properties to append to all ObjectNames of MBeans representing Endpoints.

management.endpoints.migrate-legacy-ids

false

Whether to transparently migrate legacy endpoint IDs.

management.endpoints.web.base-path

/actuator

Base path for Web endpoints. Relative to the servlet context path (server.servlet.context-path) or WebFlux base path (spring.webflux.base-path) when the management server is sharing the main server port. Relative to the management server base path (management.server.base-path) when a separate management server port (management.server.port) is configured.

management.endpoints.web.cors.allow-credentials

Whether credentials are supported. When not set, credentials are not supported.

management.endpoints.web.cors.allowed-headers

Comma-separated list of headers to allow in a request. '*' allows all headers.

management.endpoints.web.cors.allowed-methods

Comma-separated list of methods to allow. '*' allows all methods. When not set, defaults to GET.

management.endpoints.web.cors.allowed-origin-patterns

Comma-separated list of origin patterns to allow. Unlike allowed origins which only supports '*', origin patterns are more flexible (for example 'https://*.example.com') and can be used when credentials are allowed. When no allowed origin patterns or allowed origins are set, CORS support is disabled.

management.endpoints.web.cors.allowed-origins

Comma-separated list of origins to allow. '*' allows all origins. When credentials are allowed, '*' cannot be used and origin patterns should be configured instead. When no allowed origins or allowed origin patterns are set, CORS support is disabled.

management.endpoints.web.cors.exposed-headers

Comma-separated list of headers to include in a response.

management.endpoints.web.cors.max-age

1800s

How long the response from a pre-flight request can be cached by clients. If a duration suffix is not specified, seconds will be used.

management.endpoints.web.discovery.enabled

true

Whether the discovery page is enabled.

management.endpoints.web.exposure.exclude

Endpoint IDs that should be excluded or '*' for all.

management.endpoints.web.exposure.include

[health]

Endpoint IDs that should be included or '*' for all.

management.endpoints.web.path-mapping.*

Mapping between endpoint IDs and the path that should expose them.

management.health.cassandra.enabled

true

Whether to enable Cassandra health check.

management.health.couchbase.enabled

true

Whether to enable Couchbase health check.

management.health.db.enabled

true

Whether to enable database health check.

management.health.db.ignore-routing-data-sources

false

Whether to ignore AbstractRoutingDataSources when creating database health indicators.

management.health.defaults.enabled

true

Whether to enable default health indicators.

management.health.diskspace.enabled

true

Whether to enable disk space health check.

management.health.diskspace.path

Path used to compute the available disk space.

management.health.diskspace.threshold

10MB

Minimum disk space that should be available.

management.health.elasticsearch.enabled

true

Whether to enable Elasticsearch health check.

management.health.influxdb.enabled

true

Whether to enable InfluxDB health check.

management.health.jms.enabled

true

Whether to enable JMS health check.

management.health.ldap.enabled

true

Whether to enable LDAP health check.

management.health.livenessstate.enabled

false

Whether to enable liveness state health check.

management.health.mail.enabled

true

Whether to enable Mail health check.

management.health.mongo.enabled

true

Whether to enable MongoDB health check.

management.health.neo4j.enabled

true

Whether to enable Neo4j health check.

management.health.ping.enabled

true

Whether to enable ping health check.

management.health.rabbit.enabled

true

Whether to enable RabbitMQ health check.

management.health.readinessstate.enabled

false

Whether to enable readiness state health check.

management.health.redis.enabled

true

Whether to enable Redis health check.

management.health.solr.enabled

true

Whether to enable Solr health check.

management.health.status.order

[DOWN, OUT_OF_SERVICE, UP, UNKNOWN]

management.info.build.enabled

true

Whether to enable build info.

management.info.defaults.enabled

true

Whether to enable default info contributors.

management.info.env.enabled

true

Whether to enable environment info.

management.info.git.enabled

true

Whether to enable git info.

management.info.git.mode

simple

Mode to use to expose git information.

management.metrics.data.repository.autotime.enabled

true

management.metrics.data.repository.autotime.percentiles

management.metrics.data.repository.autotime.percentiles-histogram

false

management.metrics.data.repository.metric-name

spring.data.repository.invocations

Name of the metric for sent requests.

management.metrics.distribution.maximum-expected-value.*

Maximum value that meter IDs starting with the specified name are expected to observe. The longest match wins. Values can be specified as a long or as a Duration value (for timer meters, defaulting to ms if no unit specified).

management.metrics.distribution.minimum-expected-value.*

Minimum value that meter IDs starting with the specified name are expected to observe. The longest match wins. Values can be specified as a long or as a Duration value (for timer meters, defaulting to ms if no unit specified).

management.metrics.distribution.percentiles-histogram.*

Whether meter IDs starting with the specified name should publish percentile histograms. For monitoring systems that support aggregable percentile calculation based on a histogram, this can be set to true. For other systems, this has no effect. The longest match wins, the key `all` can also be used to configure all meters.

management.metrics.distribution.percentiles.*

Specific computed non-aggregable percentiles to ship to the backend for meter IDs starting-with the specified name. The longest match wins, the key `all` can also be used to configure all meters.

management.metrics.distribution.slo.*

Specific service-level objective boundaries for meter IDs starting with the specified name. The longest match wins. Counters will be published for each specified boundary. Values can be specified as a long or as a Duration value (for timer meters, defaulting to ms if no unit specified).

management.metrics.enable.*

Whether meter IDs starting with the specified name should be enabled. The longest match wins, the key `all` can also be used to configure all meters.

management.metrics.export.appoptics.api-token

AppOptics API token.

management.metrics.export.appoptics.batch-size

500

Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made.

management.metrics.export.appoptics.connect-timeout

5s

Connection timeout for requests to this backend.

management.metrics.export.appoptics.enabled

true

Whether exporting of metrics to this backend is enabled.

management.metrics.export.appoptics.floor-times

false

Whether to ship a floored time, useful when sending measurements from multiple hosts to align them on a given time boundary.

management.metrics.export.appoptics.host-tag

instance

Tag that will be mapped to "@host" when shipping metrics to AppOptics.

management.metrics.export.appoptics.read-timeout

10s

Read timeout for requests to this backend.

management.metrics.export.appoptics.step

1m

Step size (i.e. reporting frequency) to use.

management.metrics.export.appoptics.uri

https://api.appoptics.com/v1/measurements

URI to ship metrics to.

management.metrics.export.atlas.batch-size

10000

Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made.

management.metrics.export.atlas.config-refresh-frequency

10s

Frequency for refreshing config settings from the LWC service.

management.metrics.export.atlas.config-time-to-live

150s

Time to live for subscriptions from the LWC service.

management.metrics.export.atlas.config-uri

http://localhost:7101/lwc/api/v1/expressions/local-dev

URI for the Atlas LWC endpoint to retrieve current subscriptions.

management.metrics.export.atlas.connect-timeout

1s

Connection timeout for requests to this backend.

management.metrics.export.atlas.enabled

true

Whether exporting of metrics to this backend is enabled.

management.metrics.export.atlas.eval-uri

http://localhost:7101/lwc/api/v1/evaluate

URI for the Atlas LWC endpoint to evaluate the data for a subscription.

management.metrics.export.atlas.lwc-enabled

false

Whether to enable streaming to Atlas LWC.

management.metrics.export.atlas.meter-time-to-live

15m

Time to live for meters that do not have any activity. After this period the meter will be considered expired and will not get reported.

management.metrics.export.atlas.num-threads

4

Number of threads to use with the metrics publishing scheduler.

management.metrics.export.atlas.read-timeout

10s

Read timeout for requests to this backend.

management.metrics.export.atlas.step

1m

Step size (i.e. reporting frequency) to use.

management.metrics.export.atlas.uri

http://localhost:7101/api/v1/publish

URI of the Atlas server.

management.metrics.export.datadog.api-key

Datadog API key.

management.metrics.export.datadog.application-key

Datadog application key. Not strictly required, but improves the Datadog experience by sending meter descriptions, types, and base units to Datadog.

management.metrics.export.datadog.batch-size

10000

Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made.

management.metrics.export.datadog.connect-timeout

1s

Connection timeout for requests to this backend.

management.metrics.export.datadog.descriptions

true

Whether to publish descriptions metadata to Datadog. Turn this off to minimize the amount of metadata sent.

management.metrics.export.datadog.enabled

true

Whether exporting of metrics to this backend is enabled.

management.metrics.export.datadog.host-tag

instance

Tag that will be mapped to "host" when shipping metrics to Datadog.

management.metrics.export.datadog.read-timeout

10s

Read timeout for requests to this backend.

management.metrics.export.datadog.step

1m

Step size (i.e. reporting frequency) to use.

management.metrics.export.datadog.uri

https://api.datadoghq.com

URI to ship metrics to. If you need to publish metrics to an internal proxy en-route to Datadog, you can define the location of the proxy with this.

management.metrics.export.defaults.enabled

true

Whether to enable default metrics exporters.

management.metrics.export.dynatrace.api-token

Dynatrace authentication token.

management.metrics.export.dynatrace.batch-size

10000

Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made.

management.metrics.export.dynatrace.connect-timeout

1s

Connection timeout for requests to this backend.

management.metrics.export.dynatrace.device-id

ID of the custom device that is exporting metrics to Dynatrace.

management.metrics.export.dynatrace.enabled

true

Whether exporting of metrics to this backend is enabled.

management.metrics.export.dynatrace.group

Group for exported metrics. Used to specify custom device group name in the Dynatrace UI.

management.metrics.export.dynatrace.read-timeout

10s

Read timeout for requests to this backend.

management.metrics.export.dynatrace.step

1m

Step size (i.e. reporting frequency) to use.

management.metrics.export.dynatrace.technology-type

java

Technology type for exported metrics. Used to group metrics under a logical technology name in the Dynatrace UI.

management.metrics.export.dynatrace.uri

URI to ship metrics to. Should be used for SaaS, self managed instances or to en-route through an internal proxy.

management.metrics.export.elastic.auto-create-index

true

Whether to create the index automatically if it does not exist.

management.metrics.export.elastic.batch-size

10000

Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made.

management.metrics.export.elastic.connect-timeout

1s

Connection timeout for requests to this backend.

management.metrics.export.elastic.enabled

true

Whether exporting of metrics to this backend is enabled.

management.metrics.export.elastic.host

http://localhost:9200

Host to export metrics to.

management.metrics.export.elastic.index

micrometer-metrics

Index to export metrics to.

management.metrics.export.elastic.index-date-format

yyyy-MM

Index date format used for rolling indices. Appended to the index name.

management.metrics.export.elastic.index-date-separator

-

Prefix to separate the index name from the date format used for rolling indices.

management.metrics.export.elastic.password

Login password of the Elastic server.

management.metrics.export.elastic.pipeline

Ingest pipeline name. By default, events are not pre-processed.

management.metrics.export.elastic.read-timeout

10s

Read timeout for requests to this backend.

management.metrics.export.elastic.step

1m

Step size (i.e. reporting frequency) to use.

management.metrics.export.elastic.timestamp-field-name

@timestamp

Name of the timestamp field.

management.metrics.export.elastic.user-name

Login user of the Elastic server.

management.metrics.export.ganglia.addressing-mode

multicast

UDP addressing mode, either unicast or multicast.

management.metrics.export.ganglia.duration-units

milliseconds

Base time unit used to report durations.

management.metrics.export.ganglia.enabled

true

Whether exporting of metrics to Ganglia is enabled.

management.metrics.export.ganglia.host

localhost

Host of the Ganglia server to receive exported metrics.

management.metrics.export.ganglia.port

8649

Port of the Ganglia server to receive exported metrics.

management.metrics.export.ganglia.step

1m

Step size (i.e. reporting frequency) to use.

management.metrics.export.ganglia.time-to-live

1

Time to live for metrics on Ganglia. Set the multi-cast Time-To-Live to be one greater than the number of hops (routers) between the hosts.

management.metrics.export.graphite.duration-units

milliseconds

Base time unit used to report durations.

management.metrics.export.graphite.enabled

true

Whether exporting of metrics to Graphite is enabled.

management.metrics.export.graphite.graphite-tags-enabled

Whether Graphite tags should be used, as opposed to a hierarchical naming convention. Enabled by default unless "tagsAsPrefix" is set.

management.metrics.export.graphite.host

localhost

Host of the Graphite server to receive exported metrics.

management.metrics.export.graphite.port

2004

Port of the Graphite server to receive exported metrics.

management.metrics.export.graphite.protocol

pickled

Protocol to use while shipping data to Graphite.

management.metrics.export.graphite.rate-units

seconds

Base time unit used to report rates.

management.metrics.export.graphite.step

1m

Step size (i.e. reporting frequency) to use.

management.metrics.export.graphite.tags-as-prefix

[]

For the hierarchical naming convention, turn the specified tag keys into part of the metric prefix. Ignored if "graphiteTagsEnabled" is true.

management.metrics.export.humio.api-token

Humio API token.

management.metrics.export.humio.batch-size

10000

Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made.

management.metrics.export.humio.connect-timeout

5s

Connection timeout for requests to this backend.

management.metrics.export.humio.enabled

true

Whether exporting of metrics to this backend is enabled.

management.metrics.export.humio.read-timeout

10s

Read timeout for requests to this backend.

management.metrics.export.humio.step

1m

Step size (i.e. reporting frequency) to use.

management.metrics.export.humio.tags.*

Humio tags describing the data source in which metrics will be stored. Humio tags are a distinct concept from Micrometer's tags. Micrometer's tags are used to divide metrics along dimensional boundaries.

management.metrics.export.humio.uri

https://cloud.humio.com

URI to ship metrics to. If you need to publish metrics to an internal proxy en-route to Humio, you can define the location of the proxy with this.

management.metrics.export.influx.api-version

API version of InfluxDB to use. Defaults to 'v1' unless an org is configured. If an org is configured, defaults to 'v2'.

management.metrics.export.influx.auto-create-db

true

Whether to create the Influx database if it does not exist before attempting to publish metrics to it. InfluxDB v1 only.

management.metrics.export.influx.batch-size

10000

Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made.

management.metrics.export.influx.bucket

Bucket for metrics. Use either the bucket name or ID. Defaults to the value of the db property if not set. InfluxDB v2 only.

management.metrics.export.influx.compressed

true

Whether to enable GZIP compression of metrics batches published to Influx.

management.metrics.export.influx.connect-timeout

1s

Connection timeout for requests to this backend.

management.metrics.export.influx.consistency

one

Write consistency for each point.

management.metrics.export.influx.db

mydb

Database to send metrics to. InfluxDB v1 only.

management.metrics.export.influx.enabled

true

Whether exporting of metrics to this backend is enabled.

management.metrics.export.influx.org

Org to write metrics to. InfluxDB v2 only.

management.metrics.export.influx.password

Login password of the Influx server. InfluxDB v1 only.

management.metrics.export.influx.read-timeout

10s

Read timeout for requests to this backend.

management.metrics.export.influx.retention-duration

Time period for which Influx should retain data in the current database. For instance 7d, check the influx documentation for more details on the duration format. InfluxDB v1 only.

management.metrics.export.influx.retention-policy

Retention policy to use (Influx writes to the DEFAULT retention policy if one is not specified). InfluxDB v1 only.

management.metrics.export.influx.retention-replication-factor

How many copies of the data are stored in the cluster. Must be 1 for a single node instance. InfluxDB v1 only.

management.metrics.export.influx.retention-shard-duration

Time range covered by a shard group. For instance 2w, check the influx documentation for more details on the duration format. InfluxDB v1 only.

management.metrics.export.influx.step

1m

Step size (i.e. reporting frequency) to use.

management.metrics.export.influx.token

Authentication token to use with calls to the InfluxDB backend. For InfluxDB v1, the Bearer scheme is used. For v2, the Token scheme is used.

management.metrics.export.influx.uri

http://localhost:8086

URI of the Influx server.

management.metrics.export.influx.user-name

Login user of the Influx server. InfluxDB v1 only.

management.metrics.export.jmx.domain

metrics

Metrics JMX domain name.

management.metrics.export.jmx.enabled

true

Whether exporting of metrics to JMX is enabled.

management.metrics.export.jmx.step

1m

Step size (i.e. reporting frequency) to use.

management.metrics.export.kairos.batch-size

10000

Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made.

management.metrics.export.kairos.connect-timeout

1s

Connection timeout for requests to this backend.

management.metrics.export.kairos.enabled

true

Whether exporting of metrics to this backend is enabled.

management.metrics.export.kairos.password

Login password of the KairosDB server.

management.metrics.export.kairos.read-timeout

10s

Read timeout for requests to this backend.

management.metrics.export.kairos.step

1m

Step size (i.e. reporting frequency) to use.

management.metrics.export.kairos.uri

http://localhost:8080/api/v1/datapoints

URI of the KairosDB server.

management.metrics.export.kairos.user-name

Login user of the KairosDB server.

management.metrics.export.newrelic.account-id

New Relic account ID.

management.metrics.export.newrelic.api-key

New Relic API key.

management.metrics.export.newrelic.batch-size

10000

Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made.

management.metrics.export.newrelic.client-provider-type

Client provider type to use.

management.metrics.export.newrelic.connect-timeout

1s

Connection timeout for requests to this backend.

management.metrics.export.newrelic.enabled

true

Whether exporting of metrics to this backend is enabled.

management.metrics.export.newrelic.event-type

SpringBootSample

The event type that should be published. This property will be ignored if 'meter-name-event-type-enabled' is set to 'true'.

management.metrics.export.newrelic.meter-name-event-type-enabled

false

Whether to send the meter name as the event type instead of using the 'event-type' configuration property value. Can be set to 'true' if New Relic guidelines are not being followed or event types consistent with previous Spring Boot releases are required.

management.metrics.export.newrelic.read-timeout

10s

Read timeout for requests to this backend.

management.metrics.export.newrelic.step

1m

Step size (i.e. reporting frequency) to use.

management.metrics.export.newrelic.uri

https://insights-collector.newrelic.com

URI to ship metrics to.

management.metrics.export.prometheus.descriptions

true

Whether to enable publishing descriptions as part of the scrape payload to Prometheus. Turn this off to minimize the amount of data sent on each scrape.

management.metrics.export.prometheus.enabled

true

Whether exporting of metrics to Prometheus is enabled.

management.metrics.export.prometheus.histogram-flavor

prometheus

Histogram type for backing DistributionSummary and Timer.

management.metrics.export.prometheus.pushgateway.base-url

http://localhost:9091

Base URL for the Pushgateway.

management.metrics.export.prometheus.pushgateway.enabled

false

Enable publishing via a Prometheus Pushgateway.

management.metrics.export.prometheus.pushgateway.grouping-key.*

Grouping key for the pushed metrics.

management.metrics.export.prometheus.pushgateway.job

Job identifier for this application instance.

management.metrics.export.prometheus.pushgateway.password

Login password of the Prometheus Pushgateway.

management.metrics.export.prometheus.pushgateway.push-rate

1m

Frequency with which to push metrics.

management.metrics.export.prometheus.pushgateway.shutdown-operation

none

Operation that should be performed on shutdown.

management.metrics.export.prometheus.pushgateway.username

Login user of the Prometheus Pushgateway.

management.metrics.export.prometheus.step

1m

Step size (i.e. reporting frequency) to use.

management.metrics.export.signalfx.access-token

SignalFX access token.

management.metrics.export.signalfx.batch-size

10000

Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made.

management.metrics.export.signalfx.connect-timeout

1s

Connection timeout for requests to this backend.

management.metrics.export.signalfx.enabled

true

Whether exporting of metrics to this backend is enabled.

management.metrics.export.signalfx.read-timeout

10s

Read timeout for requests to this backend.

management.metrics.export.signalfx.source

Uniquely identifies the app instance that is publishing metrics to SignalFx. Defaults to the local host name.

management.metrics.export.signalfx.step

10s

Step size (i.e. reporting frequency) to use.

management.metrics.export.signalfx.uri

https://ingest.signalfx.com

URI to ship metrics to.

management.metrics.export.simple.enabled

true

Whether, in the absence of any other exporter, exporting of metrics to an in-memory backend is enabled.

management.metrics.export.simple.mode

cumulative

Counting mode.

management.metrics.export.simple.step

1m

Step size (i.e. reporting frequency) to use.

management.metrics.export.stackdriver.batch-size

10000

Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made.

management.metrics.export.stackdriver.connect-timeout

1s

Connection timeout for requests to this backend.

management.metrics.export.stackdriver.enabled

true

Whether exporting of metrics to this backend is enabled.

management.metrics.export.stackdriver.project-id

Identifier of the Google Cloud project to monitor.

management.metrics.export.stackdriver.read-timeout

10s

Read timeout for requests to this backend.

management.metrics.export.stackdriver.resource-type

global

Monitored resource type.

management.metrics.export.stackdriver.step

1m

Step size (i.e. reporting frequency) to use.

management.metrics.export.statsd.enabled

true

Whether exporting of metrics to StatsD is enabled.

management.metrics.export.statsd.flavor

datadog

StatsD line protocol to use.

management.metrics.export.statsd.host

localhost

Host of the StatsD server to receive exported metrics.

management.metrics.export.statsd.max-packet-length

1400

Total length of a single payload should be kept within your network's MTU.

management.metrics.export.statsd.polling-frequency

10s

How often gauges will be polled. When a gauge is polled, its value is recalculated and if the value has changed (or publishUnchangedMeters is true), it is sent to the StatsD server.

management.metrics.export.statsd.port

8125

Port of the StatsD server to receive exported metrics.

management.metrics.export.statsd.protocol

udp

Protocol of the StatsD server to receive exported metrics.

management.metrics.export.statsd.publish-unchanged-meters

true

Whether to send unchanged meters to the StatsD server.

management.metrics.export.wavefront.api-token

API token used when publishing metrics directly to the Wavefront API host.

management.metrics.export.wavefront.batch-size

10000

Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made.

management.metrics.export.wavefront.enabled

true

Whether exporting of metrics to this backend is enabled.

management.metrics.export.wavefront.global-prefix

Global prefix to separate metrics originating from this app's white box instrumentation from those originating from other Wavefront integrations when viewed in the Wavefront UI.

management.metrics.export.wavefront.sender.flush-interval

1s

management.metrics.export.wavefront.sender.max-queue-size

50000

management.metrics.export.wavefront.sender.message-size

management.metrics.export.wavefront.source

Unique identifier for the app instance that is the source of metrics being published to Wavefront. Defaults to the local host name.

management.metrics.export.wavefront.step

1m

Step size (i.e. reporting frequency) to use.

management.metrics.export.wavefront.uri

https://longboard.wavefront.com

URI to ship metrics to.

management.metrics.mongo.command.enabled

true

Whether to enable Mongo client command metrics.

management.metrics.mongo.connectionpool.enabled

true

Whether to enable Mongo connection pool metrics.

management.metrics.tags.*

Common tags that are applied to every meter.

management.metrics.use-global-registry

true

Whether auto-configured MeterRegistry implementations should be bound to the global static registry on Metrics. For testing, set this to 'false' to maximize test independence.

management.metrics.web.client.max-uri-tags

100

Maximum number of unique URI tag values allowed. After the max number of tag values is reached, metrics with additional tag values are denied by filter.

management.metrics.web.client.request.autotime.enabled

true

Whether to automatically time web client requests.

management.metrics.web.client.request.autotime.percentiles

Computed non-aggregable percentiles to publish.

management.metrics.web.client.request.autotime.percentiles-histogram

false

Whether percentile histograms should be published.

management.metrics.web.client.request.metric-name

http.client.requests

Name of the metric for sent requests.

management.metrics.web.server.max-uri-tags

100

Maximum number of unique URI tag values allowed. After the max number of tag values is reached, metrics with additional tag values are denied by filter.

management.metrics.web.server.request.autotime.enabled

true

Whether to automatically time web server requests.

management.metrics.web.server.request.autotime.percentiles

Computed non-aggregable percentiles to publish.

management.metrics.web.server.request.autotime.percentiles-histogram

false

Whether percentile histograms should be published.

management.metrics.web.server.request.ignore-trailing-slash

true

Whether the trailing slash should be ignored when recording metrics.

management.metrics.web.server.request.metric-name

http.server.requests

Name of the metric for received requests.

management.server.add-application-context-header

false

Add the "X-Application-Context" HTTP header in each response.

management.server.address

Network address to which the management endpoints should bind. Requires a custom management.server.port.

management.server.base-path

Management endpoint base path (for instance, `/management`). Requires a custom management.server.port.

management.server.port

Management endpoint HTTP port (uses the same port as the application by default). Configure a different port to use management-specific SSL.

management.server.ssl.ciphers

Supported SSL ciphers.

management.server.ssl.client-auth

Client authentication mode. Requires a trust store.

management.server.ssl.enabled

true

Whether to enable SSL support.

management.server.ssl.enabled-protocols

Enabled SSL protocols.

management.server.ssl.key-alias

Alias that identifies the key in the key store.

management.server.ssl.key-password

Password used to access the key in the key store.

management.server.ssl.key-store

Path to the key store that holds the SSL certificate (typically a jks file).

management.server.ssl.key-store-password

Password used to access the key store.

management.server.ssl.key-store-provider

Provider for the key store.

management.server.ssl.key-store-type

Type of the key store.

management.server.ssl.protocol

TLS

SSL protocol to use.

management.server.ssl.trust-store

Trust store that holds SSL certificates.

management.server.ssl.trust-store-password

Password used to access the trust store.

management.server.ssl.trust-store-provider

Provider for the trust store.

management.server.ssl.trust-store-type

Type of the trust store.

management.trace.http.enabled

true

Whether to enable HTTP request-response tracing.

management.trace.http.include

[request-headers, response-headers, errors]

Items to be included in the trace. Defaults to request headers (excluding Authorization and Cookie), response headers (excluding Set-Cookie), and time taken.

15. Devtools Properties

Key Default Value Description

spring.devtools.add-properties

true

Whether to enable development property defaults.

spring.devtools.livereload.enabled

true

Whether to enable a livereload.com-compatible server.

spring.devtools.livereload.port

35729

Server port.

spring.devtools.remote.context-path

/.~~spring-boot!~

Context path used to handle the remote connection.

spring.devtools.remote.proxy.host

The host of the proxy to use to connect to the remote application.

spring.devtools.remote.proxy.port

The port of the proxy to use to connect to the remote application.

spring.devtools.remote.restart.enabled

true

Whether to enable remote restart.

spring.devtools.remote.secret

A shared secret required to establish a connection (required to enable remote support).

spring.devtools.remote.secret-header-name

X-AUTH-TOKEN

HTTP header used to transfer the shared secret.

spring.devtools.restart.additional-exclude

Additional patterns that should be excluded from triggering a full restart.

spring.devtools.restart.additional-paths

Additional paths to watch for changes.

spring.devtools.restart.enabled

true

Whether to enable automatic restart.

spring.devtools.restart.exclude

META-INF/maven/**,META-INF/resources/**,resources/**,static/**,public/**,templates/**,**/*Test.class,**/*Tests.class,git.properties,META-INF/build-info.properties

Patterns that should be excluded from triggering a full restart.

spring.devtools.restart.log-condition-evaluation-delta

true

Whether to log the condition evaluation delta upon restart.

spring.devtools.restart.poll-interval

1s

Amount of time to wait between polling for classpath changes.

spring.devtools.restart.quiet-period

400ms

Amount of quiet time required without any classpath changes before a restart is triggered.

spring.devtools.restart.trigger-file

Name of a specific file that, when changed, triggers the restart check. Must be a simple name (without any path) of a file that appears on your classpath. If not specified, any classpath file change triggers the restart.

16. Testing Properties

Key Default Value Description

spring.test.database.replace

any

Type of existing DataSource to replace.

spring.test.mockmvc.print

default

MVC Print option.