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 |
---|---|---|
|
|
Enable debug logs. |
|
Arbitrary properties to add to the info endpoint. |
|
|
Location of the logging configuration file. For instance, `classpath:logback.xml` for Logback. |
|
|
|
Conversion word used when logging exceptions. |
|
|
Whether to clean the archive log files on startup. Only supported with the default logback setup. |
|
|
Maximum of archive log files to keep. Only supported with the default logback setup. |
|
|
Maximum log file size. Only supported with the default logback setup. |
|
Log file name (for instance, `myapp.log`). Names can be an exact location or relative to the current directory. |
|
|
Location of the log file. For instance, `/var/log`. |
|
|
|
Total size of log backups to be kept. Only supported with the default logback setup. |
|
Log groups to quickly change multiple loggers at the same time. For instance, `logging.group.db=org.hibernate,org.springframework.jdbc`. |
|
|
Log levels severity mapping. For instance, `logging.level.org.springframework=DEBUG`. |
|
|
|
Appender pattern for output to the console. Supported only with the default Logback setup. |
|
|
Appender pattern for log date format. Supported only with the default Logback setup. |
|
|
Appender pattern for output to a file. Supported only with the default Logback setup. |
|
|
Appender pattern for log level. Supported only with the default Logback setup. |
|
|
Register a shutdown hook for the logging system when it is initialized. |
|
|
Add @EnableAspectJAutoProxy. |
|
|
Whether subclass-based (CGLIB) proxies are to be created (true), as opposed to standard Java interface-based proxies (false). |
|
|
Whether to enable admin features for the application. |
|
|
JMX name of the application admin MBean. |
|
Application name. |
|
|
Auto-configuration classes to exclude. |
|
|
|
Banner file encoding. |
|
Height of the banner image in chars (default based on image height). |
|
|
|
Whether images should be inverted for dark terminal themes. |
|
|
Banner image file location (jpg or png can also be used). |
|
|
Left hand image margin in chars. |
|
|
Width of the banner image in chars. |
|
|
Banner text resource location. |
|
|
Whether to skip search of BeanInfo classes. |
|
Config file locations used in addition to the defaults. |
|
|
Config file locations that replace the defaults. |
|
|
|
Config file name. |
|
|
File encoding. |
|
|
Location of the generated build-info.properties file. |
|
|
File encoding. |
|
|
|
|
JMX domain name. |
|
|
|
Expose management beans to the JMX domain. |
|
|
MBeanServer bean name. |
|
|
Whether unique runtime object names should be ensured. |
|
|
Whether bean definition overriding, by registering a definition with the same name as an existing definition, is allowed. |
|
|
Mode used to display the banner when the application runs. |
|
|
Whether initialization should be performed lazily. |
|
Sources (class names, package names, or XML resource locations) to include in the ApplicationContext. |
|
|
Flag to explicitly request a specific type of web application. If not set, auto-detected based on the classpath. |
|
|
Expected character encoding the application must use. |
|
|
|
Whether to always apply the MessageFormat rules, parsing even messages without arguments. |
|
|
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. |
|
Loaded resource bundle files cache duration. When not set, bundles are cached forever. If a duration suffix is not specified, seconds will be used. |
|
|
|
Message bundles encoding. |
|
|
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"). |
|
|
Whether to use the message code as the default message instead of throwing a "NoSuchMessageException". Recommended during development only. |
|
|
Configures the ANSI output. |
|
Fails if ApplicationPidFileWriter is used but it cannot write the PID file. |
|
|
Location of the PID file to write (if ApplicationPidFileWriter is used). |
|
|
Comma-separated list of active profiles. Can be overridden by a command line switch. |
|
|
Unconditionally activate the specified comma-separated list of profiles (or list of profiles if using YAML). |
|
|
|
Whether to automatically start the scheduler after initialization. |
|
|
Prefix for single-line comments in SQL initialization scripts. |
|
|
Database schema initialization mode. |
|
|
Path to the SQL file to use to initialize the database schema. |
|
|
Quartz job store type. |
|
|
Whether configured jobs should overwrite existing job definitions. |
|
Additional Quartz Scheduler properties. |
|
|
|
Name of the scheduler. |
|
|
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. |
|
|
Whether to wait for running jobs to complete on shutdown. |
|
|
Whether Reactor should collect stacktrace information at runtime. |
|
|
Whether core threads are allowed to time out. This enables dynamic growing and shrinking of the pool. |
|
|
Core number of threads. |
|
|
Time limit for which threads may remain idle before being terminated. |
|
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. |
|
|
Queue capacity. An unbounded capacity does not increase the pool and therefore ignores the "max-size" property. |
|
|
|
Whether the executor should wait for scheduled tasks to complete on shutdown. |
|
Maximum time the executor should wait for remaining tasks to complete. |
|
|
|
Prefix to use for the names of newly created threads. |
|
|
Maximum allowed number of threads. |
|
|
Whether the executor should wait for scheduled tasks to complete on shutdown. |
|
Maximum time the executor should wait for remaining tasks to complete. |
|
|
|
Prefix to use for the names of newly created threads. |
|
|
Enable trace logs. |
Cache properties
Key | Default Value | Description |
---|---|---|
|
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. |
|
|
The spec to use to create caches. See CaffeineSpec for more details on the spec format. |
|
|
Entry expiration. By default the entries never expire. Note that this value is ultimately converted to seconds. |
|
|
The location of the configuration file to use to initialize EhCache. |
|
|
The location of the configuration file to use to initialize Infinispan. |
|
|
The location of the configuration file to use to initialize the cache manager. The configuration file is dependent of the underlying cache implementation. |
|
|
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. |
|
|
|
Allow caching null values. |
|
Key prefix. |
|
|
Entry expiration. By default the entries never expire. |
|
|
|
Whether to use the key prefix when writing to Redis. |
|
Cache type. By default, auto-detected according to the environment. |
Mail properties
Key | Default Value | Description |
---|---|---|
|
|
Default MimeMessage encoding. |
|
SMTP server host. For instance, `smtp.example.com`. |
|
|
Session JNDI name. When set, takes precedence over other Session settings. |
|
|
Login password of the SMTP server. |
|
|
SMTP server port. |
|
|
Additional JavaMail Session properties. |
|
|
|
Protocol used by the SMTP server. |
|
|
Whether to test that the mail server is available on startup. |
|
Login user of the SMTP server. |
|
|
SendGrid API key. |
|
|
SendGrid proxy host. |
|
|
SendGrid proxy port. |
JSON properties
Key | Default Value | Description |
---|---|---|
|
Format to use when serializing Date objects. |
|
|
Whether to disable the escaping of HTML characters such as '<', '>', etc. |
|
|
Whether to exclude inner classes during serialization. |
|
|
Whether to enable serialization of complex map keys (i.e. non-primitives). |
|
|
Whether to exclude all fields from consideration for serialization or deserialization that do not have the "Expose" annotation. |
|
|
Naming policy that should be applied to an object's field during serialization and deserialization. |
|
|
Whether to generate non executable JSON by prefixing the output with some special text. |
|
|
Whether to be lenient about parsing JSON that doesn't conform to RFC 4627. |
|
|
Serialization policy for Long and long types. |
|
|
Whether to output serialized JSON that fits in a page for pretty printing. |
|
|
Whether to serialize null fields. |
|
|
Date format string or a fully-qualified date format class name. For instance, `yyyy-MM-dd HH:mm:ss`. |
|
|
Controls the inclusion of properties during serialization. Configured with one of the values in Jackson's JsonInclude.Include enumeration. |
|
|
Jackson on/off features that affect the way Java objects are deserialized. |
|
|
Jackson on/off features for generators. |
|
|
Joda date time format string. If not configured, "date-format" is used as a fallback if it is configured with a format string. |
|
|
Locale used for formatting. |
|
|
Jackson general purpose on/off features. |
|
|
Jackson on/off features for parsers. |
|
|
One of the constants on Jackson's PropertyNamingStrategy. Can also be a fully-qualified class name of a PropertyNamingStrategy subclass. |
|
|
Jackson on/off features that affect the way Java objects are serialized. |
|
|
Time zone used when formatting dates. For instance, "America/Los_Angeles" or "GMT+10". |
|
|
Jackson visibility thresholds that can be used to limit which methods (and fields) are auto-detected. |
Data properties
Key | Default Value | Description |
---|---|---|
|
Couchbase nodes (host or IP address) to bootstrap from. |
|
|
|
Name of the bucket to connect to. |
|
Password of the bucket. |
|
|
|
Number of sockets per node against the key/value service. |
|
|
Maximum number of sockets per node. |
|
|
Minimum number of sockets per node. |
|
|
Maximum number of sockets per node. |
|
|
Minimum number of sockets per node. |
|
Whether to enable SSL support. Enabled automatically if a "keyStore" is provided unless specified otherwise. |
|
|
Path to the JVM key store that holds the certificates. |
|
|
Password used to access the key store. |
|
|
|
Bucket connections timeouts. |
|
|
Blocking operations performed on a specific key timeout. |
|
|
N1QL query operations timeout. |
|
|
Socket connect connections timeout. |
|
|
Regular and geospatial view operations timeout. |
|
|
Whether to enable the PersistenceExceptionTranslationPostProcessor. |
|
Name of the Cassandra cluster. |
|
|
|
Compression supported by the Cassandra binary protocol. |
|
Socket option: connection time out. |
|
|
Queries consistency level. |
|
|
|
Cluster node addresses. |
|
Queries default fetch size. |
|
|
|
Whether to enable JMX reporting. Default to false as Cassandra JMX reporting is not compatible with Dropwizard Metrics. |
|
Keyspace name to use. |
|
|
Login password of the server. |
|
|
|
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. |
|
|
Idle timeout before an idle connection is removed. If a duration suffix is not specified, seconds will be used. |
|
|
Maximum number of requests that get queued if no connection is available. |
|
|
Pool timeout when trying to acquire a connection from a host's pool. |
|
Port of the Cassandra server. |
|
|
Socket option: read time out. |
|
|
|
Type of Cassandra repositories to enable. |
|
|
Schema action to take at startup. |
|
Queries serial consistency level. |
|
|
|
Enable SSL support. |
|
Login user of the server. |
|
|
|
Automatically create views and indexes. Use the meta-data provided by "@ViewIndexed", "@N1qlPrimaryIndexed" and "@N1qlSecondaryIndexed". |
|
|
Consistency to apply by default on generated queries. |
|
|
Type of Couchbase repositories to enable. |
|
|
Whether to enable Elasticsearch repositories. |
|
|
Whether to enable JDBC repositories. |
|
|
Bootstrap mode for JPA repositories. |
|
|
Whether to enable JPA repositories. |
|
|
Whether to enable LDAP repositories. |
|
Authentication database name. |
|
|
Whether to enable auto-index creation. |
|
|
Database name. |
|
|
Fully qualified name of the FieldNamingStrategy to use. |
|
|
GridFS database name. |
|
|
Mongo server host. Cannot be set with URI. |
|
|
Login password of the mongo server. Cannot be set with URI. |
|
|
Mongo server port. Cannot be set with URI. |
|
|
|
Type of Mongo repositories to enable. |
|
|
Mongo database URI. Cannot be set with host, port and credentials. |
|
Login user of the mongo server. Cannot be set with URI. |
|
|
|
Auto index mode. |
|
|
Whether to enable embedded mode if the embedded driver is available. |
|
|
Register OpenSessionInViewInterceptor. Binds a Neo4j Session to the thread for the entire processing of the request.", |
|
Login password of the server. |
|
|
|
Whether to enable Neo4j repositories. |
|
URI used by the driver. Auto-detected by default. |
|
|
|
Whether to use Neo4j native types wherever possible. |
|
Login user of the server. |
|
|
|
Whether to enable Redis repositories. |
|
Base path to be used by Spring Data REST to expose repository resources. |
|
|
Content type to use as a default when none is specified. |
|
|
Default size of pages. |
|
|
|
|
|
Whether to enable enum value translation through the Spring Data REST default resource bundle. |
|
|
Name of the URL query string parameter that indicates how many results to return at once. |
|
|
Maximum size of pages. |
|
|
Name of the URL query string parameter that indicates what page to return. |
|
|
Whether to return a response body after creating an entity. |
|
|
Whether to return a response body after updating an entity. |
|
|
Name of the URL query string parameter that indicates what direction to sort results. |
|
|
|
Solr host. Ignored if "zk-host" is set. |
|
|
Whether to enable Solr repositories. |
|
ZooKeeper host address in the form HOST:PORT. |
|
|
|
Default page size. |
|
|
Maximum page size to be accepted. |
|
|
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. |
|
|
Page index parameter name. |
|
General prefix to be prepended to the page number and page size parameters. |
|
|
|
Delimiter to be used between the qualifier and the actual page number and size properties. |
|
|
Page size parameter name. |
|
|
Sort parameter name. |
|
|
Whether to stop if an error occurs while initializing the database. |
|
Data (DML) script resource references. |
|
|
Password of the database to execute DML scripts (if different). |
|
|
Username of the database to execute DML scripts (if different). |
|
|
Commons DBCP2 specific settings |
|
|
Fully qualified name of the JDBC driver. Auto-detected based on the URL by default. |
|
|
|
Whether to generate a random datasource name. |
|
Hikari specific settings |
|
|
|
|
|
JNDI location of the datasource. Class, url, username & password are ignored when set. |
|
|
Name of the datasource. Default to "testdb" when using an embedded database. |
|
|
Login password of the database. |
|
|
|
Platform to use in the DDL or DML scripts (such as schema-${platform}.sql or data-${platform}.sql). |
|
Schema (DDL) script resource references. |
|
|
Password of the database to execute DDL scripts (if different). |
|
|
Username of the database to execute DDL scripts (if different). |
|
|
|
Statement separator in SQL initialization scripts. |
|
SQL scripts encoding. |
|
|
Tomcat datasource specific settings |
|
|
Fully qualified name of the connection pool implementation to use. By default, it is auto-detected from the classpath. |
|
|
JDBC URL of the database. |
|
|
Login username of the database. |
|
|
XA datasource fully qualified name. |
|
|
Properties to pass to the XA data source. |
|
|
|
Connection timeout. |
|
|
Whether to enable connection requests from multiple execution threads. |
|
Login password. |
|
|
Proxy host the HTTP client should use. |
|
|
Proxy port the HTTP client should use. |
|
|
|
Read timeout. |
|
Login username. |
|
|
|
Connection timeout. |
|
Credentials password. |
|
|
|
Read timeout. |
|
|
|
|
Credentials username. |
|
|
|
Whether to enable the console. |
|
|
Path at which the console is available. |
|
|
Whether to enable trace output. |
|
|
Whether to enable remote access. |
|
Login password. |
|
|
URL of the InfluxDB instance to which to connect. |
|
|
Login user. |
|
|
|
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. |
|
|
Maximum number of rows. Use -1 to use the JDBC driver's default configuration. |
|
Query timeout. Default is to use the JDBC driver's default configuration. If a duration suffix is not specified, seconds will be used. |
|
|
SQL dialect to use. Auto-detected by default. |
|
|
Target database to operate on, auto-detected by default. Can be alternatively set using the "databasePlatform" property. |
|
|
Name of the target database to operate on, auto-detected by default. Can be alternatively set using the "Database" enum. |
|
|
|
Whether to initialize the schema on startup. |
|
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". |
|
|
Fully qualified name of the implicit naming strategy. |
|
|
Fully qualified name of the physical naming strategy. |
|
|
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". |
|
|
Mapping resources (equivalent to "mapping-file" entries in persistence.xml). |
|
|
|
Register OpenEntityManagerInViewInterceptor. Binds a JPA EntityManager to the thread for the entire processing of the request. |
|
Additional native properties to set on the JPA provider. |
|
|
|
Whether to enable logging of SQL statements. |
|
|
|
|
Directory used for data storage. |
|
|
Maximum size of the oplog. |
|
|
Name of the replica set. |
|
|
|
Version of Mongo to use. |
|
Maximum number of redirects to follow when executing commands across the cluster. |
|
|
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. |
|
|
|
Database index used by the connection factory. |
|
|
Redis server host. |
|
|
Maximum number of connections that can be allocated by the pool at a given time. Use a negative value for no limit. |
|
|
Maximum number of "idle" connections in the pool. Use a negative value to indicate an unlimited number of idle connections. |
|
|
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. |
|
|
Target for the minimum number of idle connections to maintain in the pool. This setting only has an effect if both it and time between eviction runs are positive. |
|
Time between runs of the idle object evictor thread. When positive, the idle object evictor thread starts, otherwise no idle object eviction is performed. |
|
|
|
Maximum number of connections that can be allocated by the pool at a given time. Use a negative value for no limit. |
|
|
Maximum number of "idle" connections in the pool. Use a negative value to indicate an unlimited number of idle connections. |
|
|
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. |
|
|
Target for the minimum number of idle connections to maintain in the pool. This setting only has an effect if both it and time between eviction runs are positive. |
|
Time between runs of the idle object evictor thread. When positive, the idle object evictor thread starts, otherwise no idle object eviction is performed. |
|
|
|
Shutdown timeout. |
|
Login password of the redis server. |
|
|
|
Redis server port. |
|
Name of the Redis server. |
|
|
Comma-separated list of "host:port" pairs. |
|
|
|
Whether to enable SSL support. |
|
Connection timeout. |
|
|
Connection URL. Overrides host, port, and password. User is ignored. Example: redis://user:[email protected]:6379 |
Transaction properties
Key | Default Value | Description |
---|---|---|
|
|
Timeout, in seconds, for borrowing connections from the pool. |
|
|
Whether to ignore the transacted flag when creating session. |
|
|
Whether local transactions are desired. |
|
|
Time, in seconds, between runs of the pool's maintenance thread. |
|
|
Time, in seconds, after which connections are cleaned up from the pool. |
|
|
Time, in seconds, that a connection can be pooled for before being destroyed. 0 denotes no limit. |
|
|
Maximum size of the pool. |
|
|
Minimum size of the pool. |
|
|
Reap timeout, in seconds, for borrowed connections. 0 denotes no limit. |
|
|
Unique name used to identify the resource during recovery. |
|
Vendor-specific implementation of XAConnectionFactory. |
|
|
Vendor-specific XA properties. |
|
|
|
Timeout, in seconds, for borrowing connections from the pool. |
|
|
Whether to use concurrent connection validation. |
|
Default isolation level of connections provided by the pool. |
|
|
|
Timeout, in seconds, for establishing a database connection. |
|
|
Time, in seconds, between runs of the pool's maintenance thread. |
|
|
Time, in seconds, after which connections are cleaned up from the pool. |
|
|
Time, in seconds, that a connection can be pooled for before being destroyed. 0 denotes no limit. |
|
|
Maximum size of the pool. |
|
|
Minimum size of the pool. |
|
|
Reap timeout, in seconds, for borrowed connections. 0 denotes no limit. |
|
SQL query or statement used to validate a connection before returning it. |
|
|
|
Unique name used to identify the resource during recovery. |
|
Vendor-specific implementation of XAConnectionFactory. |
|
|
Vendor-specific XA properties. |
|
|
|
Specify whether sub-transactions are allowed. |
|
|
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. |
|
|
Default timeout for JTA transactions. |
|
How long should normal shutdown (no-force) wait for transactions to complete. |
|
|
|
Whether to enable disk logging. |
|
|
Whether a VM shutdown should trigger forced shutdown of the transaction core. |
|
Directory in which the log files should be stored. Defaults to the current working directory. |
|
|
|
Transactions log file base name. |
|
|
Maximum number of active transactions. |
|
|
Maximum timeout that can be allowed for transactions. |
|
|
Delay between two recovery scans. |
|
|
Delay after which recovery can cleanup pending ('orphaned') log entries. |
|
|
Number of retry attempts to commit the transaction before throwing an exception. |
|
|
Delay between retry attempts. |
|
|
Whether sub-transactions should be joined when possible. |
|
Transaction manager implementation that should be started. |
|
|
|
Whether to use different (and concurrent) threads for two-phase commit on the participating resources. |
|
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. |
|
|
|
Number of connections to create when growing the pool. |
|
|
Time, in seconds, to wait before trying to acquire a connection again after an invalid connection was acquired. |
|
|
Timeout, in seconds, for acquiring connections from the pool. |
|
|
Whether the transaction manager should allow mixing XA and non-XA transactions. |
|
|
Whether the transaction timeout should be set on the XAResource when it is enlisted. |
|
|
Whether resources should be enlisted and delisted automatically. |
|
|
Whether producers and consumers should be cached. |
|
Underlying implementation class name of the XA resource. |
|
|
|
Whether the provider can run many transactions on the same connection and supports transaction interleaving. |
|
|
Whether this resource is disabled, meaning it's temporarily forbidden to acquire a connection from its pool. |
|
Properties that should be set on the underlying implementation. |
|
|
||
|
|
Whether recovery failures should be ignored. |
|
|
Time, in seconds, after which connections are cleaned up from the pool. |
|
|
Maximum size of the pool. 0 denotes no limit. |
|
|
Minimum size of the pool. |
|
Password to use to connect to the JMS provider. |
|
|
|
Whether connections in the ACCESSIBLE state can be shared within the context of a transaction. |
|
|
Whether connections should be tested when acquired from the pool. |
|
|
Position that this resource should take during two-phase commit (always first is Integer.MIN_VALUE, always last is Integer.MAX_VALUE). |
|
|
Unique name used to identify the resource during recovery. |
|
|
Whether TMJOIN should be used when starting XAResources. |
|
User to use to connect to the JMS provider. |
|
|
|
Number of connections to create when growing the pool. |
|
|
Time, in seconds, to wait before trying to acquire a connection again after an invalid connection was acquired. |
|
|
Timeout, in seconds, for acquiring connections from the pool. |
|
|
Whether the transaction manager should allow mixing XA and non-XA transactions. |
|
|
Whether the transaction timeout should be set on the XAResource when it is enlisted. |
|
|
Whether resources should be enlisted and delisted automatically. |
|
Underlying implementation class name of the XA resource. |
|
|
Default cursor holdability for connections. |
|
|
|
Whether the database can run many transactions on the same connection and supports transaction interleaving. |
|
|
Whether this resource is disabled, meaning it's temporarily forbidden to acquire a connection from its pool. |
|
Properties that should be set on the underlying implementation. |
|
|
|
Whether Connection.isValid() is called when acquiring a connection from the pool. |
|
||
|
|
Whether recovery failures should be ignored. |
|
Default isolation level for connections. |
|
|
Default auto-commit mode for local transactions. |
|
|
Timeout, in seconds, for establishing a database connection. |
|
|
|
Time, in seconds, after which connections are cleaned up from the pool. |
|
|
Maximum size of the pool. 0 denotes no limit. |
|
|
Minimum size of the pool. |
|
|
Target size of the prepared statement cache. 0 disables the cache. |
|
|
Whether connections in the ACCESSIBLE state can be shared within the context of a transaction. |
|
SQL query or statement used to validate a connection before returning it. |
|
|
|
Position that this resource should take during two-phase commit (always first is Integer.MIN_VALUE, and always last is Integer.MAX_VALUE). |
|
|
Unique name used to identify the resource during recovery. |
|
|
Whether TMJOIN should be used when starting XAResources. |
|
|
Whether to allow multiple LRC resources to be enlisted into the same transaction. |
|
|
Whether to enable asynchronously execution of two phase commit. |
|
|
Interval in seconds at which to run the recovery process in the background. |
|
|
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. |
|
|
Whether to log the creation and commit call stacks of transactions executed without a single enlisted resource. |
|
|
Default transaction timeout, in seconds. |
|
|
Whether to enable JMX support. |
|
Set the fully qualified name of the exception analyzer implementation to use. |
|
|
|
Whether to enable filtering of logs so that only mandatory logs are written. |
|
|
Whether disk forces are batched. |
|
|
Whether logs are forced to disk. |
|
|
Maximum amount of seconds the TM waits for transactions to get done before aborting them at shutdown time. |
|
JNDI name of the TransactionSynchronizationRegistry. |
|
|
JNDI name of the UserTransaction. |
|
|
|
Name of the journal. Can be 'disk', 'null', or a class name. |
|
|
Name of the first fragment of the journal. |
|
|
Name of the second fragment of the journal. |
|
|
Maximum size in megabytes of the journal fragments. |
|
ResourceLoader configuration file name. |
|
|
ASCII ID that must uniquely identify this TM instance. Defaults to the machine's IP address. |
|
|
|
Skip corrupted transactions log entries. Use only at last resort when all you have to recover is a pair of corrupted files. |
|
|
Whether to log a warning for transactions executed without a single enlisted resource. |
|
|
Whether to enable JTA support. |
|
Transaction logs directory. |
|
|
Transaction manager unique identifier. |
|
|
Default transaction timeout. If a duration suffix is not specified, seconds will be used. |
|
|
Whether to roll back on commit failures. |
Data migration properties
Key | Default Value | Description |
---|---|---|
|
|
Description to tag an existing schema with when applying a baseline. |
|
|
Whether to automatically call baseline when migrating a non-empty schema. |
|
|
Version to tag an existing schema with when executing baseline. |
|
Whether to batch SQL statements when executing them. Requires Flyway Pro or Flyway Enterprise. |
|
|
|
Whether to check that migration scripts location exists. |
|
|
Whether to disable cleaning of the database. |
|
|
Whether to automatically call clean when a validation error occurs. |
|
|
Maximum number of retries when attempting to connect to the database. |
|
|
Whether to enable flyway. |
|
|
Encoding of SQL migrations. |
|
Rules for the built-in error handling to override specific SQL states and error codes. Requires Flyway Pro or Flyway Enterprise. |
|
|
|
Whether to group all pending migrations together in the same transaction when applying them. |
|
|
Whether to ignore future migrations when reading the schema history table. |
|
|
Whether to ignore ignored migrations when reading the schema history table. |
|
|
Whether to ignore missing migrations when reading the schema history table. |
|
|
Whether to ignore pending migrations when reading the schema history table. |
|
SQL statements to execute to initialize a connection immediately after obtaining it. |
|
|
Username recorded in the schema history table as having applied the migration. |
|
|
Licence key for Flyway Pro or Flyway Enterprise. |
|
|
|
Locations of migrations scripts. Can contain the special "{vendor}" placeholder to use vendor-specific locations. |
|
|
Whether to allow mixing transactional and non-transactional statements within the same migration. |
|
Whether to enable support for Oracle SQL*Plus commands. Requires Flyway Pro or Flyway Enterprise. |
|
|
|
Whether to allow migrations to be run out of order. |
|
Login password of the database to migrate. |
|
|
|
Prefix of placeholders in migration scripts. |
|
|
Perform placeholder replacement in migration scripts. |
|
|
Suffix of placeholders in migration scripts. |
|
Placeholders and their replacements to apply to sql migration scripts. |
|
|
|
File name prefix for repeatable SQL migrations. |
|
Scheme names managed by Flyway (case-sensitive). |
|
|
|
Whether to skip default callbacks. If true, only custom callbacks are used. |
|
|
Whether to skip default resolvers. If true, only custom resolvers are used. |
|
|
File name prefix for SQL migrations. |
|
|
File name separator for SQL migrations. |
|
|
File name suffix for SQL migrations. |
|
Whether to stream SQL migrations when executing them. Requires Flyway Pro or Flyway Enterprise. |
|
|
|
Name of the schema schema history table that will be used by Flyway. |
|
Target version up to which migrations should be considered. |
|
|
JDBC url of the database to migrate. If not set, the primary configured data source is used. |
|
|
Login user of the database to migrate. |
|
|
|
Whether to automatically call validate when performing a migration. |
|
|
Change log configuration path. |
|
|
Whether to check that the change log location exists. |
|
Comma-separated list of runtime contexts to use. |
|
|
|
Name of table to use for tracking concurrent Liquibase usage. |
|
|
Name of table to use for tracking change history. |
|
Default database schema. |
|
|
|
Whether to first drop the database schema. |
|
|
Whether to enable Liquibase support. |
|
Comma-separated list of runtime labels to use. |
|
|
Schema to use for Liquibase objects. |
|
|
Tablespace to use for Liquibase objects. |
|
|
Change log parameters. |
|
|
Login password of the database to migrate. |
|
|
File to which rollback SQL is written when an update is performed. |
|
|
|
Whether rollback should be tested before update is performed. |
|
JDBC URL of the database to migrate. If not set, the primary configured data source is used. |
|
|
Login user of the database to migrate. |
Integration properties
Key | Default Value | Description |
---|---|---|
|
URL of the ActiveMQ broker. Auto-generated by default. |
|
|
|
Time to wait before considering a close complete. |
|
|
Whether the default broker URL should be in memory. Ignored if an explicit broker has been specified. |
|
|
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. |
|
Whether to trust all packages. |
|
|
Comma-separated list of specific packages to trust (when not trusting all packages). |
|
|
Login password of the broker. |
|
|
|
Whether to block when a connection is requested and the pool is full. Set it to false to throw a "JMSException" instead. |
|
|
Blocking period before throwing an exception if the pool is still full. |
|
|
Whether a JmsPoolConnectionFactory should be created, instead of a regular ConnectionFactory. |
|
|
Connection idle timeout. |
|
|
Maximum number of pooled connections. |
|
|
Maximum number of pooled sessions per connection in the pool. |
|
|
Time to sleep between runs of the idle connection eviction thread. When negative, no idle connection eviction thread runs. |
|
|
Whether to use only one anonymous "MessageProducer" instance. Set it to false to create one "MessageProducer" every time one is required. |
|
|
Time to wait on message sends for a response. Set it to 0 to wait forever. |
|
Login user of the broker. |
|
|
Cluster password. Randomly generated on startup by default. |
|
|
Journal file directory. Not necessary if persistence is turned off. |
|
|
|
Whether to enable embedded mode if the Artemis server APIs are available. |
|
|
Whether to enable persistent store. |
|
Comma-separated list of queues to create on startup. |
|
|
|
Server ID. By default, an auto-incremented counter is used. |
|
Comma-separated list of topics to create on startup. |
|
|
|
Artemis broker host. |
|
Artemis deployment mode, auto-detected by default. |
|
|
Login password of the broker. |
|
|
|
Whether to block when a connection is requested and the pool is full. Set it to false to throw a "JMSException" instead. |
|
|
Blocking period before throwing an exception if the pool is still full. |
|
|
Whether a JmsPoolConnectionFactory should be created, instead of a regular ConnectionFactory. |
|
|
Connection idle timeout. |
|
|
Maximum number of pooled connections. |
|
|
Maximum number of pooled sessions per connection in the pool. |
|
|
Time to sleep between runs of the idle connection eviction thread. When negative, no idle connection eviction thread runs. |
|
|
Whether to use only one anonymous "MessageProducer" instance. Set it to false to create one "MessageProducer" every time one is required. |
|
|
Artemis broker port. |
|
Login user of the broker. |
|
|
|
Database schema initialization mode. |
|
|
Execute all Spring Batch jobs in the context on startup. |
|
Comma-separated list of job names to execute on startup (for instance, `job1,job2`). By default, all Jobs found in the context are executed. |
|
|
|
Path to the SQL file to use to initialize the database schema. |
|
Table prefix for all the batch meta-data tables. |
|
|
The location of the configuration file to use to initialize Hazelcast. |
|
|
|
|
|
|
Path to the SQL file to use to initialize the database schema. |
|
|
Whether to cache message consumers. |
|
|
Whether to cache sessions. |
|
|
Whether to cache message producers. |
|
|
Size of the session cache (per JMS Session type). |
|
Connection factory JNDI name. When set, takes precedence to others connection factory auto-configurations. |
|
|
Acknowledge mode of the container. By default, the listener is transacted with automatic acknowledgment. |
|
|
|
Start the container automatically on startup. |
|
Minimum number of concurrent consumers. |
|
|
Maximum number of concurrent consumers. |
|
|
|
Whether the default destination type is topic. |
|
Default destination to use on send and receive operations that do not have a destination parameter. |
|
|
Delivery delay to use for send calls. |
|
|
Delivery mode. Enables QoS (Quality of Service) when set. |
|
|
Priority of a message when sending. Enables QoS (Quality of Service) when set. |
|
|
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. |
|
|
Timeout to use for receive calls. |
|
|
Time-to-live of a message when sending. Enables QoS (Quality of Service) when set. |
|
|
ID to pass to the server when making requests. Used for server-side logging. |
|
|
|
Whether to fail fast if the broker is not available on startup. |
|
Additional admin-specific properties used to configure the client. |
|
|
Password of the private key in the key store file. |
|
|
Location of the key store file. |
|
|
Store password for the key store file. |
|
|
Type of the key store. |
|
|
SSL protocol to use. |
|
|
Location of the trust store file. |
|
|
Store password for the trust store file. |
|
|
Type of the trust store. |
|
|
Comma-delimited list of host:port pairs to use for establishing the initial connections to the Kafka cluster. Applies to all components unless overridden. |
|
|
ID to pass to the server when making requests. Used for server-side logging. |
|
|
Frequency with which the consumer offsets are auto-committed to Kafka if 'enable.auto.commit' is set to true. |
|
|
What to do when there is no initial offset in Kafka or if the current offset no longer exists on the server. |
|
|
Comma-delimited list of host:port pairs to use for establishing the initial connections to the Kafka cluster. Overrides the global property, for consumers. |
|
|
ID to pass to the server when making requests. Used for server-side logging. |
|
|
Whether the consumer's offset is periodically committed in the background. |
|
|
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". |
|
|
Minimum amount of data the server should return for a fetch request. |
|
|
Unique string that identifies the consumer group to which this consumer belongs. |
|
|
Expected time between heartbeats to the consumer coordinator. |
|
|
Deserializer class for keys. |
|
|
Maximum number of records returned in a single call to poll(). |
|
|
Additional consumer-specific properties used to configure the client. |
|
|
Password of the private key in the key store file. |
|
|
Location of the key store file. |
|
|
Store password for the key store file. |
|
|
Type of the key store. |
|
|
SSL protocol to use. |
|
|
Location of the trust store file. |
|
|
Store password for the trust store file. |
|
|
Type of the trust store. |
|
|
Deserializer class for values. |
|
|
|
Control flag for login configuration. |
|
|
Whether to enable JAAS configuration. |
|
|
Login module. |
|
Additional JAAS options. |
|
|
Number of records between offset commits when ackMode is "COUNT" or "COUNT_TIME". |
|
|
Listener AckMode. See the spring-kafka documentation. |
|
|
Time between offset commits when ackMode is "TIME" or "COUNT_TIME". |
|
|
Prefix for the listener's consumer client.id property. |
|
|
Number of threads to run in the listener containers. |
|
|
Time between publishing idle consumer events (no data received). |
|
|
Whether to log the container configuration during initialization (INFO level). |
|
|
Time between checks for non-responsive consumers. If a duration suffix is not specified, seconds will be used. |
|
|
Multiplier applied to "pollTimeout" to determine if a consumer is non-responsive. |
|
|
Timeout to use when polling the consumer. |
|
|
|
Listener type. |
|
Number of acknowledgments the producer requires the leader to have received before considering a request complete. |
|
|
Default batch size. A small batch size will make batching less common and may reduce throughput (a batch size of zero disables batching entirely). |
|
|
Comma-delimited list of host:port pairs to use for establishing the initial connections to the Kafka cluster. Overrides the global property, for producers. |
|
|
Total memory size the producer can use to buffer records waiting to be sent to the server. |
|
|
ID to pass to the server when making requests. Used for server-side logging. |
|
|
Compression type for all data generated by the producer. |
|
|
Serializer class for keys. |
|
|
Additional producer-specific properties used to configure the client. |
|
|
When greater than zero, enables retrying of failed sends. |
|
|
Password of the private key in the key store file. |
|
|
Location of the key store file. |
|
|
Store password for the key store file. |
|
|
Type of the key store. |
|
|
SSL protocol to use. |
|
|
Location of the trust store file. |
|
|
Store password for the trust store file. |
|
|
Type of the trust store. |
|
|
When non empty, enables transaction support for producer. |
|
|
Serializer class for values. |
|
|
Additional properties, common to producers and consumers, used to configure the client. |
|
|
Password of the private key in the key store file. |
|
|
Location of the key store file. |
|
|
Store password for the key store file. |
|
|
Type of the key store. |
|
|
SSL protocol to use. |
|
|
Location of the trust store file. |
|
|
Store password for the trust store file. |
|
|
Type of the trust store. |
|
|
Kafka streams application.id property; default spring.application.name. |
|
|
|
Whether or not to auto-start the streams factory bean. |
|
Comma-delimited list of host:port pairs to use for establishing the initial connections to the Kafka cluster. Overrides the global property, for streams. |
|
|
Maximum memory size to be used for buffering across all threads. |
|
|
ID to pass to the server when making requests. Used for server-side logging. |
|
|
Additional Kafka properties used to configure the streams. |
|
|
The replication factor for change log topics and repartition topics created by the stream processing application. |
|
|
Password of the private key in the key store file. |
|
|
Location of the key store file. |
|
|
Store password for the key store file. |
|
|
Type of the key store. |
|
|
SSL protocol to use. |
|
|
Location of the trust store file. |
|
|
Store password for the trust store file. |
|
|
Type of the trust store. |
|
|
Directory location for the state store. |
|
|
Default topic to which messages are sent. |
|
|
Comma-separated list of addresses to which the client should connect. |
|
|
Duration to wait to obtain a channel if the cache size has been reached. If 0, always create a new channel. |
|
|
Number of channels to retain in the cache. When "check-timeout" > 0, max channels per connection. |
|
|
|
|
|
Number of connections to cache. Only applies when mode is CONNECTION. |
|
|
Connection timeout. Set it to zero to wait forever. |
|
|
|
Whether to create an AmqpAdmin bean. |
|
|
RabbitMQ host. |
|
Acknowledge mode of container. |
|
|
|
Whether to start the container automatically on startup. |
|
Number of consumers per queue. |
|
|
Whether rejected deliveries are re-queued by default. |
|
|
How often idle container events should be published. |
|
|
|
Whether to fail if the queues declared by the container are not available on the broker. |
|
Maximum number of unacknowledged messages that can be outstanding at each consumer. |
|
|
|
Whether publishing retries are enabled. |
|
|
Duration between the first and second attempt to deliver a message. |
|
|
Maximum number of attempts to deliver a message. |
|
|
Maximum duration between attempts. |
|
|
Multiplier to apply to the previous retry interval. |
|
|
Whether retries are stateless or stateful. |
|
Acknowledge mode of container. |
|
|
|
Whether to start the container automatically on startup. |
|
Minimum number of listener invoker threads. |
|
|
Whether rejected deliveries are re-queued by default. |
|
|
How often idle container events should be published. |
|
|
Maximum number of listener invoker threads. |
|
|
|
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. |
|
Maximum number of unacknowledged messages that can be outstanding at each consumer. |
|
|
|
Whether publishing retries are enabled. |
|
|
Duration between the first and second attempt to deliver a message. |
|
|
Maximum number of attempts to deliver a message. |
|
|
Maximum duration between attempts. |
|
|
Multiplier to apply to the previous retry interval. |
|
|
Whether retries are stateless or stateful. |
|
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. |
|
|
|
|
|
|
Login to authenticate against the broker. |
|
|
RabbitMQ port. |
|
|
Whether to enable publisher confirms. |
|
|
Whether to enable publisher returns. |
|
Requested heartbeat timeout; zero for none. If a duration suffix is not specified, seconds will be used. |
|
|
SSL algorithm to use. By default, configured by the Rabbit client library. |
|
|
|
Whether to enable SSL support. |
|
Path to the key store that holds the SSL certificate. |
|
|
Password used to access the key store. |
|
|
|
Key store type. |
|
Trust store that holds SSL certificates. |
|
|
Password used to access the trust store. |
|
|
|
Trust store type. |
|
|
Whether to enable server side certificate validation. |
|
|
Whether to enable hostname verification. |
|
Name of the default queue to receive messages from when none is specified explicitly. |
|
|
Name of the default exchange to use for send operations. |
|
|
Whether to enable mandatory messages. |
|
|
Timeout for `receive()` operations. |
|
|
Timeout for `sendAndReceive()` operations. |
|
|
|
Whether publishing retries are enabled. |
|
|
Duration between the first and second attempt to deliver a message. |
|
|
Maximum number of attempts to deliver a message. |
|
|
Maximum duration between attempts. |
|
|
Multiplier to apply to the previous retry interval. |
|
Value of a default routing key to use for send operations. |
|
|
|
Login user to authenticate to the broker. |
|
Virtual host to use when connecting to the broker. |
|
|
|
Path that serves as the base URI for the services. |
|
Servlet init parameters to pass to Spring Web Services. |
|
|
|
Load on startup priority of the Spring Web Services servlet. |
|
Comma-separated list of locations of WSDLs and accompanying XSDs to be exposed as beans. |
Web properties
Key | Default Value | Description |
---|---|---|
|
|
Whether application/hal+json responses should be sent to requests that accept application/json. |
|
Preferred JSON mapper to use for HTTP message conversion. By default, auto-detected according to the environment. |
|
|
|
Charset of HTTP requests and responses. Added to the "Content-Type" header if not set explicitly. |
|
|
Whether to enable http encoding support. |
|
Whether to force the encoding to the configured charset on HTTP requests and responses. |
|
|
Whether to force the encoding to the configured charset on HTTP requests. Defaults to true when "force" has not been specified. |
|
|
Whether to force the encoding to the configured charset on HTTP responses. |
|
|
Locale in which to encode mapping. |
|
|
|
Whether logging of (potentially sensitive) request details at DEBUG and TRACE level is allowed. |
|
Path that serves as the base URI for the application. If specified, overrides the value of "@ApplicationPath". |
|
|
|
Jersey filter chain order. |
|
Init parameters to pass to Jersey through the servlet or filter. |
|
|
|
Load on startup priority of the Jersey servlet. |
|
|
|
|
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. |
|
|
|
Whether a request parameter ("format" by default) should be used to determine the requested media type. |
|
|
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. |
|
Map file extensions to media types for content negotiation. For instance, yml to text/yaml. |
|
|
Query parameter name to use when "favor-parameter" is enabled. |
|
|
Date format to use. For instance, `dd/MM/yyyy`. |
|
|
|
Whether to dispatch OPTIONS requests to the FrameworkServlet doService method. |
|
|
Whether to dispatch TRACE requests to the FrameworkServlet doService method. |
|
|
Whether to enable resolution of favicon.ico. |
|
|
Whether to enable Spring's FormContentFilter. |
|
|
Whether to enable Spring's HiddenHttpMethodFilter. |
|
|
Whether the content of the "default" model should be ignored during redirect scenarios. |
|
Locale to use. By default, this locale is overridden by the "Accept-Language" header. |
|
|
|
Define how the locale should be resolved. |
|
|
Whether to enable warn logging of exceptions resolved by a "HandlerExceptionResolver", except for "DefaultHandlerExceptionResolver". |
|
Formatting strategy for message codes. For instance, `PREFIX_ERROR_CODE`. |
|
|
|
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. |
|
|
Whether to use suffix pattern match (".*") when matching patterns to requests. If enabled a method mapped to "/users" also matches to "/users.*". |
|
|
Load on startup priority of the dispatcher servlet. |
|
|
Path of the dispatcher servlet. |
|
|
Path pattern used for static resources. |
|
|
Whether a "NoHandlerFoundException" should be thrown if no Handler was found to process a request. |
|
Spring MVC view prefix. |
|
|
Spring MVC view suffix. |
|
|
|
Whether to enable default resource handling. |
|
Indicate that the response message is intended for a single user and must not be stored by a shared cache. |
|
|
Indicate that any cache may store the response. |
|
|
Maximum time the response should be cached, in seconds if no duration suffix is not specified. |
|
|
Indicate that once it has become stale, a cache must not use the response without re-validating it with the server. |
|
|
Indicate that the cached response can be reused only if re-validated with the server. |
|
|
Indicate to not cache the response in any case. |
|
|
Indicate intermediaries (caches and others) that they should not transform the response content. |
|
|
Same meaning as the "must-revalidate" directive, except that it does not apply to private caches. |
|
|
Maximum time the response should be cached by shared caches, in seconds if no duration suffix is not specified. |
|
|
Maximum time the response may be used when errors are encountered, in seconds if no duration suffix is not specified. |
|
|
Maximum time the response can be served after it becomes stale, in seconds if no duration suffix is not specified. |
|
|
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. |
|
|
|
Whether to enable caching in the Resource chain. |
|
|
Whether to enable resolution of already compressed resources (gzip, brotli). Checks for a resource name with the '.gz' or '.br' file extensions. |
|
Whether to enable the Spring Resource Handling chain. By default, disabled unless at least one strategy has been enabled. |
|
|
|
Whether to enable HTML5 application cache manifest rewriting. |
|
|
Whether to enable the content Version Strategy. |
|
|
Comma-separated list of patterns to apply to the content Version Strategy. |
|
|
Whether to enable the fixed Version Strategy. |
|
|
Comma-separated list of patterns to apply to the fixed Version Strategy. |
|
Version string to use for the fixed Version Strategy. |
|
|
|
Locations of static resources. Defaults to classpath:[/META-INF/resources/, /resources/, /static/, /public/]. |
|
|
Whether to enable support of multipart uploads. |
|
|
Threshold after which files are written to disk. |
|
Intermediate location of uploaded files. |
|
|
|
Max file size. |
|
|
Max request size. |
|
|
Whether to resolve the multipart request lazily at the time of file or parameter access. |
|
Date format to use. For instance, `dd/MM/yyyy`. |
|
|
|
Whether to enable Spring's HiddenHttpMethodFilter. |
|
|
Path pattern used for static resources. |
Templating properties
Key | Default Value | Description |
---|---|---|
|
|
Whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name. |
|
|
Whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name. |
|
|
Whether to enable template caching. |
|
|
Template encoding. |
|
|
Whether to check that the templates location exists. |
|
|
Content-Type value. |
|
|
Whether to enable MVC view resolution for this technology. |
|
|
Whether all request attributes should be added to the model prior to merging with the template. |
|
|
Whether all HttpSession attributes should be added to the model prior to merging with the template. |
|
|
Whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext". |
|
|
Whether to prefer file system access for template loading. File system access enables hot detection of template changes. |
|
Prefix that gets prepended to view names when building a URL. |
|
|
Name of the RequestContext attribute for all views. |
|
|
Well-known FreeMarker keys which are passed to FreeMarker's Configuration. |
|
|
|
Suffix that gets appended to view names when building a URL. |
|
|
Comma-separated list of template paths. |
|
White list of view names that can be resolved. |
|
|
|
Whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name. |
|
|
Whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name. |
|
|
Whether to enable template caching. |
|
|
Template encoding. |
|
|
Whether to check that the templates location exists. |
|
See GroovyMarkupConfigurer |
|
|
|
Content-Type value. |
|
|
Whether to enable MVC view resolution for this technology. |
|
|
Whether all request attributes should be added to the model prior to merging with the template. |
|
|
Whether all HttpSession attributes should be added to the model prior to merging with the template. |
|
|
Whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext". |
|
Prefix that gets prepended to view names when building a URL. |
|
|
Name of the RequestContext attribute for all views. |
|
|
|
Template path. |
|
|
Suffix that gets appended to view names when building a URL. |
|
White list of view names that can be resolved. |
|
|
|
Whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name. |
|
|
Whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name. |
|
|
Whether to enable template caching. |
|
|
Template encoding. |
|
|
Whether to check that the templates location exists. |
|
|
Content-Type value. |
|
|
Whether to enable MVC view resolution for this technology. |
|
|
Whether all request attributes should be added to the model prior to merging with the template. |
|
|
Whether all HttpSession attributes should be added to the model prior to merging with the template. |
|
|
Whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext". |
|
|
Prefix to apply to template names. |
|
Name of the RequestContext attribute for all views. |
|
|
|
Suffix to apply to template names. |
|
White list of view names that can be resolved. |
|
|
|
Whether to enable template caching. |
|
|
Whether to check that the template exists before rendering it. |
|
|
Whether to check that the templates location exists. |
|
|
Enable the SpringEL compiler in SpringEL expressions. |
|
|
Whether to enable Thymeleaf view resolution for Web frameworks. |
|
|
Template files encoding. |
|
Comma-separated list of view names (patterns allowed) that should be excluded from resolution. |
|
|
|
Template mode to be applied to templates. See also Thymeleaf's TemplateMode enum. |
|
|
|
|
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. |
|
|
Comma-separated list of view names (patterns allowed) that should be executed in FULL mode even if a max chunk size is set. |
|
|
|
Maximum size of data buffers used for writing to the response. Templates will execute in CHUNKED mode by default if this is set. |
|
Media types supported by the view technology. |
|
|
|
Whether hidden form inputs acting as markers for checkboxes should be rendered before the checkbox element itself. |
|
|
Content-Type value written to HTTP responses. |
|
|
Whether Thymeleaf should start writing partial output as soon as possible or buffer until template processing is finished. |
|
|
|
|
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. |
|
|
Comma-separated list of view names (patterns allowed) that can be resolved. |
Server properties
Key | Default Value | Description |
---|---|---|
|
Network address to which the server should bind. |
|
|
|
Whether response compression is enabled. |
|
Comma-separated list of user agents for which responses should not be compressed. |
|
|
|
Comma-separated list of MIME types that should be compressed. |
|
|
Minimum "Content-Length" value that is required for compression to be performed. |
|
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. |
|
|
|
Include the "exception" attribute. |
|
|
|
|
|
Path of the error controller. |
|
|
Whether to enable the default error page displayed in browsers in case of a server error. |
|
Strategy for handling X-Forwarded-* headers. |
|
|
|
Whether to enable HTTP/2 support, if the current environment supports it. |
|
|
Number of acceptor threads to use. When the value is -1, the default, the number of acceptors is derived from the operating environment. |
|
|
Append to log. |
|
Custom log format, see org.eclipse.jetty.server.CustomRequestLog. If defined, overrides the "format" configuration key. |
|
|
|
Enable access log. |
|
Date format to place in log file name. |
|
|
Log filename. If not specified, logs redirect to "System.err". |
|
|
Log format. |
|
|
Request paths that should not be logged. |
|
|
|
Number of days before rotated log files are deleted. |
|
|
Maximum size of the HTTP post or put content. |
|
|
Number of selector threads to use. When the value is -1, the default, the number of selectors is derived from the operating environment. |
|
|
Maximum size of the HTTP message header. |
|
|
Server HTTP port. |
|
Value to use for the Server response header (if empty, no header is sent). |
|
|
|
Display name of the application. |
|
Servlet context init parameters. |
|
|
Context path of the application. |
|
|
|
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. |
|
Init parameters used to configure the JSP servlet. |
|
|
|
Whether the JSP servlet is registered. |
|
Comment for the session cookie. |
|
|
Domain for the session cookie. |
|
|
Whether to use "HttpOnly" cookies for session cookies. |
|
|
Maximum age of the session cookie. If a duration suffix is not specified, seconds will be used. |
|
|
Session cookie name. |
|
|
Path of the session cookie. |
|
|
Whether to always mark the session cookie as secure. |
|
|
|
Whether to persist session data between restarts. |
|
Directory used to store session data. |
|
|
|
Session timeout. If a duration suffix is not specified, seconds will be used. |
|
Session tracking modes. |
|
|
Supported SSL ciphers. |
|
|
Client authentication mode. Requires a trust store. |
|
|
|
Whether to enable SSL support. |
|
Enabled SSL protocols. |
|
|
Alias that identifies the key in the key store. |
|
|
Password used to access the key in the key store. |
|
|
Path to the key store that holds the SSL certificate (typically a jks file). |
|
|
Password used to access the key store. |
|
|
Provider for the key store. |
|
|
Type of the key store. |
|
|
|
SSL protocol to use. |
|
Trust store that holds SSL certificates. |
|
|
Password used to access the trust store. |
|
|
Provider for the trust store. |
|
|
Type of the trust store. |
|
|
|
Maximum queue length for incoming connection requests when all possible request processing threads are in use. |
|
|
Whether to buffer output such that it is flushed only periodically. |
|
|
Whether to check for log file existence so it can be recreated it if an external process has renamed it. |
|
Whether logging of the request will only be enabled if "ServletRequest.getAttribute(conditionIf)" does not yield null. |
|
|
Whether logging of the request will only be enabled if "ServletRequest.getAttribute(conditionUnless)" yield null. |
|
|
|
Directory in which log files are created. Can be absolute or relative to the Tomcat base dir. |
|
|
Enable access log. |
|
Character set used by the log file. Default to the system default character set. |
|
|
|
Date format to place in the log file name. |
|
|
Whether to use IPv6 canonical representation format as defined by RFC 5952. |
|
Locale used to format timestamps in log entries and in log file name suffix. Default to the default locale of the Java process. |
|
|
|
Number of days to retain the access log files before they are removed. |
|
|
Format pattern for access logs. |
|
|
Log file name prefix. |
|
|
Whether to defer inclusion of the date stamp in the file name until rotate time. |
|
|
Set request attributes for the IP address, Hostname, protocol, and port used for the request. |
|
|
Whether to enable access log rotation. |
|
|
Log file name suffix. |
|
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. |
|
|
|
Delay between the invocation of backgroundProcess methods. If a duration suffix is not specified, seconds will be used. |
|
Tomcat base directory. If not specified, a temporary directory is used. |
|
|
|
Regular expression that matches proxies that are to be trusted. |
|
|
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. |
|
|
Maximum size of the HTTP post content. |
|
|
Maximum amount of request body to swallow. |
|
|
Maximum amount of worker threads. |
|
|
Minimum amount of worker threads. |
|
|
Name of the HTTP header used to override the original port value. |
|
|
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. |
|
Header that holds the incoming protocol, usually named "X-Forwarded-Proto". |
|
|
|
Value of the protocol header indicating whether the incoming request uses SSL. |
|
|
Whether requests to the context root should be redirected by appending a / to the path. |
|
Name of the HTTP header from which the remote IP is extracted. For instance, `X-FORWARDED-FOR`. |
|
|
|
Whether static resource caching is permitted for this web application. |
|
Time-to-live of the static resource cache. |
|
|
|
Character encoding to use to decode the URI. |
|
Whether HTTP 1.1 and later location headers generated by a call to sendRedirect will use relative or absolute redirects. |
|
|
Undertow access log directory. |
|
|
|
Whether to enable the access log. |
|
|
Format pattern for access logs. |
|
|
Log file name prefix. |
|
|
Whether to enable access log rotation. |
|
|
Log file name suffix. |
|
|
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. |
|
|
Whether the 'Connection: keep-alive' header should be added to all responses, even if not required by the HTTP specification. |
|
Size of each buffer. The default is derived from the maximum amount of memory that is available to the JVM. |
|
|
|
Whether the URL should be decoded. When disabled, percent-encoded characters in the URL will be left as-is. |
|
Whether to allocate buffers outside the Java heap. The default is derived from the maximum amount of memory that is available to the JVM. |
|
|
|
Whether servlet filters should be initialized on startup. |
|
Number of I/O threads to create for the worker. The default is derived from the number of available processors. |
|
|
|
Maximum number of cookies that are allowed. This limit exists to prevent hash collision based DOS attacks. |
|
Maximum number of headers that are allowed. This limit exists to prevent hash collision based DOS attacks. |
|
|
|
Maximum size of the HTTP post content. When the value is -1, the default, the size is unlimited. |
|
Maximum number of query or path parameters that are allowed. This limit exists to prevent hash collision based DOS attacks. |
|
|
|
Charset used to decode URLs. |
|
Number of worker threads. The default is 8 times the number of I/O threads. |
Security properties
Key | Default Value | Description |
---|---|---|
|
|
Whether read-only operations should use an anonymous environment. |
|
Base suffix from which all operations should originate. |
|
|
LDAP specification settings. |
|
|
List of base DNs. |
|
|
Embedded LDAP password. |
|
|
Embedded LDAP username. |
|
|
|
Schema (LDIF) script resource reference. |
|
|
Embedded LDAP port. |
|
|
Whether to enable LDAP schema validation. |
|
Path to the custom schema. |
|
|
Login password of the server. |
|
|
LDAP URLs of the server. |
|
|
Login username of the server. |
|
|
|
Security filter chain dispatcher types. |
|
|
Security filter chain order. |
|
OAuth provider details. |
|
|
OAuth client registrations. |
|
|
URI that an OpenID Connect Provider asserts as its Issuer Identifier. |
|
|
JSON Web Key URI to use to verify the JWT token. |
|
|
|
JSON Web Algorithm used for verifying the digital signatures. |
|
Location of the file containing the public key used to verify a JWT. |
|
|
|
Default user name. |
|
Password for the default user name. |
|
|
Granted roles for the default user name. |
|
|
|
Sessions flush mode. |
|
|
Name of the map used to store sessions. |
|
|
Cron expression for expired session cleanup job. |
|
|
Database schema initialization mode. |
|
|
Path to the SQL file to use to initialize the database schema. |
|
|
Name of the database table used to store sessions. |
|
|
Collection name used to store sessions. |
|
|
Cron expression for expired session cleanup job. |
|
|
|
|
|
Namespace for keys used to store sessions. |
|
|
Session repository filter dispatcher types. |
|
Session repository filter order. |
|
|
Session store type. |
|
|
Session timeout. If a duration suffix is not specified, seconds will be used. |
RSocket properties
Key | Default Value | Description |
---|---|---|
|
Network address to which the server should bind. |
|
|
Path under which RSocket handles requests (only works with websocket transport). |
|
|
Server port. |
|
|
RSocket transport protocol. |
Actuator properties
Key | Default Value | Description |
---|---|---|
|
|
Whether to enable storage of audit events. |
|
|
Whether to enable extended Cloud Foundry actuator endpoints. |
|
|
Whether to skip SSL verification for Cloud Foundry actuator endpoint security calls. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the auditevents endpoint. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the beans endpoint. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the caches endpoint. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the conditions endpoint. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the configprops endpoint. |
|
|
Keys that should be sanitized. Keys can be simple strings that the property ends with or regular expressions. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the env endpoint. |
|
|
Keys that should be sanitized. Keys can be simple strings that the property ends with or regular expressions. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the flyway endpoint. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the health endpoint. |
|
Roles used to determine whether or not a user is authorized to be shown details. When empty, all authenticated users are authorized. |
|
|
|
When to show full health details. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the heapdump endpoint. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the httptrace endpoint. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the info endpoint. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the integrationgraph endpoint. |
|
Jolokia settings. Refer to the documentation of Jolokia for more details. |
|
|
|
Whether to enable the jolokia endpoint. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the liquibase endpoint. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the logfile endpoint. |
|
External Logfile to be accessed. Can be used if the logfile is written by output redirect and not by the logging system itself. |
|
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the loggers endpoint. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the mappings endpoint. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the metrics endpoint. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the prometheus endpoint. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the scheduledtasks endpoint. |
|
|
Whether to enable the sessions endpoint. |
|
|
Whether to enable the shutdown endpoint. |
|
|
Maximum time that a response can be cached. |
|
|
Whether to enable the threaddump endpoint. |
|
Whether to enable or disable all endpoints by default. |
|
|
|
|
|
Endpoint IDs that should be excluded or '*' for all. |
|
|
|
|
|
Additional static properties to append to all ObjectNames of MBeans representing Endpoints. |
|
|
|
Base path for Web endpoints. Relative to server.servlet.context-path or management.server.servlet.context-path if management.server.port is configured. |
|
Whether credentials are supported. When not set, credentials are not supported. |
|
|
Comma-separated list of headers to allow in a request. '*' allows all headers. |
|
|
Comma-separated list of methods to allow. '*' allows all methods. When not set, defaults to GET. |
|
|
Comma-separated list of origins to allow. '*' allows all origins. When not set, CORS support is disabled. |
|
|
Comma-separated list of headers to include in a response. |
|
|
|
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. |
|
Endpoint IDs that should be excluded or '*' for all. |
|
|
|
Endpoint IDs that should be included or '*' for all. |
|
Mapping between endpoint IDs and the path that should expose them. |
|
|
|
Whether to enable Cassandra health check. |
|
|
Whether to enable Couchbase health check. |
|
|
Whether to enable database health check. |
|
|
Whether to enable default health indicators. |
|
|
Whether to enable disk space health check. |
|
Path used to compute the available disk space. |
|
|
|
Minimum disk space that should be available. |
|
|
Whether to enable Elasticsearch health check. |
|
|
Whether to enable InfluxDB health check. |
|
|
Whether to enable JMS health check. |
|
|
Whether to enable LDAP health check. |
|
|
Whether to enable Mail health check. |
|
|
Whether to enable MongoDB health check. |
|
|
Whether to enable Neo4j health check. |
|
|
Whether to enable RabbitMQ health check. |
|
|
Whether to enable Redis health check. |
|
|
Whether to enable Solr health check. |
|
Mapping of health statuses to HTTP status codes. By default, registered health statuses map to sensible defaults (for example, UP maps to 200). |
|
|
|
Comma-separated list of health statuses in order of severity. |
|
|
Whether to enable build info. |
|
|
Whether to enable default info contributors. |
|
|
Whether to enable environment info. |
|
|
Whether to enable git info. |
|
|
|
|
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). |
|
|
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). |
|
|
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. |
|
|
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. |
|
|
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). |
|
|
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. |
|
|
AppOptics API token. |
|
|
|
Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made. |
|
|
Connection timeout for requests to this backend. |
|
|
Whether exporting of metrics to this backend is enabled. |
|
|
Tag that will be mapped to "@host" when shipping metrics to AppOptics. |
|
|
Number of threads to use with the metrics publishing scheduler. |
|
|
Read timeout for requests to this backend. |
|
|
Step size (i.e. reporting frequency) to use. |
|
|
URI to ship metrics to. |
|
|
Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made. |
|
|
Frequency for refreshing config settings from the LWC service. |
|
|
Time to live for subscriptions from the LWC service. |
|
|
URI for the Atlas LWC endpoint to retrieve current subscriptions. |
|
|
Connection timeout for requests to this backend. |
|
|
Whether exporting of metrics to this backend is enabled. |
|
|
URI for the Atlas LWC endpoint to evaluate the data for a subscription. |
|
|
Whether to enable streaming to Atlas LWC. |
|
|
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. |
|
|
Number of threads to use with the metrics publishing scheduler. |
|
|
Read timeout for requests to this backend. |
|
|
Step size (i.e. reporting frequency) to use. |
|
|
URI of the Atlas server. |
|
Datadog API key. |
|
|
Datadog application key. Not strictly required, but improves the Datadog experience by sending meter descriptions, types, and base units to Datadog. |
|
|
|
Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made. |
|
|
Connection timeout for requests to this backend. |
|
|
Whether to publish descriptions metadata to Datadog. Turn this off to minimize the amount of metadata sent. |
|
|
Whether exporting of metrics to this backend is enabled. |
|
|
Tag that will be mapped to "host" when shipping metrics to Datadog. |
|
|
Number of threads to use with the metrics publishing scheduler. |
|
|
Read timeout for requests to this backend. |
|
|
Step size (i.e. reporting frequency) to use. |
|
|
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. |
|
Dynatrace authentication token. |
|
|
|
Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made. |
|
|
Connection timeout for requests to this backend. |
|
ID of the custom device that is exporting metrics to Dynatrace. |
|
|
|
Whether exporting of metrics to this backend is enabled. |
|
|
Number of threads to use with the metrics publishing scheduler. |
|
|
Read timeout for requests to this backend. |
|
|
Step size (i.e. reporting frequency) to use. |
|
|
Technology type for exported metrics. Used to group metrics under a logical technology name in the Dynatrace UI. |
|
URI to ship metrics to. Should be used for SaaS, self managed instances or to en-route through an internal proxy. |
|
|
|
Whether to create the index automatically if it does not exist. |
|
|
Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made. |
|
|
Connection timeout for requests to this backend. |
|
|
Whether exporting of metrics to this backend is enabled. |
|
|
Host to export metrics to. |
|
|
Index to export metrics to. |
|
|
Index date format used for rolling indices. Appended to the index name, preceded by a '-'. |
|
|
Number of threads to use with the metrics publishing scheduler. |
|
Login password of the Elastic server. |
|
|
|
Read timeout for requests to this backend. |
|
|
Step size (i.e. reporting frequency) to use. |
|
|
Name of the timestamp field. |
|
Login user of the Elastic server. |
|
|
|
UDP addressing mode, either unicast or multicast. |
|
|
Base time unit used to report durations. |
|
|
Whether exporting of metrics to Ganglia is enabled. |
|
|
Host of the Ganglia server to receive exported metrics. |
|
|
Port of the Ganglia server to receive exported metrics. |
|
|
Ganglia protocol version. Must be either 3.1 or 3.0. |
|
|
Base time unit used to report rates. |
|
|
Step size (i.e. reporting frequency) to use. |
|
|
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. |
|
|
|
|
|
Whether exporting of metrics to Graphite is enabled. |
|
|
Host of the Graphite server to receive exported metrics. |
|
|
Port of the Graphite server to receive exported metrics. |
|
|
|
|
|
|
|
|
Step size (i.e. reporting frequency) to use. |
|
For the default naming convention, turn the specified tag keys into part of the metric prefix. |
|
|
Humio API token. |
|
|
|
Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made. |
|
|
Connection timeout for requests to this backend. |
|
|
Whether exporting of metrics to this backend is enabled. |
|
|
Number of threads to use with the metrics publishing scheduler. |
|
|
Read timeout for requests to this backend. |
|
|
Name of the repository to publish metrics to. |
|
|
Step size (i.e. reporting frequency) to use. |
|
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. |
|
|
|
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. |
|
|
Whether to create the Influx database if it does not exist before attempting to publish metrics to it. |
|
|
Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made. |
|
|
Whether to enable GZIP compression of metrics batches published to Influx. |
|
|
Connection timeout for requests to this backend. |
|
|
Write consistency for each point. |
|
|
Tag that will be mapped to "host" when shipping metrics to Influx. |
|
|
Whether exporting of metrics to this backend is enabled. |
|
|
Number of threads to use with the metrics publishing scheduler. |
|
Login password of the Influx server. |
|
|
|
Read timeout for requests to this backend. |
|
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. |
|
|
Retention policy to use (Influx writes to the DEFAULT retention policy if one is not specified). |
|
|
How many copies of the data are stored in the cluster. Must be 1 for a single node instance. |
|
|
Time range covered by a shard group. For instance 2w, check the influx documentation for more details on the duration format. |
|
|
|
Step size (i.e. reporting frequency) to use. |
|
|
URI of the Influx server. |
|
Login user of the Influx server. |
|
|
|
Metrics JMX domain name. |
|
|
Whether exporting of metrics to JMX is enabled. |
|
|
Step size (i.e. reporting frequency) to use. |
|
|
Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made. |
|
|
Connection timeout for requests to this backend. |
|
|
Whether exporting of metrics to this backend is enabled. |
|
|
Number of threads to use with the metrics publishing scheduler. |
|
Login password of the KairosDB server. |
|
|
|
Read timeout for requests to this backend. |
|
|
Step size (i.e. reporting frequency) to use. |
|
|
URI of the KairosDB server. |
|
Login user of the KairosDB server. |
|
|
New Relic account ID. |
|
|
New Relic API key. |
|
|
|
Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made. |
|
|
Connection timeout for requests to this backend. |
|
|
Whether exporting of metrics to this backend is enabled. |
|
|
Number of threads to use with the metrics publishing scheduler. |
|
|
Read timeout for requests to this backend. |
|
|
Step size (i.e. reporting frequency) to use. |
|
|
URI to ship metrics to. |
|
|
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. |
|
|
Whether exporting of metrics to Prometheus is enabled. |
|
|
Base URL for the Pushgateway. |
|
|
Enable publishing via a Prometheus Pushgateway. |
|
Grouping key for the pushed metrics. |
|
|
Job identifier for this application instance. |
|
|
|
Frequency with which to push metrics. |
|
Operation that should be performed on shutdown. |
|
|
|
Step size (i.e. reporting frequency) to use. |
|
SignalFX access token. |
|
|
|
Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made. |
|
|
Connection timeout for requests to this backend. |
|
|
Whether exporting of metrics to this backend is enabled. |
|
|
Number of threads to use with the metrics publishing scheduler. |
|
|
Read timeout for requests to this backend. |
|
Uniquely identifies the app instance that is publishing metrics to SignalFx. Defaults to the local host name. |
|
|
|
Step size (i.e. reporting frequency) to use. |
|
|
URI to ship metrics to. |
|
|
Whether, in the absence of any other exporter, exporting of metrics to an in-memory backend is enabled. |
|
|
Counting mode. |
|
|
Step size (i.e. reporting frequency) to use. |
|
|
Whether exporting of metrics to StatsD is enabled. |
|
|
|
|
|
Host of the StatsD server to receive exported metrics. |
|
|
Total length of a single payload should be kept within your network's MTU. |
|
|
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. |
|
|
Port of the StatsD server to receive exported metrics. |
|
|
Whether to send unchanged meters to the StatsD server. |
|
API token used when publishing metrics directly to the Wavefront API host. |
|
|
|
Number of measurements per request to use for this backend. If more measurements are found, then multiple requests will be made. |
|
|
Connection timeout for requests to this backend. |
|
|
Whether exporting of metrics to this backend is enabled. |
|
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. |
|
|
|
Number of threads to use with the metrics publishing scheduler. |
|
|
Read timeout for requests to this backend. |
|
Unique identifier for the app instance that is the source of metrics being published to Wavefront. Defaults to the local host name. |
|
|
|
Step size (i.e. reporting frequency) to use. |
|
|
URI to ship metrics to. |
|
Common tags that are applied to every meter. |
|
|
|
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. |
|
|
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. |
|
|
Whether to automatically time web client requests. |
|
Computed non-aggregable percentiles to publish. |
|
|
|
Whether percentile histograms should be published. |
|
|
Name of the metric for sent requests. |
|
|
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. |
|
|
Whether to automatically time web server requests. |
|
Computed non-aggregable percentiles to publish. |
|
|
|
Whether percentile histograms should be published. |
|
|
Name of the metric for received requests. |
|
|
Add the "X-Application-Context" HTTP header in each response. |
|
Network address to which the management endpoints should bind. Requires a custom 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 endpoint context-path (for instance, `/management`). Requires a custom management.server.port. |
|
|
Supported SSL ciphers. |
|
|
Client authentication mode. Requires a trust store. |
|
|
|
Whether to enable SSL support. |
|
Enabled SSL protocols. |
|
|
Alias that identifies the key in the key store. |
|
|
Password used to access the key in the key store. |
|
|
Path to the key store that holds the SSL certificate (typically a jks file). |
|
|
Password used to access the key store. |
|
|
Provider for the key store. |
|
|
Type of the key store. |
|
|
|
SSL protocol to use. |
|
Trust store that holds SSL certificates. |
|
|
Password used to access the trust store. |
|
|
Provider for the trust store. |
|
|
Type of the trust store. |
|
|
|
Whether to enable HTTP request-response tracing. |
|
|
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 |
---|---|---|
|
|
Whether to enable development property defaults. |
|
|
Whether to enable a livereload.com-compatible server. |
|
|
Server port. |
|
|
Context path used to handle the remote connection. |
|
The host of the proxy to use to connect to the remote application. |
|
|
The port of the proxy to use to connect to the remote application. |
|
|
|
Whether to enable remote restart. |
|
A shared secret required to establish a connection (required to enable remote support). |
|
|
|
HTTP header used to transfer the shared secret. |
|
Additional patterns that should be excluded from triggering a full restart. |
|
|
Additional paths to watch for changes. |
|
|
|
Whether to enable automatic restart. |
|
|
Patterns that should be excluded from triggering a full restart. |
|
|
Whether to log the condition evaluation delta upon restart. |
|
|
Amount of time to wait between polling for classpath changes. |
|
|
Amount of quiet time required without any classpath changes before a restart is triggered. |
|
Name of a specific file that, when changed, triggers the restart check. If not specified, any classpath file change triggers the restart. |
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 |
---|---|---|
|
String |
The full name of the group. This attribute is mandatory. |
|
String |
The class name of the data type of the group. For example, if the group were based
on a class annotated with |
|
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 ( |
|
String |
The class name of the source that contributed this group. For example, if the group
were based on a |
|
String |
The full name of the method (include parenthesis and argument types) that contributed
this group (for example, the name of a |
Property Attributes
The JSON object contained in the properties
array can contain the attributes described
in the following table:
Name | Type | Purpose |
---|---|---|
|
String |
The full name of the property. Names are in lower-case period-separated form (for
example, |
|
String |
The full signature of the data type of the property (for example, |
|
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 ( |
|
String |
The class name of the source that contributed this property. For example, if the
property were from a class annotated with |
|
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 |
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 |
The JSON object contained in the deprecation
attribute of each properties
element can
contain the following attributes:
Name | Type | Purpose |
---|---|---|
|
String |
The level of deprecation, which can be either |
|
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 ( |
|
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 |
---|---|---|
|
String |
The full name of the property to which this hint refers. Names are in lower-case
period-separated form (such as |
|
ValueHint[] |
A list of valid values as defined by the |
|
ValueProvider[] |
A list of providers as defined by the |
The JSON object contained in the values
attribute of each hint
element can contain
the attributes described in the following table:
Name | Type | Purpose |
---|---|---|
|
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. |
|
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 |
---|---|---|
|
String |
The name of the provider to use to offer additional content assistance for the element to which the hint refers. |
|
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 |
---|---|
|
Permits any additional value to be provided. |
|
Auto-completes the classes available in the project. Usually constrained by a base
class that is specified by the |
|
Handles the property as if it were defined by the type defined by the mandatory |
|
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. |
|
Auto-completes the available bean names in the current project. Usually constrained
by a base class that is specified by the |
|
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 |
---|---|---|---|
|
|
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. |
|
|
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 |
---|---|---|---|
|
|
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 theEnum
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 asUTF-8
) -
java.util.Locale
: auto-completion of locales (such asen_US
) -
org.springframework.util.MimeType
: Supports auto-completion of content type values (such astext/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 asclasspath:/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 |
---|---|---|---|
|
|
|
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 |
---|---|---|---|
|
|
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
|
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 |
---|---|
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 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
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 |
---|---|
|
Comma-separated Classpath, such as |
|
Used to resolve relative paths in |
|
Default arguments for the main method (space separated). |
|
Name of main class to launch (for example, |
|
Name of properties file (for example, |
|
Path to properties file (for example, |
|
Boolean flag to indicate that all properties should be added to System properties
It defaults to |
When specified as environment variables or manifest entries, the following names should be used:
Key | Manifest entry | Environment variable |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 inloader.home
, then in the root of the classpath, and then inclasspath:/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 whenloader.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 toloader.home
or anywhere in the file system with ajar:file:
prefix. -
loader.path
(if empty) defaults toBOOT-INF/lib
(meaning a local directory or a nested one if running from an archive). Because of this,PropertiesLauncher
behaves the same asJarLauncher
when no additional configuration is provided. -
loader.path
can not be used to configure the location ofloader.properties
(the classpath used to search for the latter is the JVM classpath whenPropertiesLauncher
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 theZipEntry.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 withClassLoader.getSystemClassLoader()
fails.java.util.Logging
always uses the system classloader. For this reason, you should consider a different logging implementation.
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 |
---|---|---|
|
|
2.7.7 |
|
|
1.2.3 |
|
|
1.2.3 |
|
|
1.2.3 |
|
|
4.0.6 |
|
|
4.0.6 |
|
|
4.0.6 |
|
|
2.1.0 |
|
|
2.7.4 |
|
|
3.7.1 |
|
|
3.7.1 |
|
|
1.5.0 |
|
|
2.9.0 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.9.8 |
|
|
2.7.0 |
|
|
2.7.0 |
|
|
2.7.0 |
|
|
2.7.0 |
|
|
2.0.1 |
|
|
1.9.74 |
|
|
2.8.5 |
|
|
1.4.199 |
|
|
3.12 |
|
|
3.12 |
|
|
1.3.2 |
|
|
1.3.2 |
|
|
3.12 |
|
|
2.4.0 |
|
|
2.4.0 |
|
|
6.4.0.jre8 |
|
|
4.2.1 |
|
|
4.2.1 |
|
|
4.2.1 |
|
|
4.2.1 |
|
|
4.2.1 |
|
|
5.7.0 |
|
|
1.14 |
|
|
4.3.0 |
|
|
3.14.1 |
|
|
3.14.1 |
|
|
3.14.1 |
|
|
3.14.1 |
|
|
3.14.1 |
|
|
3.14.1 |
|
|
3.14.1 |
|
|
3.14.1 |
|
|
3.14.1 |
|
|
1.6.3 |
|
|
1.5.1 |
|
|
3.1.0 |
|
|
4.0.10 |
|
|
3.3.1 |
|
|
1.12 |
|
|
1.6 |
|
|
2.2.0 |
|
|
4.0.5 |
|
|
4.0.5 |
|
|
4.0.5 |
|
|
4.0.5 |
|
|
4.0.5 |
|
|
4.0.5 |
|
|
4.0.5 |
|
|
4.0.5 |
|
|
4.0.5 |
|
|
4.0.5 |
|
|
4.0.5 |
|
|
4.0.5 |
|
|
4.0.5 |
|
|
4.0.5 |
|
|
4.0.5 |
|
|
4.0.5 |
|
|
5.1.6.RELEASE |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
1.1.4 |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
2.0.25.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
4.1.36.Final |
|
|
3.3.0.M1 |
|
|
3.3.0.M1 |
|
|
3.3.0.M1 |
|
|
3.3.0.M1 |
|
|
1.1.1.RELEASE |
|
|
1.0.0.M1 |
|
|
0.9.0.M1 |
|
|
1.2.0.RELEASE |
|
|
0.6.0 |
|
|
1.3.8 |
|
|
1.2.1 |
|
|
2.2.8 |
|
|
3.3.0 |
|
|
3.3.0 |
|
|
3.3.0 |
|
|
3.3.0 |
|
|
3.3.0 |
|
|
3.3.0 |
|
|
0.12.2-RC2 |
|
|
0.12.2-RC2 |
|
|
0.12.2-RC2 |
|
|
0.12.2-RC2 |
|
|
0.12.2-RC2 |
|
|
0.12.2-RC2 |
|
|
6.3.1 |
|
|
2.0.20.Final |
|
|
2.0.20.Final |
|
|
2.0.20.Final |
|
|
1.2.1 |
|
|
1.3.4 |
|
|
2.0.2 |
|
|
1.1.5 |
|
|
1.0.1 |
|
|
1.6.3 |
|
|
2.2.2 |
|
|
4.0.2 |
|
|
1.2.4 |
|
|
1.3.2 |
|
|
2.0.1 |
|
|
1.1.1 |
|
|
2.1.5 |
|
|
2.3.2 |
|
|
2.3.2 |
|
|
1.2.0 |
|
|
1.3.2 |
|
|
1.1.0 |
|
|
2.0.1 |
|
|
1.1.4 |
|
|
1.0 |
|
|
1.6.2 |
|
|
1.0.3 |
|
|
2.2 |
|
|
4.0.1 |
|
|
1.2 |
|
|
1.3 |
|
|
2.0.1.Final |
|
|
1.1 |
|
|
2.3.1 |
|
|
2.3.1 |
|
|
1.2.0 |
|
|
2.10.2 |
|
|
4.12 |
|
|
8.0.16 |
|
|
1.9.12 |
|
|
1.9.12 |
|
|
4.5.2 |
|
|
4.5.2 |
|
|
2.10.6 |
|
|
2.35.0 |
|
|
1.3.1 |
|
|
1.9.22 |
|
|
2.4.1 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
5.15.9 |
|
|
2.8.0 |
|
|
2.8.0 |
|
|
2.8.0 |
|
|
2.8.0 |
|
|
2.8.0 |
|
|
2.8.0 |
|
|
2.8.0 |
|
|
2.8.0 |
|
|
2.8.0 |
|
|
2.6.0 |
|
|
3.9 |
|
|
2.6.2 |
|
|
10.14.2.0 |
|
|
4.5.8 |
|
|
4.1.4 |
|
|
4.5.8 |
|
|
4.5.8 |
|
|
4.5.8 |
|
|
4.5.8 |
|
|
4.4.11 |
|
|
4.4.11 |
|
|
4.5.8 |
|
|
1.1.11 |
|
|
1.1.11 |
|
|
1.1.11 |
|
|
1.1.11 |
|
|
1.1.11 |
|
|
1.1.11 |
|
|
1.1.11 |
|
|
2.2.0 |
|
|
2.2.0 |
|
|
2.2.0 |
|
|
2.2.0 |
|
|
2.2.0 |
|
|
2.2.0 |
|
|
2.2.0 |
|
|
2.2.0 |
|
|
2.2.0 |
|
|
2.2.0 |
|
|
2.2.0 |
|
|
2.2.0 |
|
|
2.2.0 |
|
|
2.2.0 |
|
|
2.2.0 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
2.11.2 |
|
|
8.0.0 |
|
|
8.0.0 |
|
|
8.0.0 |
|
|
8.0.0 |
|
|
8.0.0 |
|
|
8.0.0 |
|
|
8.0.0 |
|
|
8.0.0 |
|
|
8.0.0 |
|
|
8.0.0 |
|
|
8.0.0 |
|
|
8.0.0 |
|
|
9.0.19 |
|
|
9.0.19 |
|
|
9.0.19 |
|
|
9.0.19 |
|
|
9.0.19 |
|
|
9.0.19 |
|
|
9.0.19 |
|
|
1.9.4 |
|
|
1.9.4 |
|
|
1.9.4 |
|
|
3.12.2 |
|
|
2.1.4 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
2.5.7 |
|
|
3.0.12 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
1.0.3 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
2.2.0.v201112011158 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
9.4.18.v20190429 |
|
|
3.7.1 |
|
|
3.7.1 |
|
|
3.7.1 |
|
|
6.7.2 |
|
|
6.7.2 |
|
|
6.7.2 |
|
|
6.7.2 |
|
|
6.7.2 |
|
|
6.7.2 |
|
|
3.0.5 |
|
|
3.0.5 |
|
|
5.2.4 |
|
|
2.3.28 |
|
|
3.0.2 |
|
|
2.3.2 |
|
|
2.3.2 |
|
|
2.3.2 |
|
|
2.3.2 |
|
|
2.3.2 |
|
|
2.3.2 |
|
|
2.3.2 |
|
|
2.3.2 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
2.28 |
|
|
1.3 |
|
|
1.3 |
|
|
5.4.2.Final |
|
|
5.4.2.Final |
|
|
5.4.2.Final |
|
|
5.4.2.Final |
|
|
5.4.2.Final |
|
|
5.4.2.Final |
|
|
5.4.2.Final |
|
|
5.4.2.Final |
|
|
5.4.2.Final |
|
|
5.4.2.Final |
|
|
5.4.2.Final |
|
|
5.4.2.Final |
|
|
5.4.2.Final |
|
|
6.0.16.Final |
|
|
6.0.16.Final |
|
|
2.4.1 |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
9.4.13.Final |
|
|
2.15 |
|
|
7.6.0.Final |
|
|
3.3.2.Final |
|
|
2.0.6 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.3.31 |
|
|
1.6.1 |
|
|
3.11.11 |
|
|
3.11.11 |
|
|
3.11.11 |
|
|
5.4.2 |
|
|
5.4.2 |
|
|
5.4.2 |
|
|
5.4.2 |
|
|
5.4.2 |
|
|
1.4.2 |
|
|
1.4.2 |
|
|
1.4.2 |
|
|
1.4.2 |
|
|
1.4.2 |
|
|
1.4.2 |
|
|
1.4.2 |
|
|
1.4.2 |
|
|
5.4.2 |
|
|
1.9.11 |
|
|
3.6.3 |
|
|
2.4.1 |
|
|
1.0.4 |
|
|
2.27.0 |
|
|
2.27.0 |
|
|
2.27.0 |
|
|
3.11.0-beta3 |
|
|
3.11.0-beta3 |
|
|
3.11.0-beta3 |
|
|
3.11.0-beta3 |
|
|
1.11.0 |
|
|
3.11.0-beta3 |
|
|
8.5.40 |
|
|
3.2.0-alpha05 |
|
|
3.2.0-alpha05 |
|
|
3.2.0-alpha05 |
|
|
3.2.0-alpha05 |
|
|
3.2.0-alpha05 |
|
|
3.2.0-alpha05 |
|
|
3.2.0-alpha05 |
|
|
42.2.5 |
|
|
1.18.8 |
|
|
2.3.1 |
|
|
2.3.1 |
|
|
1.0.2 |
|
|
2.35.1 |
|
|
3.141.59 |
|
|
3.141.59 |
|
|
3.141.59 |
|
|
3.141.59 |
|
|
3.141.59 |
|
|
3.141.59 |
|
|
3.141.59 |
|
|
3.141.59 |
|
|
3.141.59 |
|
|
3.141.59 |
|
|
1.5.0 |
|
|
1.7.26 |
|
|
1.7.26 |
|
|
1.7.26 |
|
|
1.7.26 |
|
|
1.7.26 |
|
|
1.7.26 |
|
|
1.7.26 |
|
|
1.7.26 |
|
|
1.7.26 |
|
|
1.7.26 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
2.2.0.M2 |
|
|
2.2.0.M2 |
|
|
2.2.0.M2 |
|
|
2.2.0.M2 |
|
|
4.2.0.M2 |
|
|
4.2.0.M2 |
|
|
4.2.0.M2 |
|
|
4.2.0.M2 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.2.0.M3 |
|
|
2.0.5.RELEASE |
|
|
2.0.5.RELEASE |
|
|
2.0.5.RELEASE |
|
|
2.0.5.RELEASE |
|
|
2.0.5.RELEASE |
|
|
2.2.0.M4 |
|
|
2.2.0.M4 |
|
|
3.2.0.M4 |
|
|
3.2.0.M4 |
|
|
2.2.0.M4 |
|
|
2.2.0.M4 |
|
|
2.2.0.M4 |
|
|
1.1.0.M4 |
|
|
2.2.0.M4 |
|
|
2.2.0.M4 |
|
|
2.2.0.M4 |
|
|
2.2.0.M4 |
|
|
5.2.0.M4 |
|
|
2.2.0.M4 |
|
|
1.1.0.M4 |
|
|
3.2.0.M4 |
|
|
3.2.0.M4 |
|
|
3.2.0.M4 |
|
|
4.1.0.M4 |
|
|
1.0.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
2.3.0.M2 |
|
|
2.3.0.M2 |
|
|
2.3.2.RELEASE |
|
|
2.3.2.RELEASE |
|
|
2.3.2.RELEASE |
|
|
2.3.2.RELEASE |
|
|
2.3.2.RELEASE |
|
|
2.3.2.RELEASE |
|
|
2.0.0.M1 |
|
|
2.0.0.M1 |
|
|
2.0.3.RELEASE |
|
|
2.0.3.RELEASE |
|
|
2.0.3.RELEASE |
|
|
2.0.3.RELEASE |
|
|
2.0.3.RELEASE |
|
|
1.2.4.RELEASE |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
5.2.0.M2 |
|
|
2.2.0.M1 |
|
|
2.2.0.M1 |
|
|
2.2.0.M1 |
|
|
2.2.0.M2 |
|
|
2.2.0.M1 |
|
|
2.2.0.M1 |
|
|
2.2.0.M1 |
|
|
3.0.7.RELEASE |
|
|
3.0.7.RELEASE |
|
|
3.0.7.RELEASE |
|
|
3.0.7.RELEASE |
|
|
3.0.7.RELEASE |
|
|
1.1.0 |
|
|
3.0.11.RELEASE |
|
|
3.0.11.RELEASE |
|
|
3.0.4.RELEASE |
|
|
3.0.4.RELEASE |
|
|
3325375 |
|
|
0.37 |
|
|
3.27.2 |
|
|
2.6.2 |
|
|
2.6.2 |
|
|
2.6.2 |
|
|
2.6.2 |
|
|
2.6.2 |
|
|
1.24 |
|
|
3.0.1 |
|
|
1.6.3 |