Commit Graph

431 Commits (15991b2fd046c5f6dace5751182c0377aac79c2e)

Author SHA1 Message Date
Stephane Nicoll 109c3a3439 Auto configure CharacterEncodingFilter
Provide a default UTF-8 encoding for HTTP requests and responses unless
specified otherwise.

Fixes gh-1182
10 years ago
Andy Wilkinson 7d1606dcfa Merge branch '1.1.x'
Conflicts:
	spring-boot-dependencies/pom.xml
10 years ago
Andy Wilkinson f07c090876 Upgrade to Mongo Java Driver 2.12.4
The exception message for a connection timeout has been updated to
include the timeout period. The tests for the sample have been updated
accordingly.

Closes gh-1884
10 years ago
Andy Wilkinson 150b85e10d Merge branch '1.1.x'
Conflicts:
	spring-boot-dependencies/pom.xml
10 years ago
Andy Wilkinson a9b88d6955 Document need for ServerEndpointExporter and show its use in a sample
Traditionally, a @ServerEndpoint-annotated bean is found by a servlet
container initialiser, however Boot does not run servlet container
initialisers when an embedded container is being used. To be able to use
@ServerEndpoint in a Boot app that uses embedded Tomcat a
ServerEndpointExporter bean must be declared.

This commit updates the documentation to describe this requirement and
also updates the WebSockets sample to illustrate the use of
ServerEndpointExporter. The version of Spring Framework has been updated
to 4.0.8.BUILD-SNAPSHOT. This picks up the fix for SPR-12340.

Closes gh-1722
10 years ago
Phillip Webb d039f43107 Update samples to use @SpringBootApplication
Update the relevant samples to use the new @SpringBootApplication
annotation.

Closes gh-1842
10 years ago
Phillip Webb 96a031cf20 Default spring.datasource.jmx-enabled to false
Change the default value of spring.datasource.jmx-enabled to false
to prevent InstanceAlreadyExistsException problems when using the
Spring Test Framework.

Fixes gh-1590
10 years ago
Phillip Webb 9d4ada7939 Add Tomcat 7 and Jetty 8 samples
Switch the Tomcat 8 and Jetty 9 samples to Tomcat 7 and Jetty 8. Since
Tomcat 8 and Jetty 9 are now the default versions the previous samples
are no longer relevant, however, we do need integration tests to check
that we remain compatible with Tomcat 7 and Jetty 8.

See gh-1832
10 years ago
Phillip Webb 48d651c753 Add Jetty 9 sample
See gh-369
10 years ago
Phillip Webb 39037e0cab Use the Mongo starter for the sample application
See gh-1831
10 years ago
Phillip Webb a973fd41f4 Polish 10 years ago
Dave Syer f304d46955 Add JMX MBean for Tomcat DataSource
If the DataSource is a Tomcat one we force it to register an MBean
if spring.jmx.enabled=true

Fixes gh-1590
10 years ago
Andy Wilkinson a85e02fbb9 Update to Spring Data Evans SR1
Closes gh-1709
10 years ago
Dave Syer a7e1ec842d Use @*@ delimiters in Maven resource filtering
It *is* very useful to have filtering on by default, so that is now
the case (in spring-boot-starter-parent). Users can filter resources
by default by adding @*@ placeholders (so as not to clash with Spring
${} placeholders).

Fixes gh-1199
10 years ago
Phillip Webb cf24af0bfb Rework logging to prevent double initialization
Prior to this commit LoggingSystem initialization would happen multiple
times. Once to configure "quiet" logging, and again to configure correct
settings once the Application was initialized. This could cause problems
if `logging.groovy` logback files were used.

The logging system is now only initialized once (when possible) by
following these steps:

- Standard logging initialization occurs via the actual logging
  implementation used (e.g. logback will load a logback.xml file if it
  exists)
- beforeInitization() is called to prevent early log output.
  Implementations now either use a Filter or simply set the root logging
  level.
- initialize() is called with an optional log configuration file (e.g
  a custom logback.xml location) and an optional log output file (the
  default is null indicating console only output).

The initialize() method will attempt to prevent double initialization
by checking if a standard configuration file exists. Double
initialization now only occurs in the following situations:

- The user has a standard configuration file (e.g. classpath:logback.xml)
  but also specifies a logging.config property. Double initialization is
  required since the specified configuration file supersedes the default.
- The user has a standard configuration file (e.g. classpath:logback.xml)
  and specifies a logging.file property. Double initialization is
  required since the standard configuration may use a ${LOG_FILE}
  reference.

In addition this commit removes the `logging.console` option and now
assumes that logging either occurs only to console or to both the
console and a file. This restriction helps simplify the LoggingSystem
implementations. If file only logging is required a custom logback.xml
can be used.

Fixes gh-1091
See gh-1612, gh-1770
10 years ago
Phillip Webb d17b7c8195 Polish 10 years ago
Andy Wilkinson ba40f13370 Update expectation to match response from anonymous access to /health 10 years ago
Dave Syer 24e71e868f Allow /health and /info to authenticate anonymously
Then we can optionally find a non-anonymous principal if there
is one. If the user is anonymous then the health result is cached
up to endpoints.health.ttl (default 1000ms) to prevent a DOS attack.

Fixes gh-1353
10 years ago
Phillip Webb 2e7aa4685b Polish 10 years ago
Andy Wilkinson 47285f9f02 Merge branch '1.1.x' 10 years ago
Andy Wilkinson 186b3a66e3 Update WebSocket sample with new SockJS CDN
Closes gh-1740
10 years ago
Andy Wilkinson 6b1f76ad6b Merge branch '1.1.x' 10 years ago
Andy Wilkinson 160d609bd4 Protect against race condition where output file exists but it is empty
Previously, there was a timing window where the output file had been
created but it was empty. This would cause the test to fail as the
output was read from the empty file and didn’t match the expected “Hello
World”.

This commit updates the test to only process the resources in the output
directory when all the resolved resources have a non-zero content
length. An @Before method has also been added to delete the output
produced by the test so that the outcome of the test isn’t affected by
files generated by previous runs.

Fixes gh-1735
10 years ago
Andy Wilkinson 886bbc3b41 Merge branch '1.1.x' 10 years ago
Andy Wilkinson 9a2d654eba Rename test classes so that their tests are run by Maven 10 years ago
Dave Syer 89197eb03b Add org.hibernate.SQL to the --debug logger levels
I think this fixes gh-446 (it seems unreasonable to want to log the DDL
even if it is not being executed)
10 years ago
Phillip Webb 3228cfa9bd Fixup version numbers following release 10 years ago
Spring Buildmaster 3e71a21b30 Next development version 10 years ago
Phillip Webb a3527521a2 Also resolve favicon.ico from resource folders
Update FaviconConfiguration to allow favicon.ico files to be resolved
from static resource folders (/META-INF/resources, /resources, /static,
/public) in addition to the root classpath.

Fixes gh-1656
10 years ago
Andy Wilkinson 07cb8f2836 Ensure that spring.data.rest.* configuration takes effect
Previously, RepositoryRestMvcBootConfiguration was not annotated with
@Configuration. This meant that it was processed in lite mode.
Crucially, in lite mode, there’s no proxying so each call to the
config() @Bean method from within other @Bean methods resulted in the
creation of a new RepositoryRestConfiguration instance. Furthermore, as
each of these instances wasn’t a Spring bean the configuration
properties were not applied.

This commit updates RepositoryRestMvcBootConfiguration to annotate it
with @Configuration so that it’s no longer processed in lite mode. It
also updates the unit tests and the Spring Data REST sample to verify
that the baseUri can be configured using application.properties.

Fixes gh-1675
10 years ago
Phillip Webb 4c51aa8e28 Polish 10 years ago
Andy Wilkinson 7287c66d88 Fix Actuator sample's health test 10 years ago
Daniel Fullarton 1dbc94d0f7 Add a logging system, starter and sample for Log4j 2
Closes gh-1565
10 years ago
Andy Wilkinson 8e000f3da1 Merge branch '1.1.x' 10 years ago
Andy Wilkinson b85926e6f0 Fix the rest of the typo InMemoryRepository's name 10 years ago
Andy Wilkinson b8759ebf69 Merge branch '1.1.x' 10 years ago
matzschmanski 02fef4295d Fix typo: InMemoryMessageRespository -> InMemoryMessageRepository
Closes gh-1671
10 years ago
Phillip Webb 62eb01f0b8 Polish 10 years ago
Phillip Webb 09d5812c3b Merge branch '1.1.x' 10 years ago
Phillip Webb b616e9fdc4 Rename SampleIntegrationApplicationTests 10 years ago
Dave Syer 64ef03aafd Fix Jersey1 integration test 10 years ago
Dave Syer 339f3b7bf0 Add autoconfig support for Jersey (2)
Jersey 2 has some Spring support built in but it's a bit awkward to
use in a Boot app, so autoconfiguration seems appropriate. The tests
and sample show how to use it, but the short story is that any
@Component can define JAX-RS endpoints via @GET etc.

There's a sample for Jersey 1 as well (pay careful attention to
the plugin configuration if you want to build an executable jar)

Fixes gh-1651
10 years ago
Manuel Doninger 02e33c125c Use reflection to load Hibernate version specific classes
This adds support for Hibernate 4.2 again by loading the specific
classes with reflection.

Fixes gh-1460, fixes gh-1557
10 years ago
Andy Wilkinson fcd855cd5e Merge branch '1.1.x' 10 years ago
Andy Wilkinson 61e90f5b6e Add tests to Data REST sample for search operations
Closes gh-1627
10 years ago
bangsen.yin b798d001d7 Add missing @Param annotations to CityRepository in Data REST sample
Without the @Param annotations, using either of the search URIs would
resulted in a 400 response and an error describing the lack of @Param
annotation.

See gh-1627
10 years ago
Phillip Webb 4f9258a345 Fixup version numbers following release 10 years ago
Spring Buildmaster edb4b7ed7d Next development version 10 years ago
Phillip Webb 0d0e5eb590 Merge branch '1.1.x' 10 years ago
Dave Syer 336b96b81c Copy server customization to management context
If the actuator endpoints are configured on a different port then there
are some settings in the main ServerProperties that we would like to
re-use (e.g. the access log). The easiest way to do that is to just
configure the management server using the same ServerProperties instance
and then overwrite the things that are different (and stored in
ManagementServerProperties).

Fixes gh-1581
10 years ago