Appendix A: Common application properties

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.

Core properties

Key Default Value Description

debug

false

Enable debug logs.

info.*

Arbitrary properties to add to the info endpoint.

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.clean-history-on-start

false

Whether to clean the archive log files on startup. Only supported with the default logback setup.

logging.file.max-history

0

Maximum of archive log files to keep. Only supported with the default logback setup.

logging.file.max-size

10MB

Maximum log file size. Only supported with the default logback setup.

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.file.total-size-cap

0B

Total size of log backups to be kept. Only supported with the default logback setup.

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.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

false

Register a shutdown hook for the logging system when it is initialized.

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.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.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.config.additional-location

Config file locations used in addition to the defaults.

spring.config.location

Config file locations that replace the defaults.

spring.config.name

application

Config file name.

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

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.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.lazy-initialization

false

Whether initialization should be performed lazily.

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

--

Prefix 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/[email protected]@[email protected]@.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.stacktrace-mode.enabled

false

Whether Reactor should collect stacktrace information at runtime.

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.

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.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.

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.

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.joda-date-time-format

Joda date time format string. If not configured, "date-format" is used as a fallback if it is configured with a format string.

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 PropertyNamingStrategy. Can also be a fully-qualified class name of a PropertyNamingStrategy subclass.

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.

Data properties

Key Default Value Description

spring.couchbase.bootstrap-hosts

Couchbase nodes (host or IP address) to bootstrap from.

spring.couchbase.bucket.name

default

Name of the bucket to connect to.

spring.couchbase.bucket.password

Password of the bucket.

spring.couchbase.env.endpoints.key-value

1

Number of sockets per node against the key/value service.

spring.couchbase.env.endpoints.queryservice.max-endpoints

1

Maximum number of sockets per node.

spring.couchbase.env.endpoints.queryservice.min-endpoints

1

Minimum number of sockets per node.

spring.couchbase.env.endpoints.viewservice.max-endpoints

1

Maximum number of sockets per node.

spring.couchbase.env.endpoints.viewservice.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.connect

5000ms

Bucket connections timeouts.

spring.couchbase.env.timeouts.key-value

2500ms

Blocking operations performed on a specific key timeout.

spring.couchbase.env.timeouts.query

7500ms

N1QL query operations timeout.

spring.couchbase.env.timeouts.socket-connect

1000ms

Socket connect connections timeout.

spring.couchbase.env.timeouts.view

7500ms

Regular and geospatial view operations timeout.

spring.dao.exceptiontranslation.enabled

true

Whether to enable the PersistenceExceptionTranslationPostProcessor.

spring.data.cassandra.cluster-name

Name of the Cassandra cluster.

spring.data.cassandra.compression

none

Compression supported by the Cassandra binary protocol.

spring.data.cassandra.connect-timeout

Socket option: connection time out.

spring.data.cassandra.consistency-level

Queries consistency level.

spring.data.cassandra.contact-points

localhost

Cluster node addresses.

spring.data.cassandra.fetch-size

Queries default fetch size.

spring.data.cassandra.jmx-enabled

false

Whether to enable JMX reporting. Default to false as Cassandra JMX reporting is not compatible with Dropwizard Metrics.

spring.data.cassandra.keyspace-name

Keyspace name to use.

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. If a duration suffix is not specified, seconds will be used.

spring.data.cassandra.pool.idle-timeout

120s

Idle timeout before an idle connection is removed. If a duration suffix is not specified, seconds will be used.

spring.data.cassandra.pool.max-queue-size

256

Maximum number of requests that get queued if no connection is available.

spring.data.cassandra.pool.pool-timeout

5000ms

Pool timeout when trying to acquire a connection from a host's pool.

spring.data.cassandra.port

Port of the Cassandra server.

spring.data.cassandra.read-timeout

Socket option: read time out.

spring.data.cassandra.repositories.type

auto

Type of Cassandra repositories to enable.

spring.data.cassandra.schema-action

none

Schema action to take at startup.

spring.data.cassandra.serial-consistency-level

Queries serial consistency level.

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.consistency

read-your-own-writes

Consistency to apply by default on generated queries.

spring.data.couchbase.repositories.type

auto

Type of Couchbase repositories to enable.

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.grid-fs-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.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 and credentials.

spring.data.mongodb.username

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

spring.data.neo4j.auto-index

none

Auto index mode.

spring.data.neo4j.embedded.enabled

true

Whether to enable embedded mode if the embedded driver is available.

spring.data.neo4j.open-in-view

true

Register OpenSessionInViewInterceptor. Binds a Neo4j Session to the thread for the entire processing of the request.",

spring.data.neo4j.password

Login password of the server.

spring.data.neo4j.repositories.enabled

true

Whether to enable Neo4j repositories.

spring.data.neo4j.uri

URI used by the driver. Auto-detected by default.

spring.data.neo4j.use-native-types

false

Whether to use Neo4j native types wherever possible.

spring.data.neo4j.username

Login user of the server.

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

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.repositories.enabled

true

Whether to enable Solr repositories.

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.continue-on-error

false

Whether to stop if an error occurs while initializing the database.

spring.datasource.data

Data (DML) script resource references.

spring.datasource.data-password

Password of the database to execute DML scripts (if different).

spring.datasource.data-username

Username of the database to execute DML scripts (if different).

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.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

spring.datasource.driver-class-name

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

spring.datasource.generate-unique-name

false

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.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.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

spring.datasource.initialization-mode

embedded

spring.datasource.jmx-enabled

false

Whether to enable JMX support (if provided by the underlying pool).

spring.datasource.jndi-name

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

spring.datasource.name

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

spring.datasource.password

Login password of the database.

spring.datasource.platform

all

Platform to use in the DDL or DML scripts (such as schema-${platform}.sql or data-${platform}.sql).

spring.datasource.schema

Schema (DDL) script resource references.

spring.datasource.schema-password

Password of the database to execute DDL scripts (if different).

spring.datasource.schema-username

Username of the database to execute DDL scripts (if different).

spring.datasource.separator

;

Statement separator in SQL initialization scripts.

spring.datasource.sql-script-encoding

SQL scripts encoding.

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

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.jest.connection-timeout

3s

Connection timeout.

spring.elasticsearch.jest.multi-threaded

true

Whether to enable connection requests from multiple execution threads.

spring.elasticsearch.jest.password

Login password.

spring.elasticsearch.jest.proxy.host

Proxy host the HTTP client should use.

spring.elasticsearch.jest.proxy.port

Proxy port the HTTP client should use.

spring.elasticsearch.jest.read-timeout

3s

Read timeout.

spring.elasticsearch.jest.username

Login username.

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.uris

http://localhost:9200

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-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.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.mongodb.embedded.features

sync_delay

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.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.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 it is positive.

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 it is positive.

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.ssl

false

Whether to enable SSL support.

spring.redis.timeout

Connection timeout.

spring.redis.url

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

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.bitronix.connectionfactory.acquire-increment

1

Number of connections to create when growing the pool.

spring.jta.bitronix.connectionfactory.acquisition-interval

1

Time, in seconds, to wait before trying to acquire a connection again after an invalid connection was acquired.

spring.jta.bitronix.connectionfactory.acquisition-timeout

30

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

spring.jta.bitronix.connectionfactory.allow-local-transactions

false

Whether the transaction manager should allow mixing XA and non-XA transactions.

spring.jta.bitronix.connectionfactory.apply-transaction-timeout

false

Whether the transaction timeout should be set on the XAResource when it is enlisted.

spring.jta.bitronix.connectionfactory.automatic-enlisting-enabled

true

Whether resources should be enlisted and delisted automatically.

spring.jta.bitronix.connectionfactory.cache-producers-consumers

true

Whether producers and consumers should be cached.

spring.jta.bitronix.connectionfactory.class-name

Underlying implementation class name of the XA resource.

spring.jta.bitronix.connectionfactory.defer-connection-release

true

Whether the provider can run many transactions on the same connection and supports transaction interleaving.

spring.jta.bitronix.connectionfactory.disabled

false

Whether this resource is disabled, meaning it's temporarily forbidden to acquire a connection from its pool.

spring.jta.bitronix.connectionfactory.driver-properties

Properties that should be set on the underlying implementation.

spring.jta.bitronix.connectionfactory.failed

spring.jta.bitronix.connectionfactory.ignore-recovery-failures

false

Whether recovery failures should be ignored.

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

60

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

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

0

Maximum size of the pool. 0 denotes no limit.

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

0

Minimum size of the pool.

spring.jta.bitronix.connectionfactory.password

Password to use to connect to the JMS provider.

spring.jta.bitronix.connectionfactory.share-transaction-connections

false

Whether connections in the ACCESSIBLE state can be shared within the context of a transaction.

spring.jta.bitronix.connectionfactory.test-connections

false

Whether connections should be tested when acquired from the pool.

spring.jta.bitronix.connectionfactory.two-pc-ordering-position

1

Position that this resource should take during two-phase commit (always first is Integer.MIN_VALUE, always last is Integer.MAX_VALUE).

spring.jta.bitronix.connectionfactory.unique-name

jmsConnectionFactory

Unique name used to identify the resource during recovery.

spring.jta.bitronix.connectionfactory.use-tm-join

true

Whether TMJOIN should be used when starting XAResources.

spring.jta.bitronix.connectionfactory.user

User to use to connect to the JMS provider.

spring.jta.bitronix.datasource.acquire-increment

1

Number of connections to create when growing the pool.

spring.jta.bitronix.datasource.acquisition-interval

1

Time, in seconds, to wait before trying to acquire a connection again after an invalid connection was acquired.

spring.jta.bitronix.datasource.acquisition-timeout

30

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

spring.jta.bitronix.datasource.allow-local-transactions

false

Whether the transaction manager should allow mixing XA and non-XA transactions.

spring.jta.bitronix.datasource.apply-transaction-timeout

false

Whether the transaction timeout should be set on the XAResource when it is enlisted.

spring.jta.bitronix.datasource.automatic-enlisting-enabled

true

Whether resources should be enlisted and delisted automatically.

spring.jta.bitronix.datasource.class-name

Underlying implementation class name of the XA resource.

spring.jta.bitronix.datasource.cursor-holdability

Default cursor holdability for connections.

spring.jta.bitronix.datasource.defer-connection-release

true

Whether the database can run many transactions on the same connection and supports transaction interleaving.

spring.jta.bitronix.datasource.disabled

false

Whether this resource is disabled, meaning it's temporarily forbidden to acquire a connection from its pool.

spring.jta.bitronix.datasource.driver-properties

Properties that should be set on the underlying implementation.

spring.jta.bitronix.datasource.enable-jdbc4-connection-test

false

Whether Connection.isValid() is called when acquiring a connection from the pool.

spring.jta.bitronix.datasource.failed

spring.jta.bitronix.datasource.ignore-recovery-failures

false

Whether recovery failures should be ignored.

spring.jta.bitronix.datasource.isolation-level

Default isolation level for connections.

spring.jta.bitronix.datasource.local-auto-commit

Default auto-commit mode for local transactions.

spring.jta.bitronix.datasource.login-timeout

Timeout, in seconds, for establishing a database connection.

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

60

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

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

0

Maximum size of the pool. 0 denotes no limit.

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

0

Minimum size of the pool.

spring.jta.bitronix.datasource.prepared-statement-cache-size

0

Target size of the prepared statement cache. 0 disables the cache.

spring.jta.bitronix.datasource.share-transaction-connections

false

Whether connections in the ACCESSIBLE state can be shared within the context of a transaction.

spring.jta.bitronix.datasource.test-query

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

spring.jta.bitronix.datasource.two-pc-ordering-position

1

Position that this resource should take during two-phase commit (always first is Integer.MIN_VALUE, and always last is Integer.MAX_VALUE).

spring.jta.bitronix.datasource.unique-name

dataSource

Unique name used to identify the resource during recovery.

spring.jta.bitronix.datasource.use-tm-join

true

Whether TMJOIN should be used when starting XAResources.

spring.jta.bitronix.properties.allow-multiple-lrc

false

Whether to allow multiple LRC resources to be enlisted into the same transaction.

spring.jta.bitronix.properties.asynchronous2-pc

false

Whether to enable asynchronously execution of two phase commit.

spring.jta.bitronix.properties.background-recovery-interval-seconds

60

Interval in seconds at which to run the recovery process in the background.

spring.jta.bitronix.properties.current-node-only-recovery

true

Whether to recover only the current node. Should be enabled if you run multiple instances of the transaction manager on the same JMS and JDBC resources.

spring.jta.bitronix.properties.debug-zero-resource-transaction

false

Whether to log the creation and commit call stacks of transactions executed without a single enlisted resource.

spring.jta.bitronix.properties.default-transaction-timeout

60

Default transaction timeout, in seconds.

spring.jta.bitronix.properties.disable-jmx

false

Whether to enable JMX support.

spring.jta.bitronix.properties.exception-analyzer

Set the fully qualified name of the exception analyzer implementation to use.

spring.jta.bitronix.properties.filter-log-status

false

Whether to enable filtering of logs so that only mandatory logs are written.

spring.jta.bitronix.properties.force-batching-enabled

true

Whether disk forces are batched.

spring.jta.bitronix.properties.forced-write-enabled

true

Whether logs are forced to disk.

spring.jta.bitronix.properties.graceful-shutdown-interval

60

Maximum amount of seconds the TM waits for transactions to get done before aborting them at shutdown time.

spring.jta.bitronix.properties.jndi-transaction-synchronization-registry-name

JNDI name of the TransactionSynchronizationRegistry.

spring.jta.bitronix.properties.jndi-user-transaction-name

JNDI name of the UserTransaction.

spring.jta.bitronix.properties.journal

disk

Name of the journal. Can be 'disk', 'null', or a class name.

spring.jta.bitronix.properties.log-part1-filename

btm1.tlog

Name of the first fragment of the journal.

spring.jta.bitronix.properties.log-part2-filename

btm2.tlog

Name of the second fragment of the journal.

spring.jta.bitronix.properties.max-log-size-in-mb

2

Maximum size in megabytes of the journal fragments.

spring.jta.bitronix.properties.resource-configuration-filename

ResourceLoader configuration file name.

spring.jta.bitronix.properties.server-id

ASCII ID that must uniquely identify this TM instance. Defaults to the machine's IP address.

spring.jta.bitronix.properties.skip-corrupted-logs

false

Skip corrupted transactions log entries. Use only at last resort when all you have to recover is a pair of corrupted files.

spring.jta.bitronix.properties.warn-about-zero-resource-transaction

true

Whether to log a warning for transactions executed without a single enlisted resource.

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.

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 Pro or Flyway Enterprise.

spring.flyway.check-location

true

Whether to check that migration scripts location exists.

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.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 Pro or Flyway Enterprise.

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.license-key

Licence key for Flyway Pro or Flyway Enterprise.

spring.flyway.locations

classpath:db/migration

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

spring.flyway.mixed

false

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

spring.flyway.oracle-sqlplus

Whether to enable support for Oracle SQL*Plus commands. Requires Flyway Pro or Flyway Enterprise.

spring.flyway.out-of-order

false

Whether to allow migrations to be run out of order.

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.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 migrarions when executing them. Requires Flyway Pro or Flyway Enterprise.

spring.flyway.table

flyway_schema_history

Name of the schema schema history table that will be 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-on-migrate

true

Whether to automatically call validate when performing a migration.

spring.liquibase.change-log

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

Change log configuration path.

spring.liquibase.check-change-log-location

true

Whether to check that the change log location exists.

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.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.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.

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.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.host

localhost

Artemis broker host.

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.port

61616

Artemis broker port.

spring.artemis.user

Login user of the broker.

spring.batch.initialize-schema

embedded

Database schema initialization mode.

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.batch.schema

classpath:org/springframework/batch/core/[email protected]@[email protected]@.sql

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

spring.batch.table-prefix

Table prefix for all the batch meta-data tables.

spring.hazelcast.config

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

spring.integration.jdbc.initialize-schema

embedded

spring.integration.jdbc.schema

classpath:org/springframework/integration/jdbc/[email protected]@[email protected]@.sql

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

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.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.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.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.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-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.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.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.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.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.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.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.addresses

Comma-separated list of addresses to which the client should connect.

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

spring.rabbitmq.cache.connection.size

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

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.

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.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.concurrency

Minimum number of listener invoker threads.

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.simple.transaction-size

Number of messages to be processed between acks when the acknowledge mode is AUTO. If larger than prefetch, prefetch will be increased to this value.

spring.rabbitmq.listener.type

simple

spring.rabbitmq.password

guest

Login to authenticate against the broker.

spring.rabbitmq.port

5672

RabbitMQ port.

spring.rabbitmq.publisher-confirms

false

Whether to enable publisher confirms.

spring.rabbitmq.publisher-returns

false

Whether to enable publisher returns.

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

false

Whether to enable SSL support.

spring.rabbitmq.ssl.key-store

Path to the key store that holds the SSL certificate.

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-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.

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.

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.http.converters.preferred-json-mapper

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

spring.http.encoding.charset

UTF-8

Charset of HTTP requests and responses. Added to the "Content-Type" header if not set explicitly.

spring.http.encoding.enabled

true

Whether to enable http encoding support.

spring.http.encoding.force

Whether to force the encoding to the configured charset on HTTP requests and responses.

spring.http.encoding.force-request

Whether to force the encoding to the configured charset on HTTP requests. Defaults to true when "force" has not been specified.

spring.http.encoding.force-response

Whether to force the encoding to the configured charset on HTTP responses.

spring.http.encoding.mapping.*

Locale in which to encode mapping.

spring.http.log-request-details

false

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

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

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, e.g. 10 seconds on Tomcat with Servlet 3.

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.favor-path-extension

false

Whether the path extension in the URL path should be used to determine the requested media type. If enabled a request "/users.pdf" will be interpreted as a request for "application/pdf" regardless of the 'Accept' header.

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.date-format

Date format to use. For instance, `dd/MM/yyyy`.

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.favicon.enabled

true

Whether to enable resolution of favicon.ico.

spring.mvc.formcontent.filter.enabled

true

Whether to enable Spring's FormContentFilter.

spring.mvc.hiddenmethod.filter.enabled

true

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.locale

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

spring.mvc.locale-resolver

accept-header

Define how the locale should be resolved.

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.use-registered-suffix-pattern

false

Whether suffix pattern matching should work only against extensions registered with "spring.mvc.contentnegotiation.media-types.*". This is generally recommended to reduce ambiguity and to avoid issues such as when a "." appears in the path for other reasons.

spring.mvc.pathmatch.use-suffix-pattern

false

Whether to use suffix pattern match (".*") when matching patterns to requests. If enabled a method mapped to "/users" also matches to "/users.*".

spring.mvc.servlet.load-on-startup

-1

Load on startup priority of the dispatcher servlet.

spring.mvc.servlet.path

/

Path of the dispatcher servlet.

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.resources.add-mappings

true

Whether to enable default resource handling.

spring.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.resources.cache.cachecontrol.cache-public

Indicate that any cache may store the response.

spring.resources.cache.cachecontrol.max-age

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

spring.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.resources.cache.cachecontrol.no-cache

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

spring.resources.cache.cachecontrol.no-store

Indicate to not cache the response in any case.

spring.resources.cache.cachecontrol.no-transform

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

spring.resources.cache.cachecontrol.proxy-revalidate

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

spring.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.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.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.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.resources.cache.cachecontrol' properties.

spring.resources.chain.cache

true

Whether to enable caching in the Resource chain.

spring.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.resources.chain.enabled

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

spring.resources.chain.html-application-cache

false

Whether to enable HTML5 application cache manifest rewriting.

spring.resources.chain.strategy.content.enabled

false

Whether to enable the content Version Strategy.

spring.resources.chain.strategy.content.paths

/**

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

spring.resources.chain.strategy.fixed.enabled

false

Whether to enable the fixed Version Strategy.

spring.resources.chain.strategy.fixed.paths

/**

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

spring.resources.chain.strategy.fixed.version

Version string to use for the fixed Version Strategy.

spring.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.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.webflux.date-format

Date format to use. For instance, `dd/MM/yyyy`.

spring.webflux.hiddenmethod.filter.enabled

true

Whether to enable Spring's HiddenHttpMethodFilter.

spring.webflux.static-path-pattern

/**

Path pattern used for static resources.

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

true

Whether to prefer file system access for template loading. File system access enables hot detection of template changes.

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

.ftl

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

White list of 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

White list of 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

White list of 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/

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

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.

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.connection-timeout

Time that connectors wait for another HTTP request before closing the connection. When not set, the connector's container-specific default is used. Use a value of -1 to indicate no (that is, an infinite) timeout.

server.error.include-exception

false

Include the "exception" attribute.

server.error.include-stacktrace

never

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.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.accesslog.append

false

Append to log.

server.jetty.accesslog.date-format

dd/MMM/yyyy:HH:mm:ss Z

Timestamp format of the request log.

server.jetty.accesslog.enabled

false

Enable access log.

server.jetty.accesslog.extended-format

false

Enable extended NCSA format.

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.ignore-paths

Request paths that should not be logged.

server.jetty.accesslog.locale

Locale of the request log.

server.jetty.accesslog.log-cookies

false

Enable logging of the request cookies.

server.jetty.accesslog.log-latency

false

Enable logging of request processing time.

server.jetty.accesslog.log-server

false

Enable logging of the request hostname.

server.jetty.accesslog.prefer-proxied-for-address

false

Whether to log IP address from the "X-Forwarded-For" header rather than the one from the connection.

server.jetty.accesslog.retention-period

31

Number of days before rotated log files are deleted.

server.jetty.accesslog.time-zone

GMT

Timezone of the request log.

server.jetty.max-http-post-size

200000B

Maximum size of the HTTP post or put content.

server.jetty.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.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.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.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.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.internal-proxies

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

Regular expression that matches proxies that are to be trusted.

server.tomcat.max-connections

10000

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-post-size

2MB

Maximum size of the HTTP post content.

server.tomcat.max-swallow-size

2MB

Maximum amount of request body to swallow.

server.tomcat.max-threads

200

Maximum amount of worker threads.

server.tomcat.min-spare-threads

10

Minimum amount of worker threads.

server.tomcat.port-header

X-Forwarded-Port

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

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.protocol-header

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

server.tomcat.protocol-header-https-value

https

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

server.tomcat.redirect-context-root

true

Whether requests to the context root should be redirected by appending a / to the path.

server.tomcat.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.uri-encoding

UTF-8

Character encoding to use to decode the URI.

server.tomcat.use-relative-redirects

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.io-threads

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

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.url-charset

UTF-8

Charset used to decode URLs.

server.undertow.worker-threads

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

Security properties

Key Default Value Description

spring.ldap.anonymous-read-only

false

Whether read-only operations should use an anonymous environment.

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.urls

LDAP URLs of the server.

spring.ldap.username

Login username of the server.

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 an OpenID Connect Provider asserts as its Issuer Identifier.

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.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.

spring.session.hazelcast.flush-mode

on-save

Sessions flush mode.

spring.session.hazelcast.map-name

spring:session:sessions

Name of the map used to store sessions.

spring.session.jdbc.cleanup-cron

0 * * * * *

Cron expression for expired session cleanup job.

spring.session.jdbc.initialize-schema

embedded

Database schema initialization mode.

spring.session.jdbc.schema

classpath:org/springframework/session/jdbc/[email protected]@[email protected]@.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.flush-mode

on-save

spring.session.redis.namespace

spring:session

Namespace for keys used to store sessions.

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.

RSocket properties

Key Default Value Description

spring.rsocket.server.address

Network address to which the server should bind.

spring.rsocket.server.mapping-path

Path under which RSocket handles requests (only works with websocket transport).

spring.rsocket.server.port

Server port.

spring.rsocket.server.transport

RSocket transport protocol.

Actuator properties

Key Default Value Description

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.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.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.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-details

never

When to show full health details.

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.cache.time-to-live

0ms

Maximum time that a response can be cached.

management.endpoint.prometheus.enabled

true

Whether to enable the prometheus 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.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

management.endpoints.jmx.exposure.exclude

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

management.endpoints.jmx.exposure.include

*

management.endpoints.jmx.static-names

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

management.endpoints.web.base-path

/actuator

Base path for Web endpoints. Relative to server.servlet.context-path or management.server.servlet.context-path if 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-origins

Comma-separated list of origins to allow. '*' allows all origins. When not 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.exposure.exclude

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

management.endpoints.web.exposure.include

health, info

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.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.elasticsearch.indices

Comma-separated index names.

management.health.elasticsearch.response-timeout

100ms

Time to wait for a response from the cluster.

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.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.rabbit.enabled

true

Whether to enable RabbitMQ 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.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.health.status.order

DOWN, OUT_OF_SERVICE, UP, UNKNOWN

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

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

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.sla.*

Specific SLA 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.host-tag

instance

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

management.metrics.export.appoptics.num-threads

2

Number of threads to use with the metrics publishing scheduler.

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

2

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.num-threads

2

Number of threads to use with the metrics publishing scheduler.

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://app.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.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.num-threads

2

Number of threads to use with the metrics publishing scheduler.

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

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, preceded by a '-'.

management.metrics.export.elastic.num-threads

2

Number of threads to use with the metrics publishing scheduler.

management.metrics.export.elastic.password

Login password of the Elastic server.

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.protocol-version

3.1

Ganglia protocol version. Must be either 3.1 or 3.0.

management.metrics.export.ganglia.rate-units

seconds

Base time unit used to report rates.

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

management.metrics.export.graphite.enabled

true

Whether exporting of metrics to Graphite is enabled.

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

management.metrics.export.graphite.rate-units

seconds

management.metrics.export.graphite.step

1m

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

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

For the default naming convention, turn the specified tag keys into part of the metric prefix.

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.num-threads

2

Number of threads to use with the metrics publishing scheduler.

management.metrics.export.humio.read-timeout

10s

Read timeout for requests to this backend.

management.metrics.export.humio.repository

sandbox

Name of the repository to publish metrics to.

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.auto-create-db

true

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

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.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

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

management.metrics.export.influx.enabled

true

Whether exporting of metrics to this backend is enabled.

management.metrics.export.influx.num-threads

2

Number of threads to use with the metrics publishing scheduler.

management.metrics.export.influx.password

Login password of the Influx server.

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.

management.metrics.export.influx.retention-policy

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

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.

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.

management.metrics.export.influx.step

1m

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

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.

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.num-threads

2

Number of threads to use with the metrics publishing scheduler.

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.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.num-threads

2

Number of threads to use with the metrics publishing scheduler.

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.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.push-rate

1m

Frequency with which to push metrics.

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

Operation that should be performed on shutdown.

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.num-threads

2

Number of threads to use with the metrics publishing scheduler.

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.statsd.enabled

true

Whether exporting of metrics to StatsD is enabled.

management.metrics.export.statsd.flavor

datadog

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.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.connect-timeout

1s

Connection timeout for requests to this backend.

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.num-threads

2

Number of threads to use with the metrics publishing scheduler.

management.metrics.export.wavefront.read-timeout

10s

Read timeout for requests to this backend.

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

10s

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

management.metrics.export.wavefront.uri

https://longboard.wavefront.com

URI to ship metrics to.

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.requests-metric-name

http.client.requests

Name of the metric for sent requests.

management.metrics.web.server.auto-time-requests

true

Whether requests handled by Spring MVC, WebFlux or Jersey should be automatically timed. If the number of time series emitted grows too large on account of request mapping timings, disable this and use 'Timed' on a per request mapping basis as needed.

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.requests-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.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.servlet.context-path

Management endpoint context-path (for instance, `/management`). Requires a custom management.server.port.

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, cookies, errors

Items to be included in the trace. Defaults to request headers (excluding Authorization but including Cookie), response headers (including Set-Cookie), and time taken.

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. If not specified, any classpath file change triggers the restart.

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.

Appendix B: Configuration Metadata

Spring Boot jars include metadata files that provide details of all supported configuration properties. The files are designed to let IDE developers offer contextual help and “code completion” as users are working with application.properties or application.yml files.

The majority of the metadata file is generated automatically at compile time by processing all items annotated with @ConfigurationProperties. However, it is possible to write part of the metadata manually for corner cases or more advanced use cases.

Metadata Format

Configuration metadata files are located inside jars under META-INF/spring-configuration-metadata.json They use a simple JSON format with items categorized under either “groups” or “properties” and additional values hints categorized under "hints", as shown in the following example:

{"groups": [
    {
        "name": "server",
        "type": "org.springframework.boot.autoconfigure.web.ServerProperties",
        "sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties"
    },
    {
        "name": "spring.jpa.hibernate",
        "type": "org.springframework.boot.autoconfigure.orm.jpa.JpaProperties$Hibernate",
        "sourceType": "org.springframework.boot.autoconfigure.orm.jpa.JpaProperties",
        "sourceMethod": "getHibernate()"
    }
    ...
],"properties": [
    {
        "name": "server.port",
        "type": "java.lang.Integer",
        "sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties"
    },
    {
        "name": "server.address",
        "type": "java.net.InetAddress",
        "sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties"
    },
    {
          "name": "spring.jpa.hibernate.ddl-auto",
          "type": "java.lang.String",
          "description": "DDL mode. This is actually a shortcut for the \"hibernate.hbm2ddl.auto\" property.",
          "sourceType": "org.springframework.boot.autoconfigure.orm.jpa.JpaProperties$Hibernate"
    }
    ...
],"hints": [
    {
        "name": "spring.jpa.hibernate.ddl-auto",
        "values": [
            {
                "value": "none",
                "description": "Disable DDL handling."
            },
            {
                "value": "validate",
                "description": "Validate the schema, make no changes to the database."
            },
            {
                "value": "update",
                "description": "Update the schema if necessary."
            },
            {
                "value": "create",
                "description": "Create the schema and destroy previous data."
            },
            {
                "value": "create-drop",
                "description": "Create and then destroy the schema at the end of the session."
            }
        ]
    }
]}

Each “property” is a configuration item that the user specifies with a given value. For example, server.port and server.address might be specified in application.properties, as follows:

server.port=9090
server.address=127.0.0.1

The “groups” are higher level items that do not themselves specify a value but instead provide a contextual grouping for properties. For example, the server.port and server.address properties are part of the server group.

It is not required that every “property” has a “group”. Some properties might exist in their own right.

Finally, “hints” are additional information used to assist the user in configuring a given property. For example, when a developer is configuring the spring.jpa.hibernate.ddl-auto property, a tool can use the hints to offer some auto-completion help for the none, validate, update, create, and create-drop values.

Group Attributes

The JSON object contained in the groups array can contain the attributes shown in the following table:

Name Type Purpose

name

String

The full name of the group. This attribute is mandatory.

type

String

The class name of the data type of the group. For example, if the group were based on a class annotated with @ConfigurationProperties, the attribute would contain the fully qualified name of that class. If it were based on a @Bean method, it would be the return type of that method. If the type is not known, the attribute may be omitted.

description

String

A short description of the group that can be displayed to users. If not description is available, it may be omitted. It is recommended that descriptions be short paragraphs, with the first line providing a concise summary. The last line in the description should end with a period (.).

sourceType

String

The class name of the source that contributed this group. For example, if the group were based on a @Bean method annotated with @ConfigurationProperties, this attribute would contain the fully qualified name of the @Configuration class that contains the method. If the source type is not known, the attribute may be omitted.

sourceMethod

String

The full name of the method (include parenthesis and argument types) that contributed this group (for example, the name of a @ConfigurationProperties annotated @Bean method). If the source method is not known, it may be omitted.

Property Attributes

The JSON object contained in the properties array can contain the attributes described in the following table:

Name Type Purpose

name

String

The full name of the property. Names are in lower-case period-separated form (for example, server.address). This attribute is mandatory.

type

String

The full signature of the data type of the property (for example, java.lang.String) but also a full generic type (such as java.util.Map<java.util.String,acme.MyEnum>). You can use this attribute to guide the user as to the types of values that they can enter. For consistency, the type of a primitive is specified by using its wrapper counterpart (for example, boolean becomes java.lang.Boolean). Note that this class may be a complex type that gets converted from a String as values are bound. If the type is not known, it may be omitted.

description

String

A short description of the group that can be displayed to users. If no description is available, it may be omitted. It is recommended that descriptions be short paragraphs, with the first line providing a concise summary. The last line in the description should end with a period (.).

sourceType

String

The class name of the source that contributed this property. For example, if the property were from a class annotated with @ConfigurationProperties, this attribute would contain the fully qualified name of that class. If the source type is unknown, it may be omitted.

defaultValue

Object

The default value, which is used if the property is not specified. If the type of the property is an array, it can be an array of value(s). If the default value is unknown, it may be omitted.

deprecation

Deprecation

Specify whether the property is deprecated. If the field is not deprecated or if that information is not known, it may be omitted. The next table offers more detail about the deprecation attribute.

The JSON object contained in the deprecation attribute of each properties element can contain the following attributes:

Name Type Purpose

level

String

The level of deprecation, which can be either warning (the default) or error. When a property has a warning deprecation level, it should still be bound in the environment. However, when it has an error deprecation level, the property is no longer managed and is not bound.

reason

String

A short description of the reason why the property was deprecated. If no reason is available, it may be omitted. It is recommended that descriptions be short paragraphs, with the first line providing a concise summary. The last line in the description should end with a period (.).

replacement

String

The full name of the property that replaces this deprecated property. If there is no replacement for this property, it may be omitted.

Prior to Spring Boot 1.3, a single deprecated boolean attribute can be used instead of the deprecation element. This is still supported in a deprecated fashion and should no longer be used. If no reason and replacement are available, an empty deprecation object should be set.

Deprecation can also be specified declaratively in code by adding the @DeprecatedConfigurationProperty annotation to the getter exposing the deprecated property. For instance, assume that the app.acme.target property was confusing and was renamed to app.acme.name. The following example shows how to handle that situation:

@ConfigurationProperties("app.acme")
public class AcmeProperties {

    private String name;

    public String getName() { ... }

    public void setName(String name) { ... }

    @DeprecatedConfigurationProperty(replacement = "app.acme.name")
    @Deprecated
    public String getTarget() {
        return getName();
    }

    @Deprecated
    public void setTarget(String target) {
        setName(target);
    }
}
There is no way to set a level. warning is always assumed, since code is still handling the property.

The preceding code makes sure that the deprecated property still works (delegating to the name property behind the scenes). Once the getTarget and setTarget methods can be removed from your public API, the automatic deprecation hint in the metadata goes away as well. If you want to keep a hint, adding manual metadata with an error deprecation level ensures that users are still informed about that property. Doing so is particularly useful when a replacement is provided.

Hint Attributes

The JSON object contained in the hints array can contain the attributes shown in the following table:

Name Type Purpose

name

String

The full name of the property to which this hint refers. Names are in lower-case period-separated form (such as spring.mvc.servlet.path). If the property refers to a map (such as system.contexts), the hint either applies to the keys of the map (system.context.keys) or the values (system.context.values) of the map. This attribute is mandatory.

values

ValueHint[]

A list of valid values as defined by the ValueHint object (described in the next table). Each entry defines the value and may have a description.

providers

ValueProvider[]

A list of providers as defined by the ValueProvider object (described later in this document). Each entry defines the name of the provider and its parameters, if any.

The JSON object contained in the values attribute of each hint element can contain the attributes described in the following table:

Name Type Purpose

value

Object

A valid value for the element to which the hint refers. If the type of the property is an array, it can also be an array of value(s). This attribute is mandatory.

description

String

A short description of the value that can be displayed to users. If no description is available, it may be omitted . It is recommended that descriptions be short paragraphs, with the first line providing a concise summary. The last line in the description should end with a period (.).

The JSON object contained in the providers attribute of each hint element can contain the attributes described in the following table:

Name Type Purpose

name

String

The name of the provider to use to offer additional content assistance for the element to which the hint refers.

parameters

JSON object

Any additional parameter that the provider supports (check the documentation of the provider for more details).

Repeated Metadata Items

Objects with the same “property” and “group” name can appear multiple times within a metadata file. For example, you could bind two separate classes to the same prefix, with each having potentially overlapping property names. While the same names appearing in the metadata multiple times should not be common, consumers of metadata should take care to ensure that they support it.

Providing Manual Hints

To improve the user experience and further assist the user in configuring a given property, you can provide additional metadata that:

  • Describes the list of potential values for a property.

  • Associates a provider, to attach a well defined semantic to a property, so that a tool can discover the list of potential values based on the project’s context.

Value Hint

The name attribute of each hint refers to the name of a property. In the initial example shown earlier, we provide five values for the spring.jpa.hibernate.ddl-auto property: none, validate, update, create, and create-drop. Each value may have a description as well.

If your property is of type Map, you can provide hints for both the keys and the values (but not for the map itself). The special .keys and .values suffixes must refer to the keys and the values, respectively.

Assume a sample.contexts maps magic String values to an integer, as shown in the following example:

@ConfigurationProperties("sample")
public class SampleProperties {

    private Map<String,Integer> contexts;
    // getters and setters
}

The magic values are (in this example) are sample1 and sample2. In order to offer additional content assistance for the keys, you could add the following JSON to the manual metadata of the module:

{"hints": [
    {
        "name": "sample.contexts.keys",
        "values": [
            {
                "value": "sample1"
            },
            {
                "value": "sample2"
            }
        ]
    }
]}
We recommend that you use an Enum for those two values instead. If your IDE supports it, this is by far the most effective approach to auto-completion.

Value Providers

Providers are a powerful way to attach semantics to a property. In this section, we define the official providers that you can use for your own hints. However, your favorite IDE may implement some of these or none of them. Also, it could eventually provide its own.

As this is a new feature, IDE vendors must catch up with how it works. Adoption times naturally vary.

The following table summarizes the list of supported providers:

Name Description

any

Permits any additional value to be provided.

class-reference

Auto-completes the classes available in the project. Usually constrained by a base class that is specified by the target parameter.

handle-as

Handles the property as if it were defined by the type defined by the mandatory target parameter.

logger-name

Auto-completes valid logger names and logger groups. Typically, package and class names available in the current project can be auto-completed as well as defined groups.

spring-bean-reference

Auto-completes the available bean names in the current project. Usually constrained by a base class that is specified by the target parameter.

spring-profile-name

Auto-completes the available Spring profile names in the project.

Only one provider can be active for a given property, but you can specify several providers if they can all manage the property in some way. Make sure to place the most powerful provider first, as the IDE must use the first one in the JSON section that it can handle. If no provider for a given property is supported, no special content assistance is provided, either.
Any

The special any provider value permits any additional values to be provided. Regular value validation based on the property type should be applied if this is supported.

This provider is typically used if you have a list of values and any extra values should still be considered as valid.

The following example offers on and off as auto-completion values for system.state:

{"hints": [
    {
        "name": "system.state",
        "values": [
            {
                "value": "on"
            },
            {
                "value": "off"
            }
        ],
        "providers": [
            {
                "name": "any"
            }
        ]
    }
]}

Note that, in the preceding example, any other value is also allowed.

Class Reference

The class-reference provider auto-completes classes available in the project. This provider supports the following parameters:

Parameter Type Default value Description

target

String (Class)

none

The fully qualified name of the class that should be assignable to the chosen value. Typically used to filter out-non candidate classes. Note that this information can be provided by the type itself by exposing a class with the appropriate upper bound.

concrete

boolean

true

Specify whether only concrete classes are to be considered as valid candidates.

The following metadata snippet corresponds to the standard server.servlet.jsp.class-name property that defines the JspServlet class name to use:

{"hints": [
    {
        "name": "server.servlet.jsp.class-name",
        "providers": [
            {
                "name": "class-reference",
                "parameters": {
                    "target": "javax.servlet.http.HttpServlet"
                }
            }
        ]
    }
]}
Handle As

The handle-as provider lets you substitute the type of the property to a more high-level type. This typically happens when the property has a java.lang.String type, because you do not want your configuration classes to rely on classes that may not be on the classpath. This provider supports the following parameters:

Parameter Type Default value Description

target

String (Class)

none

The fully qualified name of the type to consider for the property. This parameter is mandatory.

The following types can be used:

  • Any java.lang.Enum: Lists the possible values for the property. (We recommend defining the property with the Enum type, as no further hint should be required for the IDE to auto-complete the values.)

  • java.nio.charset.Charset: Supports auto-completion of charset/encoding values (such as UTF-8)

  • java.util.Locale: auto-completion of locales (such as en_US)

  • org.springframework.util.MimeType: Supports auto-completion of content type values (such as text/plain)

  • org.springframework.core.io.Resource: Supports auto-completion of Spring’s Resource abstraction to refer to a file on the filesystem or on the classpath. (such as classpath:/sample.properties)

If multiple values can be provided, use a Collection or Array type to teach the IDE about it.

The following metadata snippet corresponds to the standard spring.liquibase.change-log property that defines the path to the changelog to use. It is actually used internally as a org.springframework.core.io.Resource but cannot be exposed as such, because we need to keep the original String value to pass it to the Liquibase API.

{"hints": [
    {
        "name": "spring.liquibase.change-log",
        "providers": [
            {
                "name": "handle-as",
                "parameters": {
                    "target": "org.springframework.core.io.Resource"
                }
            }
        ]
    }
]}
Logger Name

The logger-name provider auto-completes valid logger names and logger groups. Typically, package and class names available in the current project can be auto-completed. If groups are enabled (default) and if a custom logger group is identified in the configuration, auto-completion for it should be provided. Specific frameworks may have extra magic logger names that can be supported as well.

This provider supports the following parameters:

Parameter Type Default value Description

group

boolean

true

Specify whether known groups should be considered.

Since a logger name can be any arbitrary name, this provider should allow any value but could highlight valid package and class names that are not available in the project’s classpath.

The following metadata snippet corresponds to the standard logging.level property. Keys are logger names, and values correspond to the standard log levels or any custom level. As Spring Boot defines a few logger groups out-of-the-box, dedicated value hints have been added for those.

{"hints": [
    {
        "name": "logging.level.keys",
        "values": [
            {
                "value": "root",
                "description": "Root logger used to assign the default logging level."
            },
            {
                "value": "sql",
                "description": "SQL logging group including Hibernate SQL logger."
            },
            {
                "value": "web",
                "description": "Web logging group including codecs."
            }
        ],
        "providers": [
            {
                "name": "logger-name"
            }
        ]
    },
    {
        "name": "logging.level.values",
        "values": [
            {
                "value": "trace"
            },
            {
                "value": "debug"
            },
            {
                "value": "info"
            },
            {
                "value": "warn"
            },
            {
                "value": "error"
            },
            {
                "value": "fatal"
            },
            {
                "value": "off"
            }

        ],
        "providers": [
            {
                "name": "any"
            }
        ]
    }
]}
Spring Bean Reference

The spring-bean-reference provider auto-completes the beans that are defined in the configuration of the current project. This provider supports the following parameters:

Parameter Type Default value Description

target

String (Class)

none

The fully qualified name of the bean class that should be assignable to the candidate. Typically used to filter out non-candidate beans.

The following metadata snippet corresponds to the standard spring.jmx.server property that defines the name of the MBeanServer bean to use:

{"hints": [
    {
        "name": "spring.jmx.server",
        "providers": [
            {
                "name": "spring-bean-reference",
                "parameters": {
                    "target": "javax.management.MBeanServer"
                }
            }
        ]
    }
]}
The binder is not aware of the metadata. If you provide that hint, you still need to transform the bean name into an actual Bean reference using by the ApplicationContext.
Spring Profile Name

The spring-profile-name provider auto-completes the Spring profiles that are defined in the configuration of the current project.

The following metadata snippet corresponds to the standard spring.profiles.active property that defines the name of the Spring profile(s) to enable:

{"hints": [
    {
        "name": "spring.profiles.active",
        "providers": [
            {
                "name": "spring-profile-name"
            }
        ]
    }
]}

Generating Your Own Metadata by Using the Annotation Processor

You can easily generate your own configuration metadata file from items annotated with @ConfigurationProperties by using the spring-boot-configuration-processor jar. The jar includes a Java annotation processor which is invoked as your project is compiled. To use the processor, include a dependency on spring-boot-configuration-processor.

With Maven the dependency should be declared as optional, as shown in the following example:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

With Gradle 4.5 and earlier, the dependency should be declared in the compileOnly configuration, as shown in the following example:

dependencies {
    compileOnly "org.springframework.boot:spring-boot-configuration-processor"
}

With Gradle 4.6 and later, the dependency should be declared in the annotationProcessor configuration, as shown in the following example:

dependencies {
    annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
}

If you are using an additional-spring-configuration-metadata.json file, the compileJava task should be configured to depend on the processResources task, as shown in the following example:

compileJava.dependsOn(processResources)

This dependency ensures that the additional metadata is available when the annotation processor runs during compilation.

The processor picks up both classes and methods that are annotated with @ConfigurationProperties. The Javadoc for field values within configuration classes is used to populate the description attribute.

You should only use simple text with @ConfigurationProperties field Javadoc, since they are not processed before being added to the JSON.

If the class has a single constructor with at least one parameters, one property is created per constructor parameter. Otherwise, properties are discovered through the presence of standard getters and setters with special handling for collection types (that is detected even if only a getter is present).

The annotation processor also supports the use of the @Data, @Getter, and @Setter lombok annotations.

If you are using AspectJ in your project, you need to make sure that the annotation processor runs only once. There are several ways to do this. With Maven, you can configure the maven-apt-plugin explicitly and add the dependency to the annotation processor only there. You could also let the AspectJ plugin run all the processing and disable annotation processing in the maven-compiler-plugin configuration, as follows:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <proc>none</proc>
    </configuration>
</plugin>

Nested Properties

The annotation processor automatically considers inner classes as nested properties. Consider the following class:

@ConfigurationProperties(prefix="server")
public class ServerProperties {

    private String name;

    private Host host;

    // ... getter and setters

    public static class Host {

        private String ip;

        private int port;

        // ... getter and setters

    }

}

The preceding example produces metadata information for server.name, server.host.ip, and server.host.port properties. You can use the @NestedConfigurationProperty annotation on a field to indicate that a regular (non-inner) class should be treated as if it were nested.

This has no effect on collections and maps, as those types are automatically identified, and a single metadata property is generated for each of them.

Adding Additional Metadata

Spring Boot’s configuration file handling is quite flexible, and it is often the case that properties may exist that are not bound to a @ConfigurationProperties bean. You may also need to tune some attributes of an existing key. To support such cases and let you provide custom "hints", the annotation processor automatically merges items from META-INF/additional-spring-configuration-metadata.json into the main metadata file.

If you refer to a property that has been detected automatically, the description, default value, and deprecation information are overridden, if specified. If the manual property declaration is not identified in the current module, it is added as a new property.

The format of the additional-spring-configuration-metadata.json file is exactly the same as the regular spring-configuration-metadata.json. The additional properties file is optional. If you do not have any additional properties, do not add the file.

Appendix C: Auto-configuration classes

Here is a list of all auto-configuration classes provided by Spring Boot, with links to documentation and source code. Remember to also look at the conditions report in your application for more details of which features are switched on. (To do so, start the app with --debug or -Ddebug or, in an Actuator application, use the conditions endpoint).

From the “spring-boot-autoconfigure” module

The following auto-configuration classes are from the spring-boot-autoconfigure module:

Configuration Class Links

ActiveMQAutoConfiguration

javadoc

AopAutoConfiguration

javadoc

ArtemisAutoConfiguration

javadoc

BatchAutoConfiguration

javadoc

CacheAutoConfiguration

javadoc

CassandraAutoConfiguration

javadoc

CassandraDataAutoConfiguration

javadoc

CassandraReactiveDataAutoConfiguration

javadoc

CassandraReactiveRepositoriesAutoConfiguration

javadoc

CassandraRepositoriesAutoConfiguration

javadoc

ClientHttpConnectorAutoConfiguration

javadoc

CloudServiceConnectorsAutoConfiguration

javadoc

CodecsAutoConfiguration

javadoc

ConfigurationPropertiesAutoConfiguration

javadoc

CouchbaseAutoConfiguration

javadoc

CouchbaseDataAutoConfiguration

javadoc

CouchbaseReactiveDataAutoConfiguration

javadoc

CouchbaseReactiveRepositoriesAutoConfiguration

javadoc

CouchbaseRepositoriesAutoConfiguration

javadoc

DataSourceAutoConfiguration

javadoc

DataSourceTransactionManagerAutoConfiguration

javadoc

DispatcherServletAutoConfiguration

javadoc

ElasticsearchAutoConfiguration

javadoc

ElasticsearchDataAutoConfiguration

javadoc

ElasticsearchRepositoriesAutoConfiguration

javadoc

EmbeddedLdapAutoConfiguration

javadoc

EmbeddedMongoAutoConfiguration

javadoc

EmbeddedWebServerFactoryCustomizerAutoConfiguration

javadoc

ErrorMvcAutoConfiguration

javadoc

ErrorWebFluxAutoConfiguration

javadoc

FlywayAutoConfiguration

javadoc

FreeMarkerAutoConfiguration

javadoc

GroovyTemplateAutoConfiguration

javadoc

GsonAutoConfiguration

javadoc

H2ConsoleAutoConfiguration

javadoc

HazelcastAutoConfiguration

javadoc

HazelcastJpaDependencyAutoConfiguration

javadoc

HibernateJpaAutoConfiguration

javadoc

HttpEncodingAutoConfiguration

javadoc

HttpHandlerAutoConfiguration

javadoc

HttpMessageConvertersAutoConfiguration

javadoc

HypermediaAutoConfiguration

javadoc

InfluxDbAutoConfiguration

javadoc

IntegrationAutoConfiguration

javadoc

JacksonAutoConfiguration

javadoc

JdbcRepositoriesAutoConfiguration

javadoc

JdbcTemplateAutoConfiguration

javadoc

JerseyAutoConfiguration

javadoc

JestAutoConfiguration

javadoc

JmsAutoConfiguration

javadoc

JmxAutoConfiguration

javadoc

JndiConnectionFactoryAutoConfiguration

javadoc

JndiDataSourceAutoConfiguration

javadoc

JooqAutoConfiguration

javadoc

JpaRepositoriesAutoConfiguration

javadoc

JsonbAutoConfiguration

javadoc

JtaAutoConfiguration

javadoc

KafkaAutoConfiguration

javadoc

LdapAutoConfiguration

javadoc

LdapRepositoriesAutoConfiguration

javadoc

LiquibaseAutoConfiguration

javadoc

MailSenderAutoConfiguration

javadoc

MailSenderValidatorAutoConfiguration

javadoc

MessageSourceAutoConfiguration

javadoc

MongoAutoConfiguration

javadoc

MongoDataAutoConfiguration

javadoc

MongoReactiveAutoConfiguration

javadoc

MongoReactiveDataAutoConfiguration

javadoc

MongoReactiveRepositoriesAutoConfiguration

javadoc

MongoRepositoriesAutoConfiguration

javadoc

MultipartAutoConfiguration

javadoc

MustacheAutoConfiguration

javadoc

Neo4jDataAutoConfiguration

javadoc

Neo4jRepositoriesAutoConfiguration

javadoc

OAuth2ClientAutoConfiguration

javadoc

OAuth2ResourceServerAutoConfiguration

javadoc

PersistenceExceptionTranslationAutoConfiguration

javadoc

ProjectInfoAutoConfiguration

javadoc

PropertyPlaceholderAutoConfiguration

javadoc

QuartzAutoConfiguration

javadoc

RSocketMessagingAutoConfiguration

javadoc

RSocketServerAutoConfiguration

javadoc

RSocketStrategiesAutoConfiguration

javadoc

RabbitAutoConfiguration

javadoc

ReactiveOAuth2ClientAutoConfiguration

javadoc

ReactiveOAuth2ResourceServerAutoConfiguration

javadoc

ReactiveSecurityAutoConfiguration

javadoc

ReactiveUserDetailsServiceAutoConfiguration

javadoc

ReactiveWebServerFactoryAutoConfiguration

javadoc

ReactorCoreAutoConfiguration

javadoc

RedisAutoConfiguration

javadoc

RedisReactiveAutoConfiguration

javadoc

RedisRepositoriesAutoConfiguration

javadoc

RepositoryRestMvcAutoConfiguration

javadoc

RestClientAutoConfiguration

javadoc

RestTemplateAutoConfiguration

javadoc

SecurityAutoConfiguration

javadoc

SecurityFilterAutoConfiguration

javadoc

SecurityRequestMatcherProviderAutoConfiguration

javadoc

SendGridAutoConfiguration

javadoc

ServletWebServerFactoryAutoConfiguration

javadoc

SessionAutoConfiguration

javadoc

SolrAutoConfiguration

javadoc

SolrRepositoriesAutoConfiguration

javadoc

SpringApplicationAdminJmxAutoConfiguration

javadoc

SpringDataWebAutoConfiguration

javadoc

TaskExecutionAutoConfiguration

javadoc

TaskSchedulingAutoConfiguration

javadoc

ThymeleafAutoConfiguration

javadoc

TransactionAutoConfiguration

javadoc

UserDetailsServiceAutoConfiguration

javadoc

ValidationAutoConfiguration

javadoc

WebClientAutoConfiguration

javadoc

WebFluxAutoConfiguration

javadoc

WebMvcAutoConfiguration

javadoc

WebServiceTemplateAutoConfiguration

javadoc

WebServicesAutoConfiguration

javadoc

WebSocketMessagingAutoConfiguration

javadoc

WebSocketReactiveAutoConfiguration

javadoc

WebSocketServletAutoConfiguration

javadoc

XADataSourceAutoConfiguration

javadoc

From the “spring-boot-actuator-autoconfigure” module

The following auto-configuration classes are from the spring-boot-actuator-autoconfigure module:

Configuration Class Links

AppOpticsMetricsExportAutoConfiguration

javadoc

AtlasMetricsExportAutoConfiguration

javadoc

AuditAutoConfiguration

javadoc

AuditEventsEndpointAutoConfiguration

javadoc

BeansEndpointAutoConfiguration

javadoc

CacheMetricsAutoConfiguration

javadoc

CachesEndpointAutoConfiguration

javadoc

CassandraHealthIndicatorAutoConfiguration

javadoc

CassandraReactiveHealthIndicatorAutoConfiguration

javadoc

CloudFoundryActuatorAutoConfiguration

javadoc

CompositeMeterRegistryAutoConfiguration

javadoc

ConditionsReportEndpointAutoConfiguration

javadoc

ConfigurationPropertiesReportEndpointAutoConfiguration

javadoc

CouchbaseHealthIndicatorAutoConfiguration

javadoc

CouchbaseReactiveHealthIndicatorAutoConfiguration

javadoc

DataSourceHealthIndicatorAutoConfiguration

javadoc

DataSourcePoolMetricsAutoConfiguration

javadoc

DatadogMetricsExportAutoConfiguration

javadoc

DiskSpaceHealthIndicatorAutoConfiguration

javadoc

DynatraceMetricsExportAutoConfiguration

javadoc

ElasticMetricsExportAutoConfiguration

javadoc

ElasticSearchClientHealthIndicatorAutoConfiguration

javadoc

ElasticSearchJestHealthIndicatorAutoConfiguration

javadoc

ElasticSearchRestHealthIndicatorAutoConfiguration

javadoc

EndpointAutoConfiguration

javadoc

EnvironmentEndpointAutoConfiguration

javadoc

FlywayEndpointAutoConfiguration

javadoc

GangliaMetricsExportAutoConfiguration

javadoc

GraphiteMetricsExportAutoConfiguration

javadoc

HealthEndpointAutoConfiguration

javadoc

HealthIndicatorAutoConfiguration

javadoc

HeapDumpWebEndpointAutoConfiguration

javadoc

HibernateMetricsAutoConfiguration

javadoc

HttpClientMetricsAutoConfiguration

javadoc

HttpTraceAutoConfiguration

javadoc

HttpTraceEndpointAutoConfiguration

javadoc

HumioMetricsExportAutoConfiguration

javadoc

InfluxDbHealthIndicatorAutoConfiguration

javadoc

InfluxMetricsExportAutoConfiguration

javadoc

InfoContributorAutoConfiguration

javadoc

InfoEndpointAutoConfiguration

javadoc

IntegrationGraphEndpointAutoConfiguration

javadoc

JerseyServerMetricsAutoConfiguration

javadoc

JettyMetricsAutoConfiguration

javadoc

JmsHealthIndicatorAutoConfiguration

javadoc

JmxEndpointAutoConfiguration

javadoc

JmxMetricsExportAutoConfiguration

javadoc

JolokiaEndpointAutoConfiguration

javadoc

JvmMetricsAutoConfiguration

javadoc

KafkaMetricsAutoConfiguration

javadoc

KairosMetricsExportAutoConfiguration

javadoc

LdapHealthIndicatorAutoConfiguration

javadoc

LiquibaseEndpointAutoConfiguration

javadoc

Log4J2MetricsAutoConfiguration

javadoc

LogFileWebEndpointAutoConfiguration

javadoc

LogbackMetricsAutoConfiguration

javadoc

LoggersEndpointAutoConfiguration

javadoc

MailHealthIndicatorAutoConfiguration

javadoc

ManagementContextAutoConfiguration

javadoc

ManagementWebSecurityAutoConfiguration

javadoc

MappingsEndpointAutoConfiguration

javadoc

MetricsAutoConfiguration

javadoc

MetricsEndpointAutoConfiguration

javadoc

MongoHealthIndicatorAutoConfiguration

javadoc

MongoReactiveHealthIndicatorAutoConfiguration

javadoc

Neo4jHealthIndicatorAutoConfiguration

javadoc

NewRelicMetricsExportAutoConfiguration

javadoc

PrometheusMetricsExportAutoConfiguration

javadoc

RabbitHealthIndicatorAutoConfiguration

javadoc

RabbitMetricsAutoConfiguration

javadoc

ReactiveCloudFoundryActuatorAutoConfiguration

javadoc

ReactiveManagementContextAutoConfiguration

javadoc

ReactiveManagementWebSecurityAutoConfiguration

javadoc

RedisHealthIndicatorAutoConfiguration

javadoc

RedisReactiveHealthIndicatorAutoConfiguration

javadoc

ScheduledTasksEndpointAutoConfiguration

javadoc

ServletManagementContextAutoConfiguration

javadoc

SessionsEndpointAutoConfiguration

javadoc

ShutdownEndpointAutoConfiguration

javadoc

SignalFxMetricsExportAutoConfiguration

javadoc

SimpleMetricsExportAutoConfiguration

javadoc

SolrHealthIndicatorAutoConfiguration

javadoc

StatsdMetricsExportAutoConfiguration

javadoc

SystemMetricsAutoConfiguration

javadoc

ThreadDumpEndpointAutoConfiguration

javadoc

TomcatMetricsAutoConfiguration

javadoc

WavefrontMetricsExportAutoConfiguration

javadoc

WebEndpointAutoConfiguration

javadoc

WebFluxMetricsAutoConfiguration

javadoc

WebMvcMetricsAutoConfiguration

javadoc

Appendix D: Test Auto-configuration Annotations

The following table lists the various @…Test annotations that can be used to test slices of your application and the auto-configuration that they import by default:

Test slice Imported auto-configuration

@DataJdbcTest

org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration org.springframework.boot.test.autoconfigure.jdbc.TestDatabaseAutoConfiguration

@DataJpaTest

org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration org.springframework.boot.test.autoconfigure.jdbc.TestDatabaseAutoConfiguration org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManagerAutoConfiguration

@DataLdapTest

org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration org.springframework.boot.autoconfigure.data.ldap.LdapRepositoriesAutoConfiguration org.springframework.boot.autoconfigure.ldap.LdapAutoConfiguration org.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration

@DataMongoTest

org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration org.springframework.boot.autoconfigure.data.mongo.MongoReactiveRepositoriesAutoConfiguration org.springframework.boot.autoconfigure.data.mongo.MongoRepositoriesAutoConfiguration org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration

@DataNeo4jTest

org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration org.springframework.boot.autoconfigure.data.neo4j.Neo4jRepositoriesAutoConfiguration org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration

@DataRedisTest

org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration

@JdbcTest

org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration org.springframework.boot.test.autoconfigure.jdbc.TestDatabaseAutoConfiguration

@JooqTest

org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration

@JsonTest

org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration org.springframework.boot.test.autoconfigure.json.JsonTestersAutoConfiguration

@RestClientTest

org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerAutoConfiguration org.springframework.boot.test.autoconfigure.web.client.WebClientRestTemplateAutoConfiguration

@WebFluxTest

org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration org.springframework.boot.autoconfigure.web.reactive.error.ErrorWebFluxAutoConfiguration org.springframework.boot.test.autoconfigure.web.reactive.WebTestClientAutoConfiguration

@WebMvcTest

org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration org.springframework.boot.autoconfigure.hateoas.HypermediaAutoConfiguration org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration org.springframework.boot.test.autoconfigure.web.servlet.MockMvcAutoConfiguration org.springframework.boot.test.autoconfigure.web.servlet.MockMvcSecurityConfiguration org.springframework.boot.test.autoconfigure.web.servlet.MockMvcWebClientAutoConfiguration org.springframework.boot.test.autoconfigure.web.servlet.MockMvcWebDriverAutoConfiguration

Appendix E: The Executable Jar Format

The spring-boot-loader modules lets Spring Boot support executable jar and war files. If you use the Maven plugin or the Gradle plugin, executable jars are automatically generated, and you generally do not need to know the details of how they work.

If you need to create executable jars from a different build system or if you are just curious about the underlying technology, this section provides some background.

Nested JARs

Java does not provide any standard way to load nested jar files (that is, jar files that are themselves contained within a jar). This can be problematic if you need to distribute a self-contained application that can be run from the command line without unpacking.

To solve this problem, many developers use “shaded” jars. A shaded jar packages all classes, from all jars, into a single “uber jar”. The problem with shaded jars is that it becomes hard to see which libraries are actually in your application. It can also be problematic if the same filename is used (but with different content) in multiple jars. Spring Boot takes a different approach and lets you actually nest jars directly.

The Executable Jar File Structure

Spring Boot Loader-compatible jar files should be structured in the following way:

example.jar
 |
 +-META-INF
 |  +-MANIFEST.MF
 +-org
 |  +-springframework
 |     +-boot
 |        +-loader
 |           +-<spring boot loader classes>
 +-BOOT-INF
    +-classes
    |  +-mycompany
    |     +-project
    |        +-YourClasses.class
    +-lib
       +-dependency1.jar
       +-dependency2.jar

Application classes should be placed in a nested BOOT-INF/classes directory. Dependencies should be placed in a nested BOOT-INF/lib directory.

The Executable War File Structure

Spring Boot Loader-compatible war files should be structured in the following way:

example.war
 |
 +-META-INF
 |  +-MANIFEST.MF
 +-org
 |  +-springframework
 |     +-boot
 |        +-loader
 |           +-<spring boot loader classes>
 +-WEB-INF
    +-classes
    |  +-com
    |     +-mycompany
    |        +-project
    |           +-YourClasses.class
    +-lib
    |  +-dependency1.jar
    |  +-dependency2.jar
    +-lib-provided
       +-servlet-api.jar
       +-dependency3.jar

Dependencies should be placed in a nested WEB-INF/lib directory. Any dependencies that are required when running embedded but are not required when deploying to a traditional web container should be placed in WEB-INF/lib-provided.

Spring Boot’s “JarFile” Class

The core class used to support loading nested jars is org.springframework.boot.loader.jar.JarFile. It lets you load jar content from a standard jar file or from nested child jar data. When first loaded, the location of each JarEntry is mapped to a physical file offset of the outer jar, as shown in the following example:

myapp.jar
+-------------------+-------------------------+
| /BOOT-INF/classes | /BOOT-INF/lib/mylib.jar |
|+-----------------+||+-----------+----------+|
||     A.class      |||  B.class  |  C.class ||
|+-----------------+||+-----------+----------+|
+-------------------+-------------------------+
 ^                    ^           ^
 0063                 3452        3980

The preceding example shows how A.class can be found in /BOOT-INF/classes in myapp.jar at position 0063. B.class from the nested jar can actually be found in myapp.jar at position 3452, and C.class is at position 3980.

Armed with this information, we can load specific nested entries by seeking to the appropriate part of the outer jar. We do not need to unpack the archive, and we do not need to read all entry data into memory.

Compatibility with the Standard Java “JarFile”

Spring Boot Loader strives to remain compatible with existing code and libraries. org.springframework.boot.loader.jar.JarFile extends from java.util.jar.JarFile and should work as a drop-in replacement. The getURL() method returns a URL that opens a connection compatible with java.net.JarURLConnection and can be used with Java’s URLClassLoader.

Launching Executable Jars

The org.springframework.boot.loader.Launcher class is a special bootstrap class that is used as an executable jar’s main entry point. It is the actual Main-Class in your jar file, and it is used to setup an appropriate URLClassLoader and ultimately call your main() method.

There are three launcher subclasses (JarLauncher, WarLauncher, and PropertiesLauncher). Their purpose is to load resources (.class files and so on.) from nested jar files or war files in directories (as opposed to those explicitly on the classpath). In the case of JarLauncher and WarLauncher, the nested paths are fixed. JarLauncher looks in BOOT-INF/lib/, and WarLauncher looks in WEB-INF/lib/ and WEB-INF/lib-provided/. You can add extra jars in those locations if you want more. The PropertiesLauncher looks in BOOT-INF/lib/ in your application archive by default, but you can add additional locations by setting an environment variable called LOADER_PATH or loader.path in loader.properties (which is a comma-separated list of directories, archives, or directories within archives).

Launcher Manifest

You need to specify an appropriate Launcher as the Main-Class attribute of META-INF/MANIFEST.MF. The actual class that you want to launch (that is, the class that contains a main method) should be specified in the Start-Class attribute.

The following example shows a typical MANIFEST.MF for an executable jar file:

Main-Class: org.springframework.boot.loader.JarLauncher
Start-Class: com.mycompany.project.MyApplication

For a war file, it would be as follows:

Main-Class: org.springframework.boot.loader.WarLauncher
Start-Class: com.mycompany.project.MyApplication
You need not specify Class-Path entries in your manifest file. The classpath is deduced from the nested jars.

Exploded Archives

Certain PaaS implementations may choose to unpack archives before they run. For example, Cloud Foundry operates this way. You can run an unpacked archive by starting the appropriate launcher, as follows:

$ unzip -q myapp.jar
$ java org.springframework.boot.loader.JarLauncher

PropertiesLauncher Features

PropertiesLauncher has a few special features that can be enabled with external properties (System properties, environment variables, manifest entries, or loader.properties). The following table describes these properties:

Key Purpose

loader.path

Comma-separated Classpath, such as lib,${HOME}/app/lib. Earlier entries take precedence, like a regular -classpath on the javac command line.

loader.home

Used to resolve relative paths in loader.path. For example, given loader.path=lib, then ${loader.home}/lib is a classpath location (along with all jar files in that directory). This property is also used to locate a loader.properties file, as in the following example /opt/app It defaults to ${user.dir}.

loader.args

Default arguments for the main method (space separated).

loader.main

Name of main class to launch (for example, com.app.Application).

loader.config.name

Name of properties file (for example, launcher) It defaults to loader.

loader.config.location

Path to properties file (for example, classpath:loader.properties). It defaults to loader.properties.

loader.system

Boolean flag to indicate that all properties should be added to System properties It defaults to false.

When specified as environment variables or manifest entries, the following names should be used:

Key Manifest entry Environment variable

loader.path

Loader-Path

LOADER_PATH

loader.home

Loader-Home

LOADER_HOME

loader.args

Loader-Args

LOADER_ARGS

loader.main

Start-Class

LOADER_MAIN

loader.config.location

Loader-Config-Location

LOADER_CONFIG_LOCATION

loader.system

Loader-System

LOADER_SYSTEM

Build plugins automatically move the Main-Class attribute to Start-Class when the fat jar is built. If you use that, specify the name of the class to launch by using the Main-Class attribute and leaving out Start-Class.

The following rules apply to working with PropertiesLauncher:

  • loader.properties is searched for in loader.home, then in the root of the classpath, and then in classpath:/BOOT-INF/classes. The first location where a file with that name exists is used.

  • loader.home is the directory location of an additional properties file (overriding the default) only when loader.config.location is not specified.

  • loader.path can contain directories (which are scanned recursively for jar and zip files), archive paths, a directory within an archive that is scanned for jar files (for example, dependencies.jar!/lib), or wildcard patterns (for the default JVM behavior). Archive paths can be relative to loader.home or anywhere in the file system with a jar:file: prefix.

  • loader.path (if empty) defaults to BOOT-INF/lib (meaning a local directory or a nested one if running from an archive). Because of this, PropertiesLauncher behaves the same as JarLauncher when no additional configuration is provided.

  • loader.path can not be used to configure the location of loader.properties (the classpath used to search for the latter is the JVM classpath when PropertiesLauncher is launched).

  • Placeholder replacement is done from System and environment variables plus the properties file itself on all values before use.

  • The search order for properties (where it makes sense to look in more than one place) is environment variables, system properties, loader.properties, the exploded archive manifest, and the archive manifest.

Executable Jar Restrictions

You need to consider the following restrictions when working with a Spring Boot Loader packaged application:

  • Zip entry compression: The ZipEntry for a nested jar must be saved by using the ZipEntry.STORED method. This is required so that we can seek directly to individual content within the nested jar. The content of the nested jar file itself can still be compressed, as can any other entries in the outer jar.

  • System classLoader: Launched applications should use Thread.getContextClassLoader() when loading classes (most libraries and frameworks do so by default). Trying to load nested jar classes with ClassLoader.getSystemClassLoader() fails. java.util.Logging always uses the system classloader. For this reason, you should consider a different logging implementation.

Alternative Single Jar Solutions

If the preceding restrictions mean that you cannot use Spring Boot Loader, consider the following alternatives:

Appendix F: Dependency versions

The following table provides details of all of the dependency versions that are provided by Spring Boot in its CLI (Command Line Interface), Maven dependency management, and Gradle plugin. When you declare a dependency on one of these artifacts without declaring a version, the version listed in the table is used.

Group ID Artifact ID Version

antlr

antlr

2.7.7

ch.qos.logback

logback-access

1.2.3

ch.qos.logback

logback-classic

1.2.3

ch.qos.logback

logback-core

1.2.3

com.atomikos

transactions-jdbc

4.0.6

com.atomikos

transactions-jms

4.0.6

com.atomikos

transactions-jta

4.0.6

com.couchbase.client

couchbase-spring-cache

2.1.0

com.couchbase.client

java-client

2.7.4

com.datastax.cassandra

cassandra-driver-core

3.7.1

com.datastax.cassandra

cassandra-driver-mapping

3.7.1

com.fasterxml

classmate

1.5.0

com.fasterxml.jackson.core

jackson-annotations

2.9.0

com.fasterxml.jackson.core

jackson-core

2.9.8

com.fasterxml.jackson.core

jackson-databind

2.9.8

com.fasterxml.jackson.dataformat

jackson-dataformat-avro

2.9.8

com.fasterxml.jackson.dataformat

jackson-dataformat-cbor

2.9.8

com.fasterxml.jackson.dataformat

jackson-dataformat-csv

2.9.8

com.fasterxml.jackson.dataformat

jackson-dataformat-ion

2.9.8

com.fasterxml.jackson.dataformat

jackson-dataformat-properties

2.9.8

com.fasterxml.jackson.dataformat

jackson-dataformat-protobuf

2.9.8

com.fasterxml.jackson.dataformat

jackson-dataformat-smile

2.9.8

com.fasterxml.jackson.dataformat

jackson-dataformat-xml

2.9.8

com.fasterxml.jackson.dataformat

jackson-dataformat-yaml

2.9.8

com.fasterxml.jackson.datatype

jackson-datatype-guava

2.9.8

com.fasterxml.jackson.datatype

jackson-datatype-hibernate3

2.9.8

com.fasterxml.jackson.datatype

jackson-datatype-hibernate4

2.9.8

com.fasterxml.jackson.datatype

jackson-datatype-hibernate5

2.9.8

com.fasterxml.jackson.datatype

jackson-datatype-hppc

2.9.8

com.fasterxml.jackson.datatype

jackson-datatype-jaxrs

2.9.8

com.fasterxml.jackson.datatype

jackson-datatype-jdk8

2.9.8

com.fasterxml.jackson.datatype

jackson-datatype-joda

2.9.8

com.fasterxml.jackson.datatype

jackson-datatype-json-org

2.9.8

com.fasterxml.jackson.datatype

jackson-datatype-jsr310

2.9.8

com.fasterxml.jackson.datatype

jackson-datatype-jsr353

2.9.8

com.fasterxml.jackson.datatype

jackson-datatype-pcollections

2.9.8

com.fasterxml.jackson.jaxrs

jackson-jaxrs-base

2.9.8

com.fasterxml.jackson.jaxrs

jackson-jaxrs-cbor-provider

2.9.8

com.fasterxml.jackson.jaxrs

jackson-jaxrs-json-provider

2.9.8

com.fasterxml.jackson.jaxrs

jackson-jaxrs-smile-provider

2.9.8

com.fasterxml.jackson.jaxrs

jackson-jaxrs-xml-provider

2.9.8

com.fasterxml.jackson.jaxrs

jackson-jaxrs-yaml-provider

2.9.8

com.fasterxml.jackson.jr

jackson-jr-all

2.9.8

com.fasterxml.jackson.jr

jackson-jr-objects

2.9.8

com.fasterxml.jackson.jr

jackson-jr-retrofit2

2.9.8

com.fasterxml.jackson.jr

jackson-jr-stree

2.9.8

com.fasterxml.jackson.module

jackson-module-afterburner

2.9.8

com.fasterxml.jackson.module

jackson-module-guice

2.9.8

com.fasterxml.jackson.module

jackson-module-jaxb-annotations

2.9.8

com.fasterxml.jackson.module

jackson-module-jsonSchema

2.9.8

com.fasterxml.jackson.module

jackson-module-kotlin

2.9.8

com.fasterxml.jackson.module

jackson-module-mrbean

2.9.8

com.fasterxml.jackson.module

jackson-module-osgi

2.9.8

com.fasterxml.jackson.module

jackson-module-parameter-names

2.9.8

com.fasterxml.jackson.module

jackson-module-paranamer

2.9.8

com.fasterxml.jackson.module

jackson-module-scala_2.10

2.9.8

com.fasterxml.jackson.module

jackson-module-scala_2.11

2.9.8

com.fasterxml.jackson.module

jackson-module-scala_2.12

2.9.8

com.github.ben-manes.caffeine

caffeine

2.7.0

com.github.ben-manes.caffeine

guava

2.7.0

com.github.ben-manes.caffeine

jcache

2.7.0

com.github.ben-manes.caffeine

simulator

2.7.0

com.github.mxab.thymeleaf.extras

thymeleaf-extras-data-attribute

2.0.1

com.google.appengine

appengine-api-1.0-sdk

1.9.73

com.google.code.gson

gson

2.8.5

com.h2database

h2

1.4.199

com.hazelcast

hazelcast

3.12

com.hazelcast

hazelcast-client

3.12

com.hazelcast

hazelcast-hibernate52

1.3.2

com.hazelcast

hazelcast-hibernate53

1.3.2

com.hazelcast

hazelcast-spring

3.12

com.jayway.jsonpath

json-path

2.4.0

com.jayway.jsonpath

json-path-assert

2.4.0

com.microsoft.sqlserver

mssql-jdbc

6.4.0.jre8

com.querydsl

querydsl-apt

4.2.1

com.querydsl

querydsl-collections

4.2.1

com.querydsl

querydsl-core

4.2.1

com.querydsl

querydsl-jpa

4.2.1

com.querydsl

querydsl-mongodb

4.2.1

com.rabbitmq

amqp-client

5.7.0

com.samskivert

jmustache

1.14

com.sendgrid

sendgrid-java

4.3.0

com.squareup.okhttp3

logging-interceptor

3.14.1

com.squareup.okhttp3

mockwebserver

3.14.1

com.squareup.okhttp3

okcurl

3.14.1

com.squareup.okhttp3

okhttp

3.14.1

com.squareup.okhttp3

okhttp-dnsoverhttps

3.14.1

com.squareup.okhttp3

okhttp-sse

3.14.1

com.squareup.okhttp3

okhttp-testing-support

3.14.1

com.squareup.okhttp3

okhttp-tls

3.14.1

com.squareup.okhttp3

okhttp-urlconnection

3.14.1

com.sun.mail

jakarta.mail

1.6.3

com.sun.xml.messaging.saaj

saaj-impl

1.5.1

com.timgroup

java-statsd-client

3.1.0

com.unboundid

unboundid-ldapsdk

4.0.10

com.zaxxer

HikariCP

3.3.1

commons-codec

commons-codec

1.12

commons-pool

commons-pool

1.6

de.flapdoodle.embed

de.flapdoodle.embed.mongo

2.2.0

io.dropwizard.metrics

metrics-annotation

4.0.5

io.dropwizard.metrics

metrics-core

4.0.5

io.dropwizard.metrics

metrics-ehcache

4.0.5

io.dropwizard.metrics

metrics-graphite

4.0.5

io.dropwizard.metrics

metrics-healthchecks

4.0.5

io.dropwizard.metrics

metrics-httpasyncclient

4.0.5

io.dropwizard.metrics

metrics-jdbi

4.0.5

io.dropwizard.metrics

metrics-jersey2

4.0.5

io.dropwizard.metrics

metrics-jetty9

4.0.5

io.dropwizard.metrics

metrics-jmx

4.0.5

io.dropwizard.metrics

metrics-json

4.0.5

io.dropwizard.metrics

metrics-jvm

4.0.5

io.dropwizard.metrics

metrics-log4j2

4.0.5

io.dropwizard.metrics

metrics-logback

4.0.5

io.dropwizard.metrics

metrics-servlet

4.0.5

io.dropwizard.metrics

metrics-servlets

4.0.5

io.lettuce

lettuce-core

5.1.6.RELEASE

io.micrometer

micrometer-core

1.1.4

io.micrometer

micrometer-jersey2

1.1.4

io.micrometer

micrometer-registry-appoptics

1.1.4

io.micrometer

micrometer-registry-atlas

1.1.4

io.micrometer

micrometer-registry-azure-monitor

1.1.4

io.micrometer

micrometer-registry-cloudwatch

1.1.4

io.micrometer

micrometer-registry-datadog

1.1.4

io.micrometer

micrometer-registry-dynatrace

1.1.4

io.micrometer

micrometer-registry-elastic

1.1.4

io.micrometer

micrometer-registry-ganglia

1.1.4

io.micrometer

micrometer-registry-graphite

1.1.4

io.micrometer

micrometer-registry-humio

1.1.4

io.micrometer

micrometer-registry-influx

1.1.4

io.micrometer

micrometer-registry-jmx

1.1.4

io.micrometer

micrometer-registry-kairos

1.1.4

io.micrometer

micrometer-registry-new-relic

1.1.4

io.micrometer

micrometer-registry-prometheus

1.1.4

io.micrometer

micrometer-registry-signalfx

1.1.4

io.micrometer

micrometer-registry-stackdriver

1.1.4

io.micrometer

micrometer-registry-statsd

1.1.4

io.micrometer

micrometer-registry-wavefront

1.1.4

io.micrometer

micrometer-test

1.1.4

io.netty

netty-all

4.1.34.Final

io.netty

netty-buffer

4.1.34.Final

io.netty

netty-codec

4.1.34.Final

io.netty

netty-codec-dns

4.1.34.Final

io.netty

netty-codec-haproxy

4.1.34.Final

io.netty

netty-codec-http

4.1.34.Final

io.netty

netty-codec-http2

4.1.34.Final

io.netty

netty-codec-memcache

4.1.34.Final

io.netty

netty-codec-mqtt

4.1.34.Final

io.netty

netty-codec-redis

4.1.34.Final

io.netty

netty-codec-smtp

4.1.34.Final

io.netty

netty-codec-socks

4.1.34.Final

io.netty

netty-codec-stomp

4.1.34.Final

io.netty

netty-codec-xml

4.1.34.Final

io.netty

netty-common

4.1.34.Final

io.netty

netty-dev-tools

4.1.34.Final

io.netty

netty-example

4.1.34.Final

io.netty

netty-handler

4.1.34.Final

io.netty

netty-handler-proxy

4.1.34.Final

io.netty

netty-resolver

4.1.34.Final

io.netty

netty-resolver-dns

4.1.34.Final

io.netty

netty-tcnative-boringssl-static

2.0.24.Final

io.netty

netty-transport

4.1.34.Final

io.netty

netty-transport-native-epoll

4.1.34.Final

io.netty

netty-transport-native-kqueue

4.1.34.Final

io.netty

netty-transport-native-unix-common

4.1.34.Final

io.netty

netty-transport-rxtx

4.1.34.Final

io.netty

netty-transport-sctp

4.1.34.Final

io.netty

netty-transport-udt

4.1.34.Final

io.projectreactor

reactor-core

3.2.8.RELEASE

io.projectreactor

reactor-test

3.2.8.RELEASE

io.projectreactor.addons

reactor-adapter

3.2.2.RELEASE

io.projectreactor.addons

reactor-extra

3.2.2.RELEASE

io.projectreactor.addons

reactor-logback

3.2.2.RELEASE

io.projectreactor.kafka

reactor-kafka

1.1.0.RELEASE

io.projectreactor.netty

reactor-netty

0.8.6.RELEASE

io.projectreactor.rabbitmq

reactor-rabbitmq

1.1.0.RELEASE

io.prometheus

simpleclient_pushgateway

0.6.0

io.reactivex

rxjava

1.3.8

io.reactivex

rxjava-reactive-streams

1.2.1

io.reactivex.rxjava2

rxjava

2.2.8

io.rest-assured

json-path

3.3.0

io.rest-assured

json-schema-validator

3.3.0

io.rest-assured

rest-assured

3.3.0

io.rest-assured

scala-support

3.3.0

io.rest-assured

spring-mock-mvc

3.3.0

io.rest-assured

xml-path

3.3.0

io.rsocket

rsocket-core

0.12.1-RC3

io.rsocket

rsocket-load-balancer

0.12.1-RC3

io.rsocket

rsocket-micrometer

0.12.1-RC3

io.rsocket

rsocket-test

0.12.1-RC3

io.rsocket

rsocket-transport-local

0.12.1-RC3

io.rsocket

rsocket-transport-netty

0.12.1-RC3

io.searchbox

jest

6.3.1

io.undertow

undertow-core

2.0.20.Final

io.undertow

undertow-servlet

2.0.20.Final

io.undertow

undertow-websockets-jsr

2.0.20.Final

jakarta.activation

jakarta.activation-api

1.2.1

jakarta.annotation

jakarta.annotation-api

1.3.4

jakarta.jms

jakarta.jms-api

2.0.2

jakarta.json

jakarta.json-api

1.1.5

jakarta.json.bind

jakarta.json.bind-api

1.0.1

jakarta.mail

jakarta.mail-api

1.6.3

jakarta.persistence

jakarta.persistence-api

2.2.2

jakarta.servlet

jakarta.servlet-api

4.0.2

jakarta.servlet.jsp.jstl

jakarta.servlet.jsp.jstl-api

1.2.4

jakarta.transaction

jakarta.transaction-api

1.3.2

jakarta.validation

jakarta.validation-api

2.0.1

jakarta.websocket

jakarta.websocket-api

1.1.1

jakarta.ws.rs

jakarta.ws.rs-api

2.1.5

jakarta.xml.bind

jakarta.xml.bind-api

2.3.2

jakarta.xml.ws

jakarta.xml.ws-api

2.3.2

javax.activation

javax.activation-api

1.2.0

javax.annotation

javax.annotation-api

1.3.2

javax.cache

cache-api

1.1.0

javax.jms

javax.jms-api

2.0.1

javax.json

javax.json-api

1.1.4

javax.json.bind

javax.json.bind-api

1.0

javax.mail

javax.mail-api

1.6.2

javax.money

money-api

1.0.3

javax.persistence

javax.persistence-api

2.2

javax.servlet

javax.servlet-api

4.0.1

javax.servlet

jstl

1.2

javax.transaction

javax.transaction-api

1.3

javax.validation

validation-api

2.0.1.Final

javax.websocket

javax.websocket-api

1.1

javax.xml.bind

jaxb-api

2.3.1

javax.xml.ws

jaxws-api

2.3.1

jaxen

jaxen

1.1.6

joda-time

joda-time

2.10.1

junit

junit

4.12

mysql

mysql-connector-java

8.0.15

net.bytebuddy

byte-buddy

1.9.12

net.bytebuddy

byte-buddy-agent

1.9.12

net.java.dev.jna

jna

4.5.2

net.java.dev.jna

jna-platform

4.5.2

net.sf.ehcache

ehcache

2.10.6

net.sourceforge.htmlunit

htmlunit

2.34.1

net.sourceforge.jtds

jtds

1.3.1

net.sourceforge.nekohtml

nekohtml

1.9.22

nz.net.ultraq.thymeleaf

thymeleaf-layout-dialect

2.4.1

org.apache.activemq

activemq-amqp

5.15.9

org.apache.activemq

activemq-blueprint

5.15.9

org.apache.activemq

activemq-broker

5.15.9

org.apache.activemq

activemq-camel

5.15.9

org.apache.activemq

activemq-client

5.15.9

org.apache.activemq

activemq-console

5.15.9

org.apache.activemq

activemq-http

5.15.9

org.apache.activemq

activemq-jaas

5.15.9

org.apache.activemq

activemq-jdbc-store

5.15.9

org.apache.activemq

activemq-jms-pool

5.15.9

org.apache.activemq

activemq-kahadb-store

5.15.9

org.apache.activemq

activemq-karaf

5.15.9

org.apache.activemq

activemq-leveldb-store

5.15.9

org.apache.activemq

activemq-log4j-appender

5.15.9

org.apache.activemq

activemq-mqtt

5.15.9

org.apache.activemq

activemq-openwire-generator

5.15.9

org.apache.activemq

activemq-openwire-legacy

5.15.9

org.apache.activemq

activemq-osgi

5.15.9

org.apache.activemq

activemq-partition

5.15.9

org.apache.activemq

activemq-pool

5.15.9

org.apache.activemq

activemq-ra

5.15.9

org.apache.activemq

activemq-run

5.15.9

org.apache.activemq

activemq-runtime-config

5.15.9

org.apache.activemq

activemq-shiro

5.15.9

org.apache.activemq

activemq-spring

5.15.9

org.apache.activemq

activemq-stomp

5.15.9

org.apache.activemq

activemq-web

5.15.9

org.apache.activemq

artemis-amqp-protocol

2.7.0

org.apache.activemq

artemis-commons

2.7.0

org.apache.activemq

artemis-core-client

2.7.0

org.apache.activemq

artemis-jms-client

2.7.0

org.apache.activemq

artemis-jms-server

2.7.0

org.apache.activemq

artemis-journal

2.7.0

org.apache.activemq

artemis-selector

2.7.0

org.apache.activemq

artemis-server

2.7.0

org.apache.activemq

artemis-service-extensions

2.7.0

org.apache.commons

commons-dbcp2

2.6.0

org.apache.commons

commons-lang3

3.8.1

org.apache.commons

commons-pool2

2.6.1

org.apache.derby

derby

10.14.2.0

org.apache.httpcomponents

fluent-hc

4.5.8

org.apache.httpcomponents

httpasyncclient

4.1.4

org.apache.httpcomponents

httpclient

4.5.8

org.apache.httpcomponents

httpclient-cache

4.5.8

org.apache.httpcomponents

httpclient-osgi

4.5.8

org.apache.httpcomponents

httpclient-win

4.5.8

org.apache.httpcomponents

httpcore

4.4.11

org.apache.httpcomponents

httpcore-nio

4.4.11

org.apache.httpcomponents

httpmime

4.5.8

org.apache.johnzon

johnzon-core

1.1.11

org.apache.johnzon

johnzon-jaxrs

1.1.11

org.apache.johnzon

johnzon-jsonb

1.1.11

org.apache.johnzon

johnzon-jsonb-extras

1.1.11

org.apache.johnzon

johnzon-jsonschema

1.1.11

org.apache.johnzon

johnzon-mapper

1.1.11

org.apache.johnzon

johnzon-websocket

1.1.11

org.apache.kafka

connect-api

2.2.0

org.apache.kafka

connect-file

2.2.0

org.apache.kafka

connect-json

2.2.0

org.apache.kafka

connect-runtime

2.2.0

org.apache.kafka

connect-transforms

2.2.0

org.apache.kafka

kafka_2.11

2.2.0

org.apache.kafka

kafka_2.12

2.2.0

org.apache.kafka

kafka-clients

2.2.0

org.apache.kafka

kafka-log4j-appender

2.2.0

org.apache.kafka

kafka-streams

2.2.0

org.apache.kafka

kafka-tools

2.2.0

org.apache.logging.log4j

log4j-1.2-api

2.11.2

org.apache.logging.log4j

log4j-api

2.11.2

org.apache.logging.log4j

log4j-cassandra

2.11.2

org.apache.logging.log4j

log4j-core

2.11.2

org.apache.logging.log4j

log4j-couchdb

2.11.2

org.apache.logging.log4j

log4j-flume-ng

2.11.2

org.apache.logging.log4j

log4j-iostreams

2.11.2

org.apache.logging.log4j

log4j-jcl

2.11.2

org.apache.logging.log4j

log4j-jmx-gui

2.11.2

org.apache.logging.log4j

log4j-jpa

2.11.2

org.apache.logging.log4j

log4j-jul

2.11.2

org.apache.logging.log4j

log4j-liquibase

2.11.2

org.apache.logging.log4j

log4j-mongodb2

2.11.2

org.apache.logging.log4j

log4j-mongodb3

2.11.2

org.apache.logging.log4j

log4j-slf4j18-impl

2.11.2

org.apache.logging.log4j

log4j-slf4j-impl

2.11.2

org.apache.logging.log4j

log4j-taglib

2.11.2

org.apache.logging.log4j

log4j-to-slf4j

2.11.2

org.apache.logging.log4j

log4j-web

2.11.2

org.apache.solr

solr-analysis-extras

8.0.0

org.apache.solr

solr-analytics

8.0.0

org.apache.solr

solr-cell

8.0.0

org.apache.solr

solr-clustering

8.0.0

org.apache.solr

solr-core

8.0.0

org.apache.solr

solr-dataimporthandler

8.0.0

org.apache.solr

solr-dataimporthandler-extras

8.0.0

org.apache.solr

solr-langid

8.0.0

org.apache.solr

solr-ltr

8.0.0

org.apache.solr

solr-solrj

8.0.0

org.apache.solr

solr-test-framework

8.0.0

org.apache.solr

solr-velocity

8.0.0

org.apache.tomcat

tomcat-annotations-api

9.0.19

org.apache.tomcat

tomcat-jdbc

9.0.19

org.apache.tomcat

tomcat-jsp-api

9.0.19

org.apache.tomcat.embed

tomcat-embed-core

9.0.19

org.apache.tomcat.embed

tomcat-embed-el

9.0.19

org.apache.tomcat.embed

tomcat-embed-jasper

9.0.19

org.apache.tomcat.embed

tomcat-embed-websocket

9.0.19

org.aspectj

aspectjrt

1.9.3

org.aspectj

aspectjtools

1.9.3

org.aspectj

aspectjweaver

1.9.3

org.assertj

assertj-core

3.12.2

org.codehaus.btm

btm

2.1.4

org.codehaus.groovy

groovy

2.5.6

org.codehaus.groovy

groovy-ant

2.5.6

org.codehaus.groovy

groovy-backports-compat23

2.5.6

org.codehaus.groovy

groovy-bsf

2.5.6

org.codehaus.groovy

groovy-cli-commons

2.5.6

org.codehaus.groovy

groovy-cli-picocli

2.5.6

org.codehaus.groovy

groovy-console

2.5.6

org.codehaus.groovy

groovy-datetime

2.5.6

org.codehaus.groovy

groovy-dateutil

2.5.6

org.codehaus.groovy

groovy-docgenerator

2.5.6

org.codehaus.groovy

groovy-groovydoc

2.5.6

org.codehaus.groovy

groovy-groovysh

2.5.6

org.codehaus.groovy

groovy-jaxb

2.5.6

org.codehaus.groovy

groovy-jmx

2.5.6

org.codehaus.groovy

groovy-json

2.5.6

org.codehaus.groovy

groovy-json-direct

2.5.6

org.codehaus.groovy

groovy-jsr223

2.5.6

org.codehaus.groovy

groovy-macro

2.5.6

org.codehaus.groovy

groovy-nio

2.5.6

org.codehaus.groovy

groovy-servlet

2.5.6

org.codehaus.groovy

groovy-sql

2.5.6

org.codehaus.groovy

groovy-swing

2.5.6

org.codehaus.groovy

groovy-templates

2.5.6

org.codehaus.groovy

groovy-test

2.5.6

org.codehaus.groovy

groovy-test-junit5

2.5.6

org.codehaus.groovy

groovy-testng

2.5.6

org.codehaus.groovy

groovy-xml

2.5.6

org.codehaus.janino

janino

3.0.12

org.eclipse.jetty

apache-jsp

9.4.15.v20190215

org.eclipse.jetty

apache-jstl

9.4.15.v20190215

org.eclipse.jetty

jetty-alpn-client

9.4.15.v20190215

org.eclipse.jetty

jetty-alpn-conscrypt-client

9.4.15.v20190215

org.eclipse.jetty

jetty-alpn-conscrypt-server

9.4.15.v20190215

org.eclipse.jetty

jetty-alpn-java-client

9.4.15.v20190215

org.eclipse.jetty

jetty-alpn-java-server

9.4.15.v20190215

org.eclipse.jetty

jetty-alpn-openjdk8-client

9.4.15.v20190215

org.eclipse.jetty

jetty-alpn-openjdk8-server

9.4.15.v20190215

org.eclipse.jetty

jetty-alpn-server

9.4.15.v20190215

org.eclipse.jetty

jetty-annotations

9.4.15.v20190215

org.eclipse.jetty

jetty-ant

9.4.15.v20190215

org.eclipse.jetty

jetty-client

9.4.15.v20190215

org.eclipse.jetty

jetty-continuation

9.4.15.v20190215

org.eclipse.jetty

jetty-deploy

9.4.15.v20190215

org.eclipse.jetty

jetty-distribution

9.4.15.v20190215

org.eclipse.jetty

jetty-hazelcast

9.4.15.v20190215

org.eclipse.jetty

jetty-home

9.4.15.v20190215

org.eclipse.jetty

jetty-http

9.4.15.v20190215

org.eclipse.jetty

jetty-http-spi

9.4.15.v20190215

org.eclipse.jetty

jetty-infinispan

9.4.15.v20190215

org.eclipse.jetty

jetty-io

9.4.15.v20190215

org.eclipse.jetty

jetty-jaas

9.4.15.v20190215

org.eclipse.jetty

jetty-jaspi

9.4.15.v20190215

org.eclipse.jetty

jetty-jmx

9.4.15.v20190215

org.eclipse.jetty

jetty-jndi

9.4.15.v20190215

org.eclipse.jetty

jetty-nosql

9.4.15.v20190215

org.eclipse.jetty

jetty-plus

9.4.15.v20190215

org.eclipse.jetty

jetty-proxy

9.4.15.v20190215

org.eclipse.jetty

jetty-quickstart

9.4.15.v20190215

org.eclipse.jetty

jetty-reactive-httpclient

1.0.3

org.eclipse.jetty

jetty-rewrite

9.4.15.v20190215

org.eclipse.jetty

jetty-security

9.4.15.v20190215

org.eclipse.jetty

jetty-server

9.4.15.v20190215

org.eclipse.jetty

jetty-servlet

9.4.15.v20190215

org.eclipse.jetty

jetty-servlets

9.4.15.v20190215

org.eclipse.jetty

jetty-spring

9.4.15.v20190215

org.eclipse.jetty

jetty-unixsocket

9.4.15.v20190215

org.eclipse.jetty

jetty-util

9.4.15.v20190215

org.eclipse.jetty

jetty-util-ajax

9.4.15.v20190215

org.eclipse.jetty

jetty-webapp

9.4.15.v20190215

org.eclipse.jetty

jetty-xml

9.4.15.v20190215

org.eclipse.jetty.cdi

cdi-core

9.4.15.v20190215

org.eclipse.jetty.cdi

cdi-servlet

9.4.15.v20190215

org.eclipse.jetty.fcgi

fcgi-client

9.4.15.v20190215

org.eclipse.jetty.fcgi

fcgi-server

9.4.15.v20190215

org.eclipse.jetty.gcloud

jetty-gcloud-session-manager

9.4.15.v20190215

org.eclipse.jetty.http2

http2-client

9.4.15.v20190215

org.eclipse.jetty.http2

http2-common

9.4.15.v20190215

org.eclipse.jetty.http2

http2-hpack

9.4.15.v20190215

org.eclipse.jetty.http2

http2-http-client-transport

9.4.15.v20190215

org.eclipse.jetty.http2

http2-server

9.4.15.v20190215

org.eclipse.jetty.memcached

jetty-memcached-sessions

9.4.15.v20190215

org.eclipse.jetty.orbit

javax.servlet.jsp

2.2.0.v201112011158

org.eclipse.jetty.osgi

jetty-httpservice

9.4.15.v20190215

org.eclipse.jetty.osgi

jetty-osgi-boot

9.4.15.v20190215

org.eclipse.jetty.osgi

jetty-osgi-boot-jsp

9.4.15.v20190215

org.eclipse.jetty.osgi

jetty-osgi-boot-warurl

9.4.15.v20190215

org.eclipse.jetty.websocket

javax-websocket-client-impl

9.4.15.v20190215

org.eclipse.jetty.websocket

javax-websocket-server-impl

9.4.15.v20190215

org.eclipse.jetty.websocket

websocket-api

9.4.15.v20190215

org.eclipse.jetty.websocket

websocket-client

9.4.15.v20190215

org.eclipse.jetty.websocket

websocket-common

9.4.15.v20190215

org.eclipse.jetty.websocket

websocket-server

9.4.15.v20190215

org.eclipse.jetty.websocket

websocket-servlet

9.4.15.v20190215

org.ehcache

ehcache

3.7.0

org.ehcache

ehcache-clustered

3.7.0

org.ehcache

ehcache-transactions

3.7.0

org.elasticsearch

elasticsearch

6.7.1

org.elasticsearch.client

elasticsearch-rest-client

6.7.1

org.elasticsearch.client

elasticsearch-rest-high-level-client

6.7.1

org.elasticsearch.client

transport

6.7.1

org.elasticsearch.distribution.integ-test-zip

elasticsearch

6.7.1

org.elasticsearch.plugin

transport-netty4-client

6.7.1

org.firebirdsql.jdbc

jaybird-jdk17

3.0.5

org.firebirdsql.jdbc

jaybird-jdk18

3.0.5

org.flywaydb

flyway-core

5.2.4

org.freemarker

freemarker

2.3.28

org.glassfish

jakarta.el

3.0.2

org.glassfish.jaxb

jaxb-runtime

2.3.2

org.glassfish.jersey.bundles

jaxrs-ri

2.28

org.glassfish.jersey.connectors

jersey-apache-connector

2.28

org.glassfish.jersey.connectors

jersey-grizzly-connector

2.28

org.glassfish.jersey.connectors

jersey-jdk-connector

2.28

org.glassfish.jersey.connectors

jersey-jetty-connector

2.28

org.glassfish.jersey.connectors

jersey-netty-connector

2.28

org.glassfish.jersey.containers

jersey-container-grizzly2-http

2.28

org.glassfish.jersey.containers

jersey-container-grizzly2-servlet

2.28

org.glassfish.jersey.containers

jersey-container-jdk-http

2.28

org.glassfish.jersey.containers

jersey-container-jetty-http

2.28

org.glassfish.jersey.containers

jersey-container-jetty-servlet

2.28

org.glassfish.jersey.containers

jersey-container-netty-http

2.28

org.glassfish.jersey.containers

jersey-container-servlet

2.28

org.glassfish.jersey.containers

jersey-container-servlet-core

2.28

org.glassfish.jersey.containers

jersey-container-simple-http

2.28

org.glassfish.jersey.containers.glassfish

jersey-gf-ejb

2.28

org.glassfish.jersey.core

jersey-client

2.28

org.glassfish.jersey.core

jersey-common

2.28

org.glassfish.jersey.core

jersey-server

2.28

org.glassfish.jersey.ext

jersey-bean-validation

2.28

org.glassfish.jersey.ext

jersey-declarative-linking

2.28

org.glassfish.jersey.ext

jersey-entity-filtering

2.28

org.glassfish.jersey.ext

jersey-metainf-services

2.28

org.glassfish.jersey.ext

jersey-mvc

2.28

org.glassfish.jersey.ext

jersey-mvc-bean-validation

2.28

org.glassfish.jersey.ext

jersey-mvc-freemarker

2.28

org.glassfish.jersey.ext

jersey-mvc-jsp

2.28

org.glassfish.jersey.ext

jersey-mvc-mustache

2.28

org.glassfish.jersey.ext

jersey-proxy-client

2.28

org.glassfish.jersey.ext

jersey-servlet-portability

2.28

org.glassfish.jersey.ext

jersey-spring4

2.28

org.glassfish.jersey.ext

jersey-wadl-doclet

2.28

org.glassfish.jersey.ext.cdi

jersey-cdi1x

2.28

org.glassfish.jersey.ext.cdi

jersey-cdi1x-ban-custom-hk2-binding

2.28

org.glassfish.jersey.ext.cdi

jersey-cdi1x-servlet

2.28

org.glassfish.jersey.ext.cdi

jersey-cdi1x-transaction

2.28

org.glassfish.jersey.ext.cdi

jersey-cdi1x-validation

2.28

org.glassfish.jersey.ext.cdi

jersey-weld2-se

2.28

org.glassfish.jersey.ext.rx

jersey-rx-client-guava

2.28

org.glassfish.jersey.ext.rx

jersey-rx-client-rxjava

2.28

org.glassfish.jersey.ext.rx

jersey-rx-client-rxjava2

2.28

org.glassfish.jersey.inject

jersey-cdi2-se

2.28

org.glassfish.jersey.inject

jersey-hk2

2.28

org.glassfish.jersey.media

jersey-media-jaxb

2.28

org.glassfish.jersey.media

jersey-media-json-binding

2.28

org.glassfish.jersey.media

jersey-media-json-jackson

2.28

org.glassfish.jersey.media

jersey-media-json-jackson1

2.28

org.glassfish.jersey.media

jersey-media-json-jettison

2.28

org.glassfish.jersey.media

jersey-media-json-processing

2.28

org.glassfish.jersey.media

jersey-media-kryo

2.28

org.glassfish.jersey.media

jersey-media-moxy

2.28

org.glassfish.jersey.media

jersey-media-multipart

2.28

org.glassfish.jersey.media

jersey-media-sse

2.28

org.glassfish.jersey.security

oauth1-client

2.28

org.glassfish.jersey.security

oauth1-server

2.28

org.glassfish.jersey.security

oauth1-signature

2.28

org.glassfish.jersey.security

oauth2-client

2.28

org.glassfish.jersey.test-framework

jersey-test-framework-core

2.28

org.glassfish.jersey.test-framework

jersey-test-framework-util

2.28

org.glassfish.jersey.test-framework.providers

jersey-test-framework-provider-bundle

2.28

org.glassfish.jersey.test-framework.providers

jersey-test-framework-provider-external

2.28

org.glassfish.jersey.test-framework.providers

jersey-test-framework-provider-grizzly2

2.28

org.glassfish.jersey.test-framework.providers

jersey-test-framework-provider-inmemory

2.28

org.glassfish.jersey.test-framework.providers

jersey-test-framework-provider-jdk-http

2.28

org.glassfish.jersey.test-framework.providers

jersey-test-framework-provider-jetty

2.28

org.glassfish.jersey.test-framework.providers

jersey-test-framework-provider-simple

2.28

org.hamcrest

hamcrest-core

1.3

org.hamcrest

hamcrest-library

1.3

org.hibernate

hibernate-c3p0

5.4.2.Final

org.hibernate

hibernate-core

5.4.2.Final

org.hibernate

hibernate-ehcache

5.4.2.Final

org.hibernate

hibernate-entitymanager

5.4.2.Final

org.hibernate

hibernate-envers

5.4.2.Final

org.hibernate

hibernate-hikaricp

5.4.2.Final

org.hibernate

hibernate-java8

5.4.2.Final

org.hibernate

hibernate-jcache

5.4.2.Final

org.hibernate

hibernate-jpamodelgen

5.4.2.Final

org.hibernate

hibernate-proxool

5.4.2.Final

org.hibernate

hibernate-spatial

5.4.2.Final

org.hibernate

hibernate-testing

5.4.2.Final

org.hibernate

hibernate-vibur

5.4.2.Final

org.hibernate.validator

hibernate-validator

6.0.16.Final

org.hibernate.validator

hibernate-validator-annotation-processor

6.0.16.Final

org.hsqldb

hsqldb

2.4.1

org.infinispan

infinispan-cachestore-jdbc

9.4.12.Final

org.infinispan

infinispan-cachestore-jpa

9.4.12.Final

org.infinispan

infinispan-cachestore-leveldb

9.4.12.Final

org.infinispan

infinispan-cachestore-remote

9.4.12.Final

org.infinispan

infinispan-cachestore-rest

9.4.12.Final

org.infinispan

infinispan-cachestore-rocksdb

9.4.12.Final

org.infinispan

infinispan-cdi-common

9.4.12.Final

org.infinispan

infinispan-cdi-embedded

9.4.12.Final

org.infinispan

infinispan-cdi-remote

9.4.12.Final

org.infinispan

infinispan-client-hotrod

9.4.12.Final

org.infinispan

infinispan-cloud

9.4.12.Final

org.infinispan

infinispan-clustered-counter

9.4.12.Final

org.infinispan

infinispan-clustered-lock

9.4.12.Final

org.infinispan

infinispan-commons

9.4.12.Final

org.infinispan

infinispan-core

9.4.12.Final

org.infinispan

infinispan-directory-provider

9.4.12.Final

org.infinispan

infinispan-hibernate-cache-v53

9.4.12.Final

org.infinispan

infinispan-jcache

9.4.12.Final

org.infinispan

infinispan-jcache-commons

9.4.12.Final

org.infinispan

infinispan-jcache-remote

9.4.12.Final

org.infinispan

infinispan-lucene-directory

9.4.12.Final

org.infinispan

infinispan-objectfilter

9.4.12.Final

org.infinispan

infinispan-osgi

9.4.12.Final

org.infinispan

infinispan-persistence-cli

9.4.12.Final

org.infinispan

infinispan-persistence-soft-index

9.4.12.Final

org.infinispan

infinispan-query

9.4.12.Final

org.infinispan

infinispan-query-dsl

9.4.12.Final

org.infinispan

infinispan-remote-query-client

9.4.12.Final

org.infinispan

infinispan-remote-query-server

9.4.12.Final

org.infinispan

infinispan-scripting

9.4.12.Final

org.infinispan

infinispan-server-core

9.4.12.Final

org.infinispan

infinispan-server-hotrod

9.4.12.Final

org.infinispan

infinispan-server-memcached

9.4.12.Final

org.infinispan

infinispan-server-router

9.4.12.Final

org.infinispan

infinispan-spring4-common

9.4.12.Final

org.infinispan

infinispan-spring4-embedded

9.4.12.Final

org.infinispan

infinispan-spring4-remote

9.4.12.Final

org.infinispan

infinispan-tasks

9.4.12.Final

org.infinispan

infinispan-tasks-api

9.4.12.Final

org.infinispan

infinispan-tools

9.4.12.Final

org.infinispan

infinispan-tree

9.4.12.Final

org.influxdb

influxdb-java

2.15

org.jboss

jboss-transaction-spi

7.6.0.Final

org.jboss.logging

jboss-logging

3.3.2.Final

org.jdom

jdom2

2.0.6

org.jetbrains.kotlin

kotlin-compiler

1.3.30

org.jetbrains.kotlin

kotlin-daemon-client

1.3.30

org.jetbrains.kotlin

kotlin-main-kts

1.3.30

org.jetbrains.kotlin

kotlin-osgi-bundle

1.3.30

org.jetbrains.kotlin

kotlin-reflect

1.3.30

org.jetbrains.kotlin

kotlin-scripting-common

1.3.30

org.jetbrains.kotlin

kotlin-scripting-jvm

1.3.30

org.jetbrains.kotlin

kotlin-scripting-jvm-host

1.3.30

org.jetbrains.kotlin

kotlin-script-runtime

1.3.30

org.jetbrains.kotlin

kotlin-script-util

1.3.30

org.jetbrains.kotlin

kotlin-stdlib

1.3.30

org.jetbrains.kotlin

kotlin-stdlib-common

1.3.30

org.jetbrains.kotlin

kotlin-stdlib-jdk7

1.3.30

org.jetbrains.kotlin

kotlin-stdlib-jdk8

1.3.30

org.jetbrains.kotlin

kotlin-stdlib-js

1.3.30

org.jetbrains.kotlin

kotlin-test

1.3.30

org.jetbrains.kotlin

kotlin-test-annotations-common

1.3.30

org.jetbrains.kotlin

kotlin-test-common

1.3.30

org.jetbrains.kotlin

kotlin-test-js

1.3.30

org.jetbrains.kotlin

kotlin-test-junit

1.3.30

org.jetbrains.kotlin

kotlin-test-junit5

1.3.30

org.jetbrains.kotlin

kotlin-test-testng

1.3.30

org.jolokia

jolokia-core

1.6.0

org.jooq

jooq

3.11.11

org.jooq

jooq-codegen

3.11.11

org.jooq

jooq-meta

3.11.11

org.junit.jupiter

junit-jupiter

5.4.2

org.junit.jupiter

junit-jupiter-api

5.4.2

org.junit.jupiter

junit-jupiter-engine

5.4.2

org.junit.jupiter

junit-jupiter-migrationsupport

5.4.2

org.junit.jupiter

junit-jupiter-params

5.4.2

org.junit.platform

junit-platform-commons

1.4.2

org.junit.platform

junit-platform-console

1.4.2

org.junit.platform

junit-platform-engine

1.4.2

org.junit.platform

junit-platform-launcher

1.4.2

org.junit.platform

junit-platform-reporting

1.4.2

org.junit.platform

junit-platform-runner

1.4.2

org.junit.platform

junit-platform-suite-api

1.4.2

org.junit.platform

junit-platform-testkit

1.4.2

org.junit.vintage

junit-vintage-engine

5.4.2

org.jvnet.mimepull

mimepull

1.9.11

org.liquibase

liquibase-core

3.6.3

org.mariadb.jdbc

mariadb-java-client

2.4.1

org.messaginghub

pooled-jms

1.0.4

org.mockito

mockito-core

2.25.1

org.mockito

mockito-inline

2.25.1

org.mockito

mockito-junit-jupiter

2.25.1

org.mongodb

bson

3.10.2

org.mongodb

mongodb-driver

3.10.2

org.mongodb

mongodb-driver-async

3.10.2

org.mongodb

mongodb-driver-core

3.10.2

org.mongodb

mongodb-driver-reactivestreams

1.11.0

org.mongodb

mongo-java-driver

3.10.2

org.mortbay.jasper

apache-el

8.5.35.1

org.neo4j

neo4j-ogm-api

3.2.0-alpha05

org.neo4j

neo4j-ogm-bolt-driver

3.2.0-alpha05

org.neo4j

neo4j-ogm-bolt-native-types

3.2.0-alpha05

org.neo4j

neo4j-ogm-core

3.2.0-alpha05

org.neo4j

neo4j-ogm-embedded-driver

3.2.0-alpha05

org.neo4j

neo4j-ogm-embedded-native-types

3.2.0-alpha05

org.neo4j

neo4j-ogm-http-driver

3.2.0-alpha05

org.postgresql

postgresql

42.2.5

org.projectlombok

lombok

1.18.6

org.quartz-scheduler

quartz

2.3.1

org.quartz-scheduler

quartz-jobs

2.3.1

org.reactivestreams

reactive-streams

1.0.2

org.seleniumhq.selenium

htmlunit-driver

2.34.0

org.seleniumhq.selenium

selenium-api

3.141.59

org.seleniumhq.selenium

selenium-chrome-driver

3.141.59

org.seleniumhq.selenium

selenium-edge-driver

3.141.59

org.seleniumhq.selenium

selenium-firefox-driver

3.141.59

org.seleniumhq.selenium

selenium-ie-driver

3.141.59

org.seleniumhq.selenium

selenium-java

3.141.59

org.seleniumhq.selenium

selenium-opera-driver

3.141.59

org.seleniumhq.selenium

selenium-remote-driver

3.141.59

org.seleniumhq.selenium

selenium-safari-driver

3.141.59

org.seleniumhq.selenium

selenium-support

3.141.59

org.skyscreamer

jsonassert

1.5.0

org.slf4j

jcl-over-slf4j

1.7.26

org.slf4j

jul-to-slf4j

1.7.26

org.slf4j

log4j-over-slf4j

1.7.26

org.slf4j

slf4j-api

1.7.26

org.slf4j

slf4j-ext

1.7.26

org.slf4j

slf4j-jcl

1.7.26

org.slf4j

slf4j-jdk14

1.7.26

org.slf4j

slf4j-log4j12

1.7.26

org.slf4j

slf4j-nop

1.7.26

org.slf4j

slf4j-simple

1.7.26

org.springframework

spring-aop

5.2.0.M1

org.springframework

spring-aspects

5.2.0.M1

org.springframework

spring-beans

5.2.0.M1

org.springframework

spring-context

5.2.0.M1

org.springframework

spring-context-indexer

5.2.0.M1

org.springframework

spring-context-support

5.2.0.M1

org.springframework

spring-core

5.2.0.M1

org.springframework

spring-expression

5.2.0.M1

org.springframework

spring-instrument

5.2.0.M1

org.springframework

spring-jcl

5.2.0.M1

org.springframework

spring-jdbc

5.2.0.M1

org.springframework

spring-jms

5.2.0.M1

org.springframework

spring-messaging

5.2.0.M1

org.springframework

spring-orm

5.2.0.M1

org.springframework

spring-oxm

5.2.0.M1

org.springframework

spring-test

5.2.0.M1

org.springframework

spring-tx

5.2.0.M1

org.springframework

spring-web

5.2.0.M1

org.springframework

spring-webflux

5.2.0.M1

org.springframework

spring-webmvc

5.2.0.M1

org.springframework

spring-websocket

5.2.0.M1

org.springframework.amqp

spring-amqp

2.2.0.M1

org.springframework.amqp

spring-rabbit

2.2.0.M1

org.springframework.amqp

spring-rabbit-junit

2.2.0.M1

org.springframework.amqp

spring-rabbit-test

2.2.0.M1

org.springframework.batch

spring-batch-core

4.2.0.M1

org.springframework.batch

spring-batch-infrastructure

4.2.0.M1

org.springframework.batch

spring-batch-integration

4.2.0.M1

org.springframework.batch

spring-batch-test

4.2.0.M1

org.springframework.boot

spring-boot

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-actuator

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-actuator-autoconfigure

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-autoconfigure

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-autoconfigure-processor

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-configuration-metadata

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-configuration-processor

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-devtools

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-loader

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-loader-tools

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-properties-migrator

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-activemq

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-actuator

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-amqp

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-aop

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-artemis

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-batch

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-cache

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-cloud-connectors

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-data-cassandra

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-data-cassandra-reactive

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-data-couchbase

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-data-couchbase-reactive

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-data-elasticsearch

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-data-jdbc

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-data-jpa

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-data-ldap

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-data-mongodb

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-data-mongodb-reactive

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-data-neo4j

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-data-redis

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-data-redis-reactive

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-data-rest

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-data-solr

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-freemarker

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-groovy-templates

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-hateoas

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-integration

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-jdbc

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-jersey

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-jetty

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-jooq

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-json

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-jta-atomikos

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-jta-bitronix

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-log4j2

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-logging

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-mail

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-mustache

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-oauth2-client

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-oauth2-resource-server

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-quartz

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-reactor-netty

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-rsocket

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-security

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-test

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-thymeleaf

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-tomcat

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-undertow

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-validation

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-web

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-webflux

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-web-services

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-starter-websocket

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-test

2.2.0.BUILD-SNAPSHOT

org.springframework.boot

spring-boot-test-autoconfigure

2.2.0.BUILD-SNAPSHOT

org.springframework.cloud

spring-cloud-cloudfoundry-connector

2.0.5.RELEASE

org.springframework.cloud

spring-cloud-connectors-core

2.0.5.RELEASE

org.springframework.cloud

spring-cloud-heroku-connector

2.0.5.RELEASE

org.springframework.cloud

spring-cloud-localconfig-connector

2.0.5.RELEASE

org.springframework.cloud

spring-cloud-spring-service-connector

2.0.5.RELEASE

org.springframework.data

spring-data-cassandra

2.2.0.M3

org.springframework.data

spring-data-commons

2.2.0.M3

org.springframework.data

spring-data-couchbase

3.2.0.M3

org.springframework.data

spring-data-elasticsearch

3.2.0.M3

org.springframework.data

spring-data-envers

2.2.0.M3

org.springframework.data

spring-data-gemfire

2.2.0.M3

org.springframework.data

spring-data-geode

2.2.0.M3

org.springframework.data

spring-data-jdbc

1.1.0.M3

org.springframework.data

spring-data-jpa

2.2.0.M3

org.springframework.data

spring-data-keyvalue

2.2.0.M3

org.springframework.data

spring-data-ldap

2.2.0.M3

org.springframework.data

spring-data-mongodb

2.2.0.M3

org.springframework.data

spring-data-mongodb-cross-store

2.2.0.M3

org.springframework.data

spring-data-neo4j

5.2.0.M3

org.springframework.data

spring-data-redis

2.2.0.M3

org.springframework.data

spring-data-relational

1.1.0.M3

org.springframework.data

spring-data-rest-core

3.2.0.M3

org.springframework.data

spring-data-rest-hal-browser

3.2.0.M3

org.springframework.data

spring-data-rest-webmvc

3.2.0.M3

org.springframework.data

spring-data-solr

4.1.0.M3

org.springframework.hateoas

spring-hateoas

1.0.0.M1

org.springframework.integration

spring-integration-amqp

5.2.0.M1

org.springframework.integration

spring-integration-core

5.2.0.M1

org.springframework.integration

spring-integration-event

5.2.0.M1

org.springframework.integration

spring-integration-feed

5.2.0.M1

org.springframework.integration

spring-integration-file

5.2.0.M1

org.springframework.integration

spring-integration-ftp

5.2.0.M1

org.springframework.integration

spring-integration-gemfire

5.2.0.M1

org.springframework.integration

spring-integration-groovy

5.2.0.M1

org.springframework.integration

spring-integration-http

5.2.0.M1

org.springframework.integration

spring-integration-ip

5.2.0.M1

org.springframework.integration

spring-integration-jdbc

5.2.0.M1

org.springframework.integration

spring-integration-jms

5.2.0.M1

org.springframework.integration

spring-integration-jmx

5.2.0.M1

org.springframework.integration

spring-integration-jpa

5.2.0.M1

org.springframework.integration

spring-integration-mail

5.2.0.M1

org.springframework.integration

spring-integration-mongodb

5.2.0.M1

org.springframework.integration

spring-integration-mqtt

5.2.0.M1

org.springframework.integration

spring-integration-redis

5.2.0.M1

org.springframework.integration

spring-integration-rmi

5.2.0.M1

org.springframework.integration

spring-integration-scripting

5.2.0.M1

org.springframework.integration

spring-integration-security

5.2.0.M1

org.springframework.integration

spring-integration-sftp

5.2.0.M1

org.springframework.integration

spring-integration-stomp

5.2.0.M1

org.springframework.integration

spring-integration-stream

5.2.0.M1

org.springframework.integration

spring-integration-syslog

5.2.0.M1

org.springframework.integration

spring-integration-test

5.2.0.M1

org.springframework.integration

spring-integration-test-support

5.2.0.M1

org.springframework.integration

spring-integration-webflux

5.2.0.M1

org.springframework.integration

spring-integration-websocket

5.2.0.M1

org.springframework.integration

spring-integration-ws

5.2.0.M1

org.springframework.integration

spring-integration-xml

5.2.0.M1

org.springframework.integration

spring-integration-xmpp

5.2.0.M1

org.springframework.integration

spring-integration-zookeeper

5.2.0.M1

org.springframework.kafka

spring-kafka

2.3.0.M1

org.springframework.kafka

spring-kafka-test

2.3.0.M1

org.springframework.ldap

spring-ldap-core

2.3.2.RELEASE

org.springframework.ldap

spring-ldap-core-tiger

2.3.2.RELEASE

org.springframework.ldap

spring-ldap-ldif-batch

2.3.2.RELEASE

org.springframework.ldap

spring-ldap-ldif-core

2.3.2.RELEASE

org.springframework.ldap

spring-ldap-odm

2.3.2.RELEASE

org.springframework.ldap

spring-ldap-test

2.3.2.RELEASE

org.springframework.plugin

spring-plugin-core

2.0.0.M1

org.springframework.plugin

spring-plugin-metadata

2.0.0.M1

org.springframework.restdocs

spring-restdocs-asciidoctor

2.0.3.RELEASE

org.springframework.restdocs

spring-restdocs-core

2.0.3.RELEASE

org.springframework.restdocs

spring-restdocs-mockmvc

2.0.3.RELEASE

org.springframework.restdocs

spring-restdocs-restassured

2.0.3.RELEASE

org.springframework.restdocs

spring-restdocs-webtestclient

2.0.3.RELEASE

org.springframework.retry

spring-retry

1.2.4.RELEASE

org.springframework.security

spring-security-acl

5.2.0.M2

org.springframework.security

spring-security-aspects

5.2.0.M2

org.springframework.security

spring-security-cas

5.2.0.M2

org.springframework.security

spring-security-config

5.2.0.M2

org.springframework.security

spring-security-core

5.2.0.M2

org.springframework.security

spring-security-crypto

5.2.0.M2

org.springframework.security

spring-security-data

5.2.0.M2

org.springframework.security

spring-security-ldap

5.2.0.M2

org.springframework.security

spring-security-messaging

5.2.0.M2

org.springframework.security

spring-security-oauth2-client

5.2.0.M2

org.springframework.security

spring-security-oauth2-core

5.2.0.M2

org.springframework.security

spring-security-oauth2-jose

5.2.0.M2

org.springframework.security

spring-security-oauth2-resource-server

5.2.0.M2

org.springframework.security

spring-security-openid

5.2.0.M2

org.springframework.security

spring-security-remoting

5.2.0.M2

org.springframework.security

spring-security-taglibs

5.2.0.M2

org.springframework.security

spring-security-test

5.2.0.M2

org.springframework.security

spring-security-web

5.2.0.M2

org.springframework.session

spring-session-core

2.2.0.M1

org.springframework.session

spring-session-data-gemfire

2.2.0.M1

org.springframework.session

spring-session-data-geode

2.2.0.M1

org.springframework.session

spring-session-data-mongodb

2.2.0.M2

org.springframework.session

spring-session-data-redis

2.2.0.M1

org.springframework.session

spring-session-hazelcast

2.2.0.M1

org.springframework.session

spring-session-jdbc

2.2.0.M1

org.springframework.ws

spring-ws-core

3.0.7.RELEASE

org.springframework.ws

spring-ws-security

3.0.7.RELEASE

org.springframework.ws

spring-ws-support

3.0.7.RELEASE

org.springframework.ws

spring-ws-test

3.0.7.RELEASE

org.springframework.ws

spring-xml

3.0.7.RELEASE

org.synchronoss.cloud

nio-multipart-parser

1.1.0

org.thymeleaf

thymeleaf

3.0.11.RELEASE

org.thymeleaf

thymeleaf-spring5

3.0.11.RELEASE

org.thymeleaf.extras

thymeleaf-extras-java8time

3.0.4.RELEASE

org.thymeleaf.extras

thymeleaf-extras-springsecurity5

3.0.4.RELEASE

org.webjars

hal-browser

3325375

org.webjars

webjars-locator-core

0.37

org.xerial

sqlite-jdbc

3.27.2

org.xmlunit

xmlunit-assertj

2.6.2

org.xmlunit

xmlunit-core

2.6.2

org.xmlunit

xmlunit-legacy

2.6.2

org.xmlunit

xmlunit-matchers

2.6.2

org.xmlunit

xmlunit-placeholders

2.6.2

org.yaml

snakeyaml

1.24

redis.clients

jedis

3.0.1

wsdl4j

wsdl4j

1.6.3