Commit Graph

6633 Commits (e9eae2cc1e8c0a0ba0eaada94bc67dcf4e6c3930)
 

Author SHA1 Message Date
Stephane Nicoll 6d90188a27 Fix Maven/Gradle wrapper executable flag
Spring Initalizr now bundles a wrapper script for the build system. While
that wrapper has the necessary execute flag in the zip archive, that flag
is lost as the zip abstraction does not honor those.

The init command now makes sure to restore the execute flag on `mvnw`
and `gradlew` if necessary.

Unfortunately, this can't be tested as the Windows build would fail to
assert that the executable flag has been propertly set.

Closes gh-4392
9 years ago
Stephane Nicoll 2c4f88e221 Fix Hazelcast auto-configuration ordering
Make sure that the general Hazelcast auto-configuration is processed
before the cache auto-configuration. This was supposed to be fixed and
tested in 721b5a2 but unfortunately the `@AutoConfigureAfter` annotation
was placed on a regular `@Configuration` class (which has no effect).

The tests were passing because the ordering is actually hardcoded in the
test. The relevant tests now use `ImportAutoConfiguration` that simulates
the same order as the one use by the actual application.

Closes gh-4389
9 years ago
Stephane Nicoll 157c0b6cae Register hazelcast post processor only when necessary
Commit 8e0a94f introduced a post processor that adds an explicit link
between the `HazelcastInstance` and the `EntityManagerFactory` so that
Hazelcast is fully initialized before Hibernate actually kicks in.

Unfortunately, the conditions that were implemented to register this post
processor are wrong and any app that has both JPA and Hazelcast support
blows up if no bean with name `hazelcastInstance` is defined.

This commit fixes the situation and reworks the configuration in a
separate auto-configuration that runs after the Hazelcast and JPA support
and check both the presence of an `EntityManagerFactory` and a bean of
name `hazelcastInstance`. If any of those conditions does not apply the
post processor is no longer registered.

Closes gh-4158
9 years ago
Stephane Nicoll 195880c7c0 Merge pull request #4356 from bohrqiu/master
* pr/4356:
  Polish contribution
  Add thread total started count to SystemPublicMetrics
9 years ago
Stephane Nicoll bd8521c1ab Polish contribution
Closes gh-4356
9 years ago
邱占波 35417622e6 Add thread total started count to SystemPublicMetrics
See gh-4356
9 years ago
Stephane Nicoll cce498b530 Merge branch '1.2.x'
# Conflicts:
#	spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc
9 years ago
Stephane Nicoll 6665f8582c Merge branch '1.2.x'
# Conflicts:
#	spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc
9 years ago
Stephane Nicoll 96ca3e0c0f Polish
Add missing documentation

See gh-4220
9 years ago
Stephane Nicoll 6dbdd575a5 Polish 9 years ago
Phillip Webb c94cb1f3d1 Skip BeanInfo class search by default
Set `CachedIntrospectionResults.IGNORE_BEANINFO_PROPERTY_NAME` by
default to improve startup performance. The `spring.beaninfo.ignore`
property can be set in `application.properties` if BeanInfo classes
should be searched.

Fixes gh-4390
9 years ago
Phillip Webb d88210f626 Improve performance with BackgroundPreinitializer
Add a BackgroundPreinitializer to trigger early initialization in a
background thread of time consuming tasks. By moving certain
initialization tasks to background thread and triggering them early
we can improve the critical path when the application starts. For
example, Tomcat's MBeanFactory class parses several XML files when
first loaded. If we trigger the load in a background thread it completes
before Tomcat actually needs to use it.

The initial set of initializers included with this commit are:

- Tomcat MBeanFactory
- javax.validation
- Spring's AllEncompassingFormHttpMessageConverter

See gh-4252
9 years ago
Phillip Webb 602a06d565 Improve performance of RelaxedNames
Replace String.split() with a regex to save compiling the pattern
multiple times.

See gh-4252
9 years ago
Phillip Webb 98ff0fff29 Merge branch '1.2.x' 9 years ago
Phillip Webb 9432ee6a6b Polish 9 years ago
Phillip Webb 3492f1bcca Fix typo in HibernateJpaAutoConfiguration 9 years ago
Dave Syer a3c73cad4a Merge branch '1.2.x'
Conflicts:
	spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ResourceProperties.java
	spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration.java
	spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/WebMvcProperties.java
9 years ago
Dave Syer 124574e345 Add mediaTypes (extension to media type mapping) in MVC resources
Allows users to configure "allowed" file extensions for controller
mappings, so that browsers will not switch to downloading "f.txt"
(part of the recent RFD attack fixes in Spring MVC).

See gh-4220
9 years ago
Phillip Webb 6c2ea4648f Polish 9 years ago
Phillip Webb fd1cbed51c Merge branch 1.2.x 9 years ago
Phillip Webb 2118242e00 Polish 9 years ago
Stephane Nicoll 7a665c5f58 Merge branch '1.2.x' 9 years ago
Stephane Nicoll 8c140092b6 Fix key to disable the metrics filter
Commit d0cf6b5 introduced a `endpoints.metrics.filter.enabled` property
key meant to disable the filter. Unfortunately, the `endpoints.metrics`
namespace is already managed so setting this property will fail.

We now use the same key than the one used to disable the metrics
endpoint.

Closes gh-4365
9 years ago
Dave Syer fa9724becb Revert "Add or avoid proxy configurations for integration tests"
This reverts commit 251f2805a8.
9 years ago
mrumpf 251f2805a8 Add or avoid proxy configurations for integration tests
The Maven POM does all the dependency resolutions for the
spring-boot-antlib project. Delegating this task to Ivy, which is
buried deep in the Antrun/Antunit part of the build, makes any kind
of proxy configuration much more complex.
The ivysettings.xml already has the local M2 repository configured,
but because the folder "repository" is missing, the artifacts, already
downloaded by Maven cannot be resolved from this location.
The Spring and Maven Central repositories should be removed from the
ivysettings.xml files in order to force all resolves to be done through
the local M2 repository. The POM of joda-time version 2.8.1 has an
optional dependency to joda-convert 1.2, which lets the Ivy resolve
process fail, because this version of the joda-convert library was
not resolved by any of the Maven POMs. It seems as if Ivy does not
respect the optional scope, defined in the joda-time POM.

Pass proxy settings to the forked process to make the Gradle distribution download work

Create a gradle.properties file for each Gradle integration test and writes the forking
process' proxy settings as systemProp.http(s).Host/Port to the properties file.
This configures the external process with the right proxy settings to let it download
the Gradle distribution via the HTTP proxy server.

Added a hint for Windows users to get the core.autocrlf setting right

When the core.autocrlf setting under Windows is set to false for example
All files are not converted regarding their EOL characters to the
Windows format with CRLF at a line's end. There is a checkstyle
validation that checks that all files have the system's line endings
and in some test-cases the value from the system property "line.ending"
is used to check test output. So without the conversion, those checks
are going to fail, resulting in build errors.

Fixes gh-4367, fixes gh-3816
9 years ago
Stephane Nicoll 8188060edf Fix broken build 9 years ago
Dave Syer 96ba5ed32c Ensure OAuth2 context state is not reset if access tokens match
We can expect that occasionally a user clicks on a login link when
the token is expired. If the UserInfoTokenServices tries to
authenticate the user at that point, it can retain the option to
refresh the expired token if we preserve the state. Since the
state is in session scope all we need to do is to check that the
token that is being checked has the same value as the one in the
OAuth2ClientContext and re-use the context if it is.

Fixes gh-4251
9 years ago
Dave Syer cfb12fc7c2 Clarify how to switch off security autoconfiguration
The fact that the web security and the authentication manager are
controlled separately should hopefully now be clearer.

Fixes gh-3292
9 years ago
Dave Syer cc3f673874 Narrow range of events listened for in security audit
The InteractiveAuthenticationSuccessEvent is always shadowed by a
regulat AuthenticationSuccessEvent, so there's no need to listen for
all AbstractAuthenticationSuccessEvents.

Fixes gh-4355
9 years ago
Stephane Nicoll 2cfb6fe0f5 Merge branch '1.2.x' 9 years ago
Stephane Nicoll 791e3048cf Fixup version numbers following release 9 years ago
Stephane Nicoll 2aa1a02699 Merge pull request #4359 from ZakarFin/master
* pr/4359:
  Fix linux service script command syntax
9 years ago
ZakarFin efa7303507 Fix linux service script command syntax
Closes gh-4359
9 years ago
Dave Syer f3a2c1f4ac More clarification in metrics export docs 9 years ago
Dave Syer 40f3bed54b Catch up open tsdb docs 9 years ago
Dave Syer 96fcd49e2e OpenTsdbMetricWriter -> OpenTsdbGaugeWriter 9 years ago
Dave Syer db03e8ea50 Fix sample and tidy up MetricWriter/GaugeWriter
The metric export configuration was still using the MetricWriter
interface where it should be using GaugeWriter
9 years ago
Dave Syer 03c56b4cf1 Split MetricWriter into 2 interfaces covering counters and gauges
This way the MetricCopyExporter can make a sensible choice about
what to do with counter metrics, and cache the latest values, so that
they can be properly incremented.

Fixes gh-4305
9 years ago
Stephane Nicoll 0b326035b0 Fix detection of property setter
Previously, the meta-data annotation processor was taking the first
setter that match the property name it has to handle. Contrary to
getters that are enforced by a return type (no argument), multiple
setter candidates may exist.

If a property's type got narrowed over time, the original setter may
have been marked as Deprecated. As the annotation processor takes the
first setter that matches based on the name only, it may pick up the
deprecated one and therefore mark the property as being (wrongly)
deprecatede in the meta-data.

It turns out that checking for the actual type of the setter parameter
brought a side effect: some primitive properties may use the primitive
or the Wrapper counter part. This commit not only look at the proper
setter based on the type but also fallback on the wrapper (or) primitive
if necessary.

Closes gh-4338
9 years ago
Dave Syer 5ed7156061 Add support for lists in SPRING_APPLICATION_JSON 9 years ago
Stephane Nicoll 986275c73d Order configuration properties group in Appendix
Create a set of core groups to gather properties logically: core, web,
security, data, integration, actuator and devtools.

In each of them, groups are ordered against their lexical order.

Closes gh-4344
9 years ago
Andy Wilkinson e3498edc81 Upgrade to Spring Security 4.0.3.RELEASE
Closes gh-3923
9 years ago
Phillip Webb 0ccd33705d Use RelaxedDataBinder for excludes
Update `EnableAutoConfigurationImportSelector` to directly use the
RelaxedDataBinder when obtaining excludes. This removes the need for
the additional getProperties method on RelaxedPropertyResolver.

See gh-4352
9 years ago
Stephane Nicoll abfd139d8f Fix `spring.application.exclude` YAML property
`spring.application.exclude` is retrieved via the
`RelaxedPropertyResolver` API explicitly and it does not have any
standard API to retrieve a list of values. As a consequence that property
could only be specified as a comma-separated value.

This felt convoluted in YAML. `RelaxedPropertyResolver` has now a
`getProperties` method that works with both comma-separated value and
index elements (i.e. list).

Closes gh-4352
9 years ago
Vedran Pavic 718ea5f78b Update systemd service documentation
- update script with valid exit status to ensure service stops cleanly
- clarify unused customization variables

Closes gh-4334
9 years ago
Andy Wilkinson 826acf5d67 Set the working directory to that of the jar when using start-stop-daemon
By default, start-stop-daemon will chdir to the root directory before
starting the process. This prevents an application.properties file that
sits alongside the jar from being found.

This commit updates the call to start-stop-daemon to use --chdir to
set the working directory to that of the jar that’s being launched.

Closes gh-4281
9 years ago
Stephane Nicoll 9a7baf195e Fix typo 9 years ago
Andy Wilkinson b752b0f1d6 Upgrade to Jaybird 2.2.9
Closes gh-4351
9 years ago
Andy Wilkinson bffa10e80b Upgrade to httpcore 4.4.4
Closes gh-4350
9 years ago
Andy Wilkinson 648c983313 Upgrade to commons-dbcp2 2.1.1
Closes gh-4349
9 years ago