Commit Graph

10021 Commits (02641a820759f157b24594e3167f23a9f388f79c)
 

Author SHA1 Message Date
Phillip Webb 02641a8207 Optimize AutoConfigurationSorter
Optimize `AutoConfigurationSorter` by used properties generated by the
annotation processor whenever possible. The removes the need for each
candidate class to be ASM parsed just to access the order annotations.

See gh-7573
8 years ago
Phillip Webb 1cbda9bd60 Add AutoConfigurationMetadata abstraction
Add AutoConfigurationMetadata interface and a an internal loader that
allows easy access to data written by `spring-boot-configure-processor`.

See gh-7573
8 years ago
Madhura Bhave ca435512c0 Introduce spring-boot-autoconfigure-processor
Add an annotation processor that generates properties files for certain
auto-configuration class annotations. Currently attribute values from
@AutoConfigureOrder, @AutoConfigureBefore, @AutoConfigureAfter and
@ConditionalOnClass annotations are stored.

The properties file will allow optimizations to be added in the
`spring-boot-autoconfigure` project. Primarily by removing the need
to ASM parse as many `.class` files.

See gh-7573
8 years ago
Phillip Webb ccf964eb9a Optimize OnEnabledResourceChainCondition
Optimize OnEnabledResourceChainCondition by removing the DataBinder.
Properties are now read directly from the Environment.

See gh-7573
8 years ago
Phillip Webb f8ded6de63 Don't use DataBinder to work out excludes
Update `AutoConfigurationImportSelector` so that exclude properties
are loaded without invoking a `DataBinder`. This optimization helps
to improve application startup time.

See gh-7573
8 years ago
Phillip Webb 49fc727706 Lazy initialize JacksonJsonParser ObjectMapper
Update `JacksonJsonParser` to that the `ObjectMapper` is only
initialized on first use. This performance optimization helps with
startup times if nothing uses the parser.

Fixes gh-8074
8 years ago
Phillip Webb cfd5a73b64 Don't call ReflectionUtils do deduce bean type
Update `OnBeanCondition` to no longer call `ReflectionUtils` when
deducing the bean method return type. Since Spring Framework 4.2
the return type has been directly available from `MethodMetadata`.

See gh-7573
8 years ago
Phillip Webb 996afafac6 Optimize OnClassCondition isPresent check
Update `OnClassCondition` to use its own `isPresent` rather than using
`ClassUtils.isPresent`. Using our own implementation saves a few cycles
since we never need to check for native types, and we don't support
nested class references specified in the non `$` notation.

See gh-7573
8 years ago
Phillip Webb 9650668291 Remove dependency from `root` to `condition`
Remove the slightly unusual dependency from the root autoconfigure
pacakge to `condition`. Prior to this commit the link was required in
ordere to populate the `ConditionEvaluationReport`. We now introduce
a `AutoConfigurationImportListener` strategy that allows anyone to
listen for AutoConfigurationImportEvents. The listener implementation
is now used to update the ConditionEvaluationReport.

Fixes gh-8073
8 years ago
Phillip Webb b225b7f33a Rename EnableAutoConfigurationImportSelector
Rename EnableAutoConfigurationImportSelector to the more general
AutoConfigurationImportSelector since it's now used for more than
just the enable annotation.

The existing EnableAutoConfigurationImportSelector class remains in
a deprecated form so that it can be made package-private again in
Spring Boot 2.0.

Fixes gh-8072
8 years ago
Phillip Webb 2c89d9918f Relocate AutoConfigurations from root package
Move PropertyPlaceholder and MessageSource auto-configuration from the
root package to the `context` subpackage.

Fixes gh-8071
8 years ago
Phillip Webb 5703fb1515 Polish 8 years ago
Stephane Nicoll f36b051071 Deprecate exceptionIfInvalid for yaml processing
See gh-8027
8 years ago
Stephane Nicoll 0286128b28 Deprecate exceptionIfInvalid
This commit deprecates the `exceptionIfInvalid` feature as we have now a
way to select the `@ConfigurationProperties` object to validate (i.e. add
`@Validated` on them).

Closes gh-8027
8 years ago
Andy Wilkinson 393cfe505e Allow spring.profiles.include to be used anywhere to add active profiles
Previously, spring.profiles.include was only considered when it was
used in a configuration file. It was ignored in any other property
source.

This commit updates ConfigFileApplicationListener so that
spring.profiles.include can be used in any property source to add to
the profiles that have been declared active via
spring.profiles.active.

Closes gh-7668
8 years ago
Andy Wilkinson 07d9c3fef6 Rename classes and package in new OAuth2 and Actuator sample
Closes gh-8058
8 years ago
Andy Wilkinson 0067082eac Document a warning about embedded Tomcat and tmpwatch on CentOS
Closes gh-5009
8 years ago
Andy Wilkinson 9a79d32f4c Polishing 8 years ago
Andy Wilkinson 68fdd49a0b Document payload types of messages sent to metricsChannel
Closes gh-7790
8 years ago
Andy Wilkinson c86b844477 Remove @Component from ResourceServerFilterChainOrderProcessor
Closes gh-8050
8 years ago
Stephane Nicoll a15cb26278 Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll 4760a1a6e1 Merge pull request #8057 from izeye:fix-test-20170122
* pr/8057:
  Fix entry in broken-initialization.factories
8 years ago
Johnny Lim 752b8bd650 Fix entry in broken-initialization.factories
Closes gh-8057
8 years ago
Stephane Nicoll 012f3d3509 Upgrade to Spring LDAP 2.3.1.RELEASE
Closes gh-8055
8 years ago
Andy Wilkinson 080ff49c8d Prevent AspectJ from loading aspects too early
Previously, AspectJ would find META-INF/aop.xml almost as soon as
the jar was launched, and before LaunchedURLClassLoader had been
created. This meant that AspectJ would attempt to load aspects listed
in META-INF/aop.xml but that were package in BOOT-INF/classes and,
therefore, could not be loaded.

This commit updates the Repackager so that a META-INF/aop.xml file
is moved into BOOT-INF/classes. This ensures that it isn't visible
to the app class loader so it won't be loaded to early. It will
now be loaded by LaunchedURLClassLoader which can also load the
compiled aspects that aop.xml references.

Closes gh-7587
8 years ago
Andy Wilkinson a30fe9d9ff Update ServerPropertiesTests to tolerate changes in Tomcat 8.5.11
Closes gh-7360
8 years ago
Andy Wilkinson b71baf2c38 Support @ContextHierarchy when using @SpringBootTest
Closes gh-8000
8 years ago
Andy Wilkinson 0ad4e0e70f Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 9e2e824098 Upgrade to Tomcat 8.5.11
Closes gh-7360
8 years ago
Andy Wilkinson bfd319755c Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 0ce7c9516a Document how to configure test- and profile-specific Flyway migrations
Closes gh-2753
8 years ago
Stephane Nicoll 45b93f3223 Merge pull request #8047 from eddumelendez:gh-7965
* pr/8047:
  Upgrade to Spring LDAP 2.3.0.RELEASE
8 years ago
Eddú Meléndez 5b57beca57 Upgrade to Spring LDAP 2.3.0.RELEASE
Closes gh-8047
8 years ago
Stephane Nicoll fbae14da5d Merge pull request #7600 from michael-simons:DataMongoTest
* pr/7600:
  Polish contribution
  Add slide test annotation for MongoDB
8 years ago
Stephane Nicoll 915c959a28 Polish contribution
Closes gh-7600
8 years ago
Michael J. Simons 8648520876 Add slide test annotation for MongoDB
This commits adds a slice test infrastructure for MongoDB, similar to
what `@DataJpaTest` does with JPA.

By default, an embedded Mongod process is used if available.

See gh-7600
8 years ago
Stephane Nicoll b19d31e067 Use a random port with embedded Mongo by default
This commit improves the logic of the embedded Mongo support to use a
random port if no custom port has been specified. This doesn't change
the default if the embedded support isn't active.

Closes gh-8044
8 years ago
Andy Wilkinson b900a3efc8 Update Actuator endpoints to use custom media type
Previously, the actuator's endpoints produced application/json and,
where appropriate, also consumed application/json. Without a custom,
versioned media type, it's impossible for us to make changes to the
endpoints without breaking clients.

This commit introduces a new media type,
application/spring-boot.actuator.v1+json, that is now produced by
default with application/json also being produced if requested.
Endpoints that consume JSON will now also accept content the uses
the new media type in addition to application/json.

Closes gh-7967
8 years ago
Stephane Nicoll bed545df64 Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll 93bc34c1eb Merge pull request #8039 from rafael-rollo:master
* pr/8039:
  Indenting SpringApplication javadoc code
8 years ago
Rafael Rollo 6fba1381c1 Indenting SpringApplication javadoc code
Closes gh-8039
8 years ago
Stephane Nicoll 2c5c539bf1 Document automatic scheduling of metrics export
Closes gh-8040
8 years ago
Stephane Nicoll 079bbfb720 Merge pull request #8038 from artembilan:Spring_AMQP_1.7.0
* pr/8038:
  Upgrade to Spring AMQP 1.7.0.RELEASE
8 years ago
Artem Bilan 00f3ed348e Upgrade to Spring AMQP 1.7.0.RELEASE
Closes gh-8038
8 years ago
Stephane Nicoll 9213245b70 Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll d9a0a55245 Upgrade to Spring AMQP 1.6.7.RELEASE
Closes gh-8033
8 years ago
Phillip Webb f3cd0ad22c Polish 8 years ago
Phillip Webb 655fa59db0 Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb b05bdbfe4f Polish 8 years ago
Madhura Bhave e73c6bb2e2 Exclude authorization header from trace by default
Closes gh-7974
8 years ago