Commit Graph

107 Commits

Author SHA1 Message Date
Gary Russell
49a6079d1a INT-2683 Add Reply Listener Container Option
INT-2683 Tests

Expanded JMS Gateway Tests

INT-2683 First commit

Listener Container Option for Replies

INT-2683 Remove no correlation-key Option

INT-2863 Support DestName and Temp Dest

INT-2683 Add back Support No CorrelationKey

INT-2683 Fix Tests

INT-2683 Polishing

Fallback if no correlationKey and fixed reply queue.

INT-2683 Polishing

Change from SMLC to DMLC

INT-2683 Polishing

Since we changed to DMLC, we can now remove the check for
SingleConnectionFactory.

INT-2683 <reply-listener/> Namespace Support

Add <reply-listener/> subelement to JMS Outbound Gateway.
2012-09-20 21:22:11 -04:00
Gary Russell
281c985da9 INT-2740 MessageSelector w/ Pollable JMS Channel
Previously, the 'selector' attribute was ignored when
a JMS Channel was pollable rather than message-driven.

Add support for MessageSelector to PollableJmsChannel.
2012-09-07 14:09:33 -04:00
Oleg Zhurakousky
a333d33112 Revert "INT-2683, INT-2684 JmsOutboundGateway improvements"
This reverts commit f127dc2d34.
2012-08-21 11:28:13 -04:00
Oleg Zhurakousky
f127dc2d34 INT-2683, INT-2684 JmsOutboundGateway improvements
Added support for caching reply consumers when reply queue is Temporary Queue
Added support for reuse of temporary Reply queues in the JmsOutboundGateway

Added check in ChannelPublishingJmsMessageListener to catch IllegalAccessExceptions
when Session is closed

INT-2683 first round of PR coomments

INT-2683 polish

INT-2683 polishing
code restructuring, other optimizations

INT-2683 modified 'messageCorrelationId' generation logic to be the object identity of the jmsReques as its 3-4 times fatster then String.valueOf(System.currentTimeMillis() +
-                String.valueOf(System.nanoTime())

INT-2683
polished JOG to ensure that it properly manages the correlation id when used in the pipeline
added various combinations of pipeline tests

INT-2683 added copyrights to tests

INT-2683 polishing

INT-2683 polishing

INT-2683 added more pipeline tests

INT-2683 added more tests

INT-2683 polishing test

INT-2683 Polishing

INT-2683 More Pipeline Tests

INT-2683 Don't Propagate CorrelationID

Message correlation is internal to the JOG. Cannot
propagate an existing correlation id because some
downstream JOG may end up correlating (selecting) on
the same key.

INT-2683 Polishing

Fix whitespace - replace spaces with tabs.

INT-2683 polishing
reverted 2.1 schema back to its master state, fixed the typo in the test
2012-08-17 17:09:21 -04:00
Gary Russell
08cbab08c2 INT-2214, INT-343, INT-2250 MessageHandler Advice
Add general capability to advise just the handleRequestMessage
part of an AbstractReplyProducingMessageHandler.

This is to advise just the immediate operation, and not the
entire downstream flow.

Uses include:

* outbound gateway post processing
* adding retry behavior using spring-retry
* adding circuit breaker functionality

Initial commit for review.

Also need to advise simple message handlers (such as file
etc) to allow them to post-process file operations
with payload.delete(), payload.renameTo(...) etc.

INT-2250 Add Circuit Breaker Advice

INT-343 Add Retry Advice

Stateless and Stateful retry using spring-retry. Stateless
means the RetryTemplate performs the retries internally.
Stateful means the exception is thrown (e.g. to JMS container)
and the retry state is maintained by spring-retry.

INT-2215, INT-343, INT-2250 Refactoring

Factor out common abstract Advice class.

INT-2214 Catch Evaluation Expression Exceptions

If an onSuccess expression evaluation fails, add an
option so the user can decide whether such an exception is
caught, or propagated to the caller.

INT-2214 etc PR Review Polishing

INT-2214 etc Namespace Core, File, FTP

Add <request-handler-advice-chain/> to outbound endpoints.

INT-2214 etc. More Namespace Support

amqp, event, gemfire, groovy, http, ip, jdbc, jms, jmx, jpa, mail, rmi, sftp, twitter, ws, xmpp

INT-2214 etc Polishing

PR Review

INT-2214 etc Polishing

Don't catch Throwable.

Move Advice classes to handler.advice package.
2012-08-06 09:15:58 -04:00
Gary Russell
2ecb14de2a INT-2285 Implement max-subscribers on Channels
Add a subscriber limit on both unicast and publish-subscribe
channels. This permits detection of inadvertent channel wiring
during context initialization.

Also add a mechanism to globally set these defaults.

Two properties are added to ChannelInitializer. If the
'channelInitializer' bean is declared before a channel, and
these properties are set, it will globally override the
default (Integer.MAX_VALUE) for these properties.

For example:

    <bean id="channelInitializer" class="org.springframework.integration.config.xml.ChannelInitializer">
        <property name="autoCreate" value="true" />
        <property name="defaultMaxUnicastSubscribers" value="1" />
        <property name="defaultMaxMulticastSubscribers" value="2" />
    </bean>

will make the default max-subscribers 1 and 2 for <channel/> and
<publish-subscribe/> channels respectively.

Also applies to module channels (jms, amqp, redis).
2012-07-16 14:12:27 -04:00
Gunnar Hillert
39ee7a4429 INT-2657 - Spelling Error in AbstractMailReceiver
* Also fixed spelling error in *PollableJmsChannelTests*
2012-07-10 22:55:44 -04:00
Gary Russell
f9741d7ef3 INT-2523 Add QOS Attributes on JMS Channel
The Factory Bean already supported the attributes but
the namespace did not.

Also, the priority was fixed (if set via the factory bean).

Add QOS attributes to schema/parser; add use of
DynamicJmsTemplateProperties to allow override of configured
priority with the priority header (in the same way as the
outbound endpoints).
2012-06-19 11:14:59 -04:00
Artem Bilan
45c429ee2b INT-2275: any outbound-channel-adapter in <chain>
Add re-init logic for nested chains
Add logic about nested element for AbstractChannelAdapterParser
Refactor of DefaultOutboundChannelAdapterParser
Test for non-last nested chain with some outbound-channel-adapter
Improve XSD for chain-type
Manual outbound-channel-adapter ability for chain
Integration tests for all outbound-channel-adapter within <chain>
Remove redundant 'return-value-required' attribute from <stored-proc-outbound-channel-adapter>
Add support 'expectReply' for FileWritingMessageHandler

INT-2275 polishing & refactor FileOutbound*Parser

HttpRequestExecutingMessageHandlerTests polishing

INT-2275: polishing JavaDoc
2012-05-14 12:41:39 -04:00
Gary Russell
bd2fd0e1be INT-2471 Improve Run Time For JMS Tests
Mostly due to auto-started adapters in parser tests.

Reduced gradle run time from several minutes down to < 1 min.

INT-2471 Polishing

Remove sysout.
2012-03-24 16:27:41 -04:00
Gary Russell
f75dc53ab0 INT-2431 Improve 'Dispatcher Has No Subscribers'
Add channel name to MessageDeliveryException

'Dispatcher has no subscribers'.

In a large integration flow, it can be difficult to track
down which subscribable channel has no subscribers.

This commit adds to the message text in the form

    for channel someChannelName

to the exception message. For example:

    "Dispatcher has no subscribers for channel myChannel."

Also

    for amqp-channel someAmqpChannelName
    for jms-channel someJMSChannelName
    for redis-channel someJMSChannelName

INT-2431 Polishing

Make component type and name immutable once set to avoid
channels further down the stack frame claiming ownership.

INT-2431 Polishing

* PR Comments - use a new Exception type
* Add support for Redis
* Add WARN logs for AMQP/JMS pub-sub channels

INT-2431 Polishing

PR Comments: tighten up isPubSub field in AMQP-backed channel.

INT-2431 Polishing

Ensure channel name is not 'null' or empty string.
2012-03-23 09:50:01 -04:00
Gary Russell
6f2dcab4b2 INT-2414 Error When container-class Supplied
JMS backed channels can have container-type and
container-class. Parser rejected container-class because
the schema has a default for container-type.

Both attributes are allowed; user must set container-type
appropriately (based on the superclass of the custom class)
when container-class is provided.
2012-01-24 12:33:51 -05:00
Gary Russell
0899768d1e INT-2406 Add JMSTimestamp Property To Headers
Inbound JMSTimestamp property is now mapped to header
jms_timestamp.
2012-01-23 10:22:30 -05:00
Mark Fisher
4a9d09dfed versionless schemas for jms module 2011-10-10 13:02:34 -04:00
Mark Fisher
9f59001230 removed deprecated trigger sub-elements non-core 2011-08-31 12:54:22 -04:00
Mark Fisher
229b6bfb9f maintaining reply-timeout for outbound-gateway
INT-1943: the underlying property is "sendTimeout", but the attribute exposed
  on the element will remain 'reply-timeout' since most outbound gateways have
  this terminology exposed - for sending of the reply to the reply-channel
2011-08-31 05:07:24 -04:00
Mark Fisher
49ee745e6f request destination exprs for outbound-gateway 2011-08-30 19:21:37 -04:00
Mark Fisher
d3f5c90348 destination expr for outbound-channel-adapter 2011-08-30 17:59:05 -04:00
Mark Fisher
9b6d3cd838 properly support request and reply pubSubDomain 2011-08-29 17:40:50 -04:00
Mark Fisher
aa0e8a335f added support for durable subscription settings 2011-08-22 10:53:48 -04:00
Oleg Zhurakousky
e62563bfec INT-1948 added support for 'cache-level' attribute to the namespace-based configuration of JMS Message Driven Channel adapter and JMS Inbound Gateway 2011-07-06 20:40:03 -04:00
Oleg Zhurakousky
8e20d845bf INT-1910 fixed ChannelPublishingJmsMessageListener to react to Lifecycle events of JmsMessageDrivenEndpoint 2011-05-19 17:37:44 -04:00
Oleg Zhurakousky
d26159e1a6 INT-1886 refactored ChannelPublishingJmsMessageListener to delegate to MessagingGatewaySupport instead of subclassing it 2011-05-04 12:04:15 -04:00
Mark Fisher
54e7a7b994 INT-1880 added support for 'reply-channel' attribute on JMS inbound-gateway elements 2011-04-26 09:57:14 -04:00
Oleg Zhurakousky
1d05b013f9 INT-1851 added support for mapping JMS properties of the jms reply message to SI Message headers 2011-04-15 18:08:25 -04:00
Oleg Zhurakousky
75aa5b3058 INT-1855 fixed support for applying channel interceptors on PollableJmsChannel 2011-04-11 16:38:49 -04:00
Oleg Zhurakousky
d19f126da9 INT-1830 added support for resolution of 'concurrency' with property placeholder 2011-03-08 18:27:02 -05:00
Oleg Zhurakousky
c0ea0ef882 INT-1830 added support for configuring concurrency on jms channel 2011-03-07 22:30:31 -05:00
Mark Fisher
034994ecb3 INT-1793 added a 'receive-timeout' attribute to the JMS inbound-channel-adapter element 2011-02-09 19:11:28 -06:00
Mark Fisher
cbfb6945b4 added PollableJmsChannelTests 2011-02-02 21:24:56 -05:00
Mark Fisher
0cb10b5942 INT-1435 added support for runtime priority from SI Message header on JMS outbound gateway 2011-02-02 19:40:50 -05:00
Mark Fisher
da6174c8f0 INT-1435 added support for dynamic priority (thread-bound at runtime) for sending JMS messages 2011-02-02 19:04:46 -05:00
Mark Fisher
d97066bd96 INT-1435 adding tests, one @Ignore-d for now 2011-02-02 10:47:39 -05:00
Oleg Zhurakousky
061ce2f05d INT-1768 added support for propagating AcknowledgeMode to JmsTemplate when explicitly set on JMS inbound-channel-adapter 2011-01-28 10:43:52 -05:00
Oleg Zhurakousky
f5e9dc72e4 INT-1719 adding missing test config file 2011-01-20 17:00:16 -05:00
Oleg Zhurakousky
2cc182a667 INT-1719 added delivery-persistent attribute to outbound-gateway, deprecated delivery-mode 2011-01-20 16:58:47 -05:00
Oleg Zhurakousky
4c023d673b adding JMS Channel history test with full config 2011-01-17 18:13:07 -05:00
Oleg Zhurakousky
2eb426b0af INT-1743 refactored test, no more ActiveMQ 2011-01-13 14:00:00 -05:00
Oleg Zhurakousky
6d9335e897 INT-1743 polished test 2011-01-13 13:31:19 -05:00
Oleg Zhurakousky
04e2c47b23 INT-1743 polished test, increased the sleep time 2011-01-13 13:12:15 -05:00
Oleg Zhurakousky
529cf4686e INT-1743 added support for MessageHistory to JMS Channel 2011-01-13 12:59:32 -05:00
Mark Fisher
3131d217d1 INT-1698 GlobalChannelInterceptorBeanPostProcessor now does its processing *after* initialization so that it can apply to the results of FactoryBeans (as in the JMS Channel case) 2010-12-17 16:15:40 -05:00
Oleg Zhurakousky
96aab9bf28 INT-1698 addd test for JMS global interceptors 2010-12-17 16:01:13 -05:00
Oleg Zhurakousky
67b26da0e0 polishing removed @Overides as well as fixed warnings in JMS and JMX 2010-11-16 16:11:19 -05:00
Mark Fisher
ed9a8d90a3 INT-1626 the JMS 'message-driven-channel-adapter' element now accepts the 'error-channel' attribute 2010-11-16 02:11:39 -05:00
Mark Fisher
c6d68c9e2a INT-1623 replaced 'exception-mapper' with 'error-channel' on 'gateway' and JMS 'inbound-gateway' elements 2010-11-15 23:57:58 -05:00
Mark Fisher
dbbcde22cd INT-1569 added inboundPrefix and outboundPrefix to DefaultJmsHeaderMapper. For now, the defaults are blank. 2010-11-12 15:15:36 -05:00
Mark Fisher
35c767a93b INT-1586 added 'receive-timeout', 'recovery-interval', and 'idle-consumer-limit' attributes 2010-11-11 09:31:47 -05:00
Mark Fisher
cfb378ab4f removed unused imports in tests 2010-11-05 18:34:58 -04:00
Mark Fisher
c05e5db50a INT-813 added tests for PollableJmsChannels 2010-09-23 17:49:11 -04:00