Commit Graph

138 Commits

Author SHA1 Message Date
Juergen Hoeller
3c549ef9fa Polishing 2015-10-07 15:51:41 +02:00
Juergen Hoeller
f562eb5ff6 Avoid ConcurrentModificationException in SingleConnectionFactory's AggregatedExceptionListener
Issue: SPR-13421
(cherry picked from commit 1ed1167)
2015-09-02 17:23:57 +02:00
Juergen Hoeller
7575271075 Polishing 2015-07-30 17:52:33 +02:00
Juergen Hoeller
b77cc7ae4a Prefer use of "Java EE" over "J2EE"
(cherry picked from commit 14f27bd)
2015-07-30 14:23:53 +02:00
Juergen Hoeller
4012b4df5e Clarify acknowledge mode semantics and transaction recommendations
Issue: SPR-13278
(cherry picked from commit e5a2b34829)
2015-07-30 14:23:36 +02:00
Juergen Hoeller
bccdefdf30 Polishing 2015-06-11 18:01:00 +02:00
Juergen Hoeller
c111bd7547 Message listener containers only call Session.recover() in client acknowledge mode
Issue: SPR-13052
(cherry picked from commit fee63fd)
2015-05-22 17:24:26 +02:00
Stephane Nicoll
bd05e3ade2 Apply DestinationResolver to listener container
Previously, a custom `DestinationResolver` was not made available
to the underlying `MessageListener`: if a reply needs to be sent, the
default `DestinationResolver` was used.

This commit ensures that if a custom `DestinationResolver` has been set,
it is also configured accordingly for replies.

Issue: SPR-12927
2015-05-22 15:50:19 +02:00
Juergen Hoeller
76649a4455 Explicit documentation on 4.1+ properties in AbstractMessageListenerContainer
(cherry picked from commit 6f98cf3)
2015-03-20 23:56:37 +01:00
Juergen Hoeller
7ed7f981c9 Polishing
(cherry picked from commit b541fc9)
2015-03-06 18:50:49 +01:00
Juergen Hoeller
3783591083 Polishing
(cherry picked from commit e5207e6)
2015-03-02 21:56:21 +01:00
Juergen Hoeller
91c47a9eb8 Revised documentation on AUTO_ACKNOWLEDGE behavior
Issue: SPR-12705
(cherry picked from commit c1a9e34)
2015-02-27 22:34:07 +01:00
Stephane Nicoll
adc7ad7fb2 Fix detection of the @SendTo annotation
Previously, the default reply destination could not be discovered if the
@JmsListener annotation was placed on a bean that is eligible for
proxying as the proxy method is used internally and does not reveal
an annotation placed on the implementation.

This commit makes sure to resolve the most specific method when
searching that annotation.

Issue: SPR-12513
2014-12-08 10:56:02 +01:00
Sebastien Deleuze
fbd85925de Use Jackson improved default configuration everywhere
With this commit, Jackson builder is now used in spring-websocket
to create the ObjectMapper instance.

It is not possible to use the builder for spring-messaging
and spring-jms since these modules don't have a dependency on
spring-web, thus they now just customize the same features:
 - MapperFeature#DEFAULT_VIEW_INCLUSION is disabled
 - DeserializationFeature#FAIL_ON_UNKNOWN_PROPERTIES is disabled

Issue: SPR-12293
2014-12-03 09:49:41 +01:00
Juergen Hoeller
e02c23eea4 Straight JmsMessagingTemplate setup based on JMS ConnectionFactory
Issue: SPR-12413
2014-11-06 14:29:29 +01:00
Sam Brannen
78459504e0 Clean up warnings in spring-jms 2014-11-01 16:18:32 +01:00
Juergen Hoeller
1146d5ba1d Polishing 2014-10-29 22:44:59 +01:00
Juergen Hoeller
4927c9054f Revised SingleConnectionFactory for individual proxies with ExceptionListener and start/stop state
Issue: SPR-10397
2014-10-29 22:43:48 +01:00
Sam Brannen
4412bc68aa Polish Javadoc 2014-10-23 01:06:12 +02:00
Juergen Hoeller
8325b10080 Consistent formatting of license headers, package javadocs, and import declarations 2014-10-21 01:44:07 +02:00
Juergen Hoeller
57d63a1903 JdbcTemplate and JmsTemplate pass settings with 0 values on to the driver
Issue: SPR-12338
2014-10-17 19:54:30 +02:00
Juergen Hoeller
e58b33a593 Consistent reset of resource holders on doBegin failure
Issue: SPR-12280
2014-10-06 20:31:45 +02:00
Juergen Hoeller
7bc8e5199e Polishing 2014-09-29 23:50:23 +02:00
Juergen Hoeller
cfd9fd6863 Polishing 2014-09-29 17:35:23 +02:00
Stephane Nicoll
bb45fb4538 Restore sleep interval between recovery attempt
Commit 6a04831 introduced a regression that lead to burst recovery
attempts when the broker is up but the listener is failing for some
reason (the most obvious one being that the destination does not
exist).

Since the sleep period between recovery attempts strategy is more
complex, we can't just sleep for a period of time. But we can create
an execution and apply it once which should work just fine for most
use cases.

Issue: SPR-12183
2014-09-29 15:35:07 +02:00
Sam Brannen
9f6c0cb166 Polish Javadoc for @JmsListener 2014-09-28 15:12:07 +02:00
Juergen Hoeller
58b22ceddc Scheduled/JmsListenerAnnotationBeanPostProcessor avoids needless re-scanning of non-annotated classes
Issue: SPR-12189
2014-09-17 21:55:35 +02:00
Juergen Hoeller
82f8b4330c CachingConnectionFactory proceeds to physicalClose in case of logicalClose exceptions
Issue: SPR-12148
2014-09-04 00:36:17 +02:00
Juergen Hoeller
98eb0f75bc Polishing 2014-09-02 22:15:53 +02:00
Stephane Nicoll
da8771d5a9 polishing 2014-09-01 18:31:07 +02:00
Stephane Nicoll
8c4388dd6e Place holder resolution in @JmsListener arguments
This commit allows to use place holder definitions for JmsListener
attributes, effectively allowing to externalize those settings from
the code.

Issue: SPR-12134
2014-09-01 16:27:47 +02:00
Phillip Webb
ac8326d2df Polish mockito usage
Consistent use of BDDMockito rather than standard Mockito.
2014-08-11 16:23:11 -07:00
Stephane Nicoll
c0ea87010f Improve destination-type documentation
Issue: SPR-12073
2014-08-11 15:43:45 +02:00
Juergen Hoeller
c06ac06bdd JmsMessagingTemplate uses local convertJmsException template method instead of generic MessagingExceptionTranslator interface
This commit also turns MessagingException into a NestedRuntimeException subclass which delivers a root message that has the cause message appended to it. That's a common expectation with the use of Spring exceptions since all of our exception hierarchies have historically been designed that way.

Issue: SPR-12064
Issue: SPR-12038
2014-08-09 22:06:50 +02:00
Stephane Nicoll
5b35fc2d77 Add JmsTemplate accessor in JmsMessagingTemplate 2014-08-08 18:09:16 +02:00
Stephane Nicoll
c1d149591a Add base header mapper implementation 2014-08-08 16:59:42 +02:00
Stephane Nicoll
4a1a622004 polishing 2014-08-08 09:37:47 +02:00
Stephane Nicoll
3da68cfe21 Remove unused imports 2014-08-04 14:13:40 +02:00
Stephane Nicoll
7d1e33d88d Move JmsHandlerMethodFactory to spring-messaging
This commit moves JmsHandlerMethodFactory and its default
implementation to the messaging abstraction. Working on a similar
support for AMQP revealed that this factory has nothing that is JMS
specific and is exactly identical in the case of AMQP.

Issue: SPR-12053
2014-08-01 16:08:31 +02:00
Stephane Nicoll
515b9649fa Fix javadoc typo 2014-07-30 08:45:26 +02:00
Juergen Hoeller
1fe742addf MessagingExceptionTranslator lives in support subpackage now
Issue: SPR-12038
2014-07-29 16:22:47 +02:00
Stephane Nicoll
89d63eb79b JmsMessagingTemplate exception management
This commit introduces MessagingExceptionTranslator, a messaging
exception translation infrastructure similar to what
PersistenceExceptionTranslator provides.

JmsMessagingTemplate does not throw raw JmsException anymore but
translates those to an instance of Spring's MessagingException
hierarchy.

Issue: SPR-12038
2014-07-29 12:29:43 +02:00
Juergen Hoeller
036896a6b8 Split configuration constants into local XConfigUtils classes instead of piling them up in AnnotationConfigUtils 2014-07-28 21:58:21 +02:00
Juergen Hoeller
92c657e12d JmsListener/ScheduledAnnotationBeanPostProcessor uses SmartInitializingSingleton instead of ContextRefreshedEvent
Also reducing the container dependencies to BeanFactory instead of ApplicationContext, wherever possible.

Issue: SPR-12039
2014-07-28 15:58:13 +02: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
Stephane Nicoll
0a46f38527 polishing 2014-07-24 17:12:31 +02:00
Juergen Hoeller
c082220b34 AbstractMessageListenerContainer calls "Session.recover()" in case of rollback attempt on non-transacted Session
Issue: SPR-12015
2014-07-22 16:50:41 +02:00
Juergen Hoeller
3be190df6a Consistent removal of JMS 1.0.2 references 2014-07-18 17:21:31 +02:00
Juergen Hoeller
a9100c427c Revision of JMS annotated endpoint support, plus support for JMS 2.0's shared subscriptions
Issue: SPR-9882
Issue: SPR-11969
2014-07-18 17:21:21 +02:00
Stephane Nicoll
dd713c70aa Fix typo 2014-07-18 11:50:49 +02:00