Commit Graph

459 Commits

Author SHA1 Message Date
Stephane Nicoll
a635c36470 Fix doc typo 2014-08-08 13:17:55 +02:00
Andy Clement
095bd99951 Add support for inline maps in SpEL expressions
This commit introduces the ability to specify an inline map in
an expression. The syntax is similar to inline lists and of
the form: "{key:value,key2:value}". The keys can optionally
be quoted. The documentation is also updated with information
on the syntax.

Issue: SPR-9472
2014-08-06 11:15:11 -07:00
Stephane Nicoll
d6b1cdc55f Custom cache annotations and AspectJ
This commit clarifies what should be done in order to use custom cache
annotations with AspectJ.

Issue: SPR-11503
2014-08-04 17:26:01 +02:00
Stephane Nicoll
3c72849ee4 Fix broken link 2014-08-04 14:45:35 +02:00
Stephane Nicoll
59c5d7d1ca Add messaging module section
Issue: SPR-11847
2014-08-04 14:41:52 +02:00
Rossen Stoyanchev
fe88b6e054 Add to SockJsClient reference documentation
Issue: SPR-12006
2014-08-01 16:57:13 -04:00
Sebastien Deleuze
28c70baf61 Add documentation for Java SockJS client
Issue: SPR-12006
2014-08-01 16:57:13 -04:00
Rossen Stoyanchev
25decee1a4 Polish 2014-07-31 17:47:24 -04:00
Sebastien Deleuze
87273d1b83 Enrich documentation with details on how to filter messages
Issue: SPR-11952
2014-07-31 17:47:24 -04:00
Rossen Stoyanchev
70ccbbfab1 Fix documentation issue for user destinations
Issue: SPR-11992
2014-07-31 17:12:32 -04:00
Rossen Stoyanchev
e4182da4eb Add section on path pattern comparison
Issue: SPR-10576
2014-07-31 16:28:00 -04:00
Rossen Stoyanchev
f50cb06dc2 Polish 2014-07-29 17:58:16 -04:00
Sebastien Deleuze
20c9a8bad4 Improve documentation for using "." as destination separator
Issue: SPR-12007
2014-07-29 17:17:40 -04:00
Rossen Stoyanchev
8e38b7ede6 Add section on web security
Issue: SPR-6125
2014-07-29 16:56:37 -04:00
Stephane Nicoll
b6389a6c66 Jms request/reply operations
This commit updates JmsMessagingTemplate to support the
MessageRequestReplyOperation interface that provides synchronous
request/reply operations.

As JmsMessagingTemplate delegates everything under the scenes to
JmsTemplate, the latter has been updated as well to offer such lower
level operation.

Issue: SPR-12037
2014-07-28 15:52:50 +02:00
Juergen Hoeller
d4fe732f46 Typo fixes and cleanup of outdated Java 5 references
Issue: SPR-12020
2014-07-24 17:00:44 +02:00
Stephane Nicoll
db5cebc681 Fix typo 2014-07-23 17:30:15 +02:00
Rossen Stoyanchev
829d204663 MVC config doc updates 2014-07-18 09:18:34 -04:00
Sebastien Deleuze
7412d43acd Update documentation with MVC config view resolution examples
Issue: SPR-11989
2014-07-18 09:18:34 -04:00
Rossen Stoyanchev
29c6c9a375 Add guidance on URI vars and suffix pattern matching
Issue: SPR-11728
2014-07-18 00:41:38 -04:00
Rossen Stoyanchev
ab2526a586 Update support for using "." as path separator
Issue: SPR-11660
2014-07-14 18:49:25 -04:00
Stephane Nicoll
29bdbceaa2 Customize concurrency at listener level
Prior to this commit, customizing the concurrency to use fo a given JMS
listener involved to define it in a specific listener-container. As
this is quite restrictive, users may stop using the XML namespace
support altogether to fallback on regular abstract bean definition for
the container.

This commit adds a concurrency attribute to the jms and jca listener
element as well as on the @JmsListener annotation. If the value is set,
it takes precedence; otherwise the value provided by the factory is
used.

Issue: SPR-11988
2014-07-14 15:49:31 +02:00
Rossen Stoyanchev
48236be4a2 STOMP and WebSocket messaging related logging updates
This change removes most logging at INFO level and also ensures the
amount of information logged at DEBUG level is useful, brief, and
not duplicated.

Also added is custom logging for STOMP frames to ensure very readable
and consise output.

Issue: SPR-11934
2014-07-09 00:39:59 -04:00
Rossen Stoyanchev
ab4864da2a Add STOMP/WebSocket stats collection
This change adds collection of stats in key infrastructure components
of the WebSocket message broker config setup and exposes the gathered
information for logging and viewing (e.g. via JMX).

WebSocketMessageBrokerStats is a single class that assembles all
gathered information and by default logs it once every 15 minutes.
Application can also easily expose to JMX through an MBeanExporter.

A new section in the reference documentation provides a summary of
the available information.

Issue: SPR-11739
2014-07-09 00:39:47 -04:00
Stephane Nicoll
e20ac27fb4 Fix mutually exclusive use of CachePut and Cacheable
Commit eea230f introduced a regression by adding a support for the
"result" variable in SpEL expression for @CachePut. As such expressions
cannot be evaluated upfront anymore, any method that contains both
@Cacheable and @CachePut annotations are always executed even when
their conditions are mutually exclusive.

This is an example of such mutual exclusion

@Cacheable(condition = "#p1", key = "#p0")
@CachePut(condition = "!#p1", key = "#p0")
public Object getFooById(Object id, boolean flag) { ... }

This commit updates CacheEvaluationContext to define a set of
unavailable variables. When such variable is accessed for a given
expression, an exception is thrown. This is used to restore the
evaluation of the @CachePut condition upfront by registering "result"
as an unavailable variable.

If all @CachePut operations have been excluded by this upfront check,
the @Cacheable operation is processed as it was before. Such upfront
check restore the behavior prior to eea230f.

Issue: SPR-11955
2014-07-07 14:18:19 +02:00
Juergen Hoeller
b5a5fffdfd Reference documentation covers application scope now
Issue: SPR-11944
2014-07-03 22:26:24 +02:00
Stephane Nicoll
62351e0f6e Fix wrong method signature in documentation
Issue: SPR-11945
2014-07-03 17:00:25 +02:00
Rossen Stoyanchev
1c91a52639 Add STOMP subscribe/unscubscribe ApplicationContext events
Issue: SPR-11813
2014-06-28 11:07:42 -04:00
Juergen Hoeller
f966bf683c Explicitly mention BeanPostProcessor declaration requirements with @Bean methods
Issue: SPR-11906
2014-06-25 12:44:17 +02:00
Sam Brannen
b4e16eacc5 Require JUnit 4.9 or higher in the TCF
Prior to this commit, the Spring TestContext Framework (TCF) was
compatible with JUnit 4.5 or higher.

This commit effectively raises the minimum version of JUnit that is
officially supported by the TCF to JUnit 4.9, thereby aligning with
similar upgrades made in the Spring Framework 4.0 release (i.e.,
upgrading minimum requirements on third-party libraries to versions
released mid 2010 or later).

Issue: SPR-11908
2014-06-25 10:10:25 +02:00
Brian Clozel
cff36d68b1 update documentation with latest forum infos
Forums will be shortly deactivated and questions should take place
in StackOverflow.
2014-06-19 15:33:06 +02:00
Stephane Nicoll
9ba9f562f2 Add @ComponentScan documentation
This commit provides a proper documentation for the @ComponentScan
annotation as a java config alternative to <context:component-scan/>

Issue: SPR-11846
2014-06-11 11:51:10 +02:00
Stephane Nicoll
6b6b008c1f Fix typo
Issue: SPR-11862
2014-06-10 16:51:13 +02:00
Stephane Nicoll
5cc779ab35 Fix callout formatting issue 2014-06-10 10:58:05 +02:00
Stephane Nicoll
c7b106577f polishing
Reorganized class structure to match our code style (setter for
properties at the top of the class, public method before private
implementation).

Removed DisposableBean as it the lifecycle is already taking care
of removing MBeans on stop.

Cleaned test suite

Issue: SPR-8045
2014-06-10 10:13:58 +02:00
Juergen Hoeller
af4621d996 Reference documentation consistently refers to Apache HttpComponents instead of outdated Commons HttpClient
Includes overhaul of remaining references to J2SE and J2EE, consistently replacing them with "the JDK" and "Java EE".

Issue: SPR-11853
2014-06-07 00:29:09 +02:00
Vasyl Tretiakov
abc377603d Reference manual polishing 2014-06-06 07:57:55 +02:00
Stephane Nicoll
05041ff39a Update JMS documentation
This commit updates the JMS documentation regarding the side effects
of not using the  cache with a non durable subscriber.

Issue: SPR-7883
2014-05-26 10:40:32 +02:00
Gildas Cuisinier
8d306bfbc0 fix javadoc link for RestController and PropertySource 2014-05-24 18:29:52 +02:00
Stephane Nicoll
9952973e01 Add missing cache-resolver attribute
Prior to this commit, CacheResolver could not be configured through
the XML namespace (i.e. cache:annotation-driven). This is now the
case.

Issue: SPR-11490
2014-05-21 09:03:18 +02:00
Stephane Nicoll
05e96ee448 Cache provider related exceptions handling
This commit adds the necessary infrastructure to handle exceptions
thrown by a cache provider in both Spring's and JCache's caching
abstractions.

Both interceptors can be configured with a CacheErrorHandler that
defines several callbacks on typical cache operations. In particular,
handleCacheGetError can be implemented in such a way that an
exception thrown by the provider is handled as a cache miss by the
caching abstraction.

The handler can be configured with both CachingConfigurer and the
XML namespace (error-handler property)

Issue: SPR-9275
2014-05-20 16:39:34 +02:00
Stephane Nicoll
7469159bf1 Add MessageSendingOperations for JMS
This commit adds a JMS implementation of MessageSendingOperations,
allowing to send JMS messages using Spring's standard Messaging
abstraction.

MessagingMessageConverter is a standard JMS's MessageConverter that
can convert Spring's Message to JMS message and vice versa. Existing
infrastructure has been updated to use this implementation.

Issue: SPR-11772
2014-05-19 10:46:13 +02:00
Sebastien Deleuze
be0b69cbf1 Add support for Jackson serialization views
Spring MVC now supports Jackon's serialization views for rendering
different subsets of the same POJO from different controller
methods (e.g. detailed page vs summary view).

Issue: SPR-7156
2014-05-15 23:03:33 -04:00
Brian Clozel
a072b3f20d Fix RestTemplate documentation for gzip encoding
Prior to this commit, RestTemplate's documentation advised to a
DecompressingHttpClient decorator along with Apache's HttpClient in
order to support gzipped responses.

Since this is now deprecated as of Apache HttpClient 4.3+, this commits
update the documentation with HttpClientBuilder.
2014-05-14 18:04:46 +02:00
Rossen Stoyanchev
2c4cbb617e Add WebSocket scope
This change adds support for a custom "websocket" scope.

WebSocket-scoped beans may be injected into controllers with message
handling methods as well as channel interceptor registered on the
"inboundClientChannel".

Issue: SPR-11305
2014-05-11 12:31:17 -04:00
Stephane Nicoll
89fc3c0257 Add BackOffExecution to isolate state
This commit separates the BackOff configuration from an actual
 execution. BackOffExecution now contains all the state of a
 particular execution and BackOff is only meant to start (i.e.
 create) a new execution.

 The method "reset" has been removed as its no longer necessary:
 when an execution does not need to be used for a given operation
 anymore it can be simply discarded.

 Issue: SPR-11746
2014-05-09 16:39:01 +02:00
Stephane Nicoll
49040a2925 Add back-off attribute to JMS namespace
This commit adds a "back-off" attribute to the jms:listener-container
 element so that a BackOff instance can be provided for users of the
 XML namespace.

 Issue: SPR-11746
2014-05-09 15:05:43 +02:00
Rossen Stoyanchev
97fb308b6b Allow use of @SendToUser even w/o authenticated user
Before this change, subscribing to a user destination and use of
@SendToUser annotation required an authenticated user.

This change makes it possible to subscribe to a user destination from
WebSocket sessions without an authenticated user. In such cases the
destination is associated with one session only rather than with a
user (and all their sessions).

It is then also possible to send a message to a user destination
via "/user/{sessionId}/.." rather than "/user/{user}/...".

That means @SendToUser works relying on the session id of the input
message, effectively sending a reply to destination private to the
session.

A key use case for this is handling an exception with an
@MessageExceptionHandler method and sending a reply with @SendToUser.

Issue: SPR-11309
2014-05-08 22:06:57 -04:00
Stephane Nicoll
7b7fe9aa17 JMS documentation update
This commit updates the documentation of the JMS chapter
with the newly annotated endpoint infrastructure
2014-05-07 12:00:29 +02:00
Stephane Nicoll
6551aa61fa Fix typo
Issue: SPR-11571
2014-05-02 09:57:00 +02:00