Commit Graph

64 Commits

Author SHA1 Message Date
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
Artem Bilan
3757592f2a INT-2631: remove BD logic from GroovyControlBus
* make 'Groovy Control Bus' similar to 'Expression Control Bus'
* add tests about `abstract` & `prototype` Beans
* fix about lost `groovy.lang.Script#println()` functionality in the `GroovyControlBusFactoryBean$ManagedBeansBinding`
* polishing `GroovyControlBusDelayerManagementTest` to show abilities & fixes with this issue

JIRA: https://jira.springsource.org/browse/INT-2631

INT-2631: polishing according to PR comments
2012-06-28 10:43:15 -04:00
Artem Bilan
e5061c070b INT-2622: add JMX support for DelayerHandler
* introduce DelayHandlerManagement
* add GroovyControlBusIntegrationTests
* test for Delayer Management via Groovy Control Bus
2012-06-21 11:33:17 -04:00
Artem Bilan
d1d4faa151 INT-1132: Rescheduling Support for DelayHandler
- Add support for DelayHandler to reschedule persisted Messages on startup via 'implements ApplicationListener<ContextRefreshedEvent>' as late as possible
- Change DelayHandler dependency to MessageGroupStore
- Add required DelayHandler.messageGroupId property
- Make registered by SI-namespace TaskScheduler as default for DelayHandler
- Remove 'required' from delayer xml-attribute 'default-delay' as redundant
- Additional refactoring & polishing around <delayer>
- Polishing delayer's Tests
- Tests for 'rescheduling'
- Integration test for 'rescheduling' with JdbcMS

INT-1132: add 'initializingLatch' to DelayHandler

INT-1132: additional polishing

INT-1132: add LIFO JMS polling test-case

INT-1132: Changes according to PR comments

INT-1132: Changes according to PR comments 2

Polishing

Remove blocking calls from tests.
2012-06-19 10:00:03 -04:00
Artem Bilan
74b4638eb9 INT-2567: Improvement & refactor Groovy component
Introduce VariableResolver, BeanFilter, FilteredBeanFactoryDecorator, GroovyVariableResolverBinding, refactoring ManagedBeansScriptVariableGenerator for usage GroovyVariableResolverBinding.
GroovyVariableResolverBindingTests.
additional tests for GroovyControlBus.
add 'spring-web' dependency for tests about 'request' custom scope.
Manual: change description about 'Groovy Control Bus' scripts limitation'.

INT-2567: Improve & refacror Groovy Control Bus

Introduce separate BindingOverwriteGroovyObjectCustomizerDecorator
Internal GroovyControlBusFactoryBean$ManagedBeansBinding with delegation to provided BeanFactory
Inline ScriptVariableGenerator implementation just for Message 'headers' variable
Tests for new GroovyScriptPayloadMessageProcessor logic about binding
Integration tests for managed beans in the custom scope
Reference Manual: polishing description about Control Bus' behavior

INT-2567 polishing added @link to javadocs
2012-06-01 10:59:39 -04:00
Gary Russell
95cd202be6 INT-2536 Create 2.2 Schemas
Add 2.2 versions of module schemas.

JMX is already covered by an existing pull request.

INT-2536 Schema Check

Bump version for schema check in
AbstractIntegrationNamespaceHandler.

INT-2536 Remove Schema Versions

Some test config files had 2.1 versioned schemas.
2012-05-04 10:04:01 -04:00
Artem Bilan
920e2f2f50 INT-2405 fix MessageProcessor for <header-value>
1. MethodInvokingHeaderValueMessageProcessor => MessageProcessingHeaderValueMessageProcessor because now he uses MessageProcessor
2. polishing HeaderEnricherParserSupport
3. GroovyHeaderEnricherTests: add check to HeaderValueMessageProcessor for Groovy scripts.
4. build.gradle: add dependency to 'spring-integration-test' for 'spring-integration-groovy'.
2012-02-06 10:17:53 -05:00
Artem Bilan
51da77d14d INT-2399 fix processMessage for service-activator
ServiceActivatorFactoryBean#createMessageProcessingHandler: force 'processMessage' method-name parameter into constructor ServiceActivatingHandler for MessageProcessor
Test for check 'handlerMethods' in ServiceActivatingHandler's MethodInvokingMessageProcessor
Integration test for <service-activator> with invalid Groovy inline script
2012-02-06 09:59:46 -05:00
Gary Russell
b59ee8e352 INT-2369 package-info IP
INT-2360 package-info Core

INT-2361 package-info AMQP

INT-2362 package-info Event

INT-2363 package-info Feed

INT-2364 package-info File

INT-2365 INT-2380 package-info (S)FTP

INT-2366 package-info GemFire

INT-2367 package-info Groovy

INT-2368 package-info Http

INT-2378 package-info Scripting

INT-2372 package-info JMS
2012-01-05 14:42:24 -05:00
Mark Fisher
02526ec6c0 catching and ignoring Exception 2011-11-23 08:03:58 -05:00
Oleg Zhurakousky
5a9a21bcee Refactored FileWritingMessageHandlerFactoryBean
Brought FileWritingMessageHandlerFactoryBean into the hierarchy of AbstractSimpleMessageHandlerFactoryBean
2011-10-19 11:28:57 -04:00
Mark Fisher
8bee66816c versionless schemas for groovy module 2011-10-10 12:36:07 -04:00
David Turanski
08f81ae51d Moved scripting support from core to scripting
spring-integration-test: Enhanced RequestResponseScenario test framework

 changed scripting namespace URIs to standard pattern
2011-09-23 09:07:42 -04:00
Mark Fisher
0acff625da polishing 2011-09-15 07:22:51 -04:00
Oleg Zhurakousky
85378b6c03 added logic to recognize abstract bean definitions in GroovyControlBusFactoryBean.ManagedBeansScriptVariableGenerator 2011-09-15 07:22:14 -04:00
Mark Fisher
7c5603fe83 INT-2092 update schema imports to use 2.1 version 2011-08-31 05:26:02 -04:00
David Turanski
9f415cc6ab INT-1576,INT-1579,INT-2025: added spring-integration-scripting and fixed HeaderEnricher issue 2011-08-03 15:16:19 +05:30
David Turanski
207f043587 INT-1576,INT-1579,INT-2025: added spring-integration-scripting and fixed HeaderEnricher issue 2011-08-03 15:16:19 +05:30
Oleg Zhurakousky
ccffab2d17 INT-1881 added support for nesting processing beans in the 'header' element of header-enricher (e.g., bean, script etc.) 2011-04-29 11:38:35 -04:00
Mark Fisher
b6f2f920c8 removed unused import 2011-02-04 20:10:10 -05:00
Oleg Zhurakousky
6a29c50f21 INT-1727, INT-1784, added customizer test to the Groovy ControlBus, updated Groovy documentation with customizer notes 2011-02-04 19:57:48 -05:00
Mark Fisher
a29bd4ff6b avoiding static var in test 2011-02-04 19:43:36 -05:00
Oleg Zhurakousky
f9f2f8cd21 INT-1727 added customizer tests 2011-02-04 19:34:05 -05:00
Mark Fisher
21b28f92f5 INT-1784 added support for the 'customizer' attribute in the namespace, for both <script> elements and the groovy <control-bus> 2011-02-04 18:47:41 -05:00
Mark Fisher
3210d4a9a2 INT-1784 added support for GroovyObjectCustomizers 2011-02-04 14:45:25 -05:00
Oleg Zhurakousky
f5dc6019d5 INT-1727 polishing 2011-02-04 12:07:38 -05:00
Mark Fisher
4c669ec205 INT-1727 moved AbstractScriptExecutingMessageProcessor to the 'scripting' package and refactored executeScript() to accept a variable Map instead of the Message. The base class now manages the scriptVariableGenerator property. 2011-02-04 11:56:19 -05:00
Mark Fisher
8c50f02555 INT-1727 polishing 2011-02-04 10:20:25 -05:00
Mark Fisher
031aa372c0 INT-1727 polishing 2011-02-04 09:40:57 -05:00
Oleg Zhurakousky
ec4ff5c747 INT-1727 polished documentation, tests, configuration and schema files to reflect name changes for ScriptVariableGenerator 2011-01-31 16:23:52 -05:00
Oleg Zhurakousky
ae823fdb5d INT-1727 renamed DefaultScriptVariableSource to DefaultScriptVariableGenerator, documented the new feature in reference manual 2011-01-31 14:06:29 -05:00
Oleg Zhurakousky
da227f07a9 INT-1727 renamed ScriptedVariableSource to ScriptVariableGenerator 2011-01-31 13:43:25 -05:00
Oleg Zhurakousky
c3b99e4bcf INT-1727 polished implementation of DefaultScriptVariableSource as well as isolated the ScriptVariableSource implementation used by the Control Bus into a private inner class 2011-01-31 09:15:16 -05:00
Oleg Zhurakousky
c0ec30b3ce INT-1727 modified doResolveScriptVariables(..) method of DefaultScriptVariableSource to include a Message as an argument 2011-01-29 12:05:28 -05:00
Oleg Zhurakousky
2df24cc603 INT-1727 removed the runtime resolution of bean in DefaultScriptVariableSource if the actual instance is RuntimeBeanReference 2011-01-28 10:08:07 -05:00
Oleg Zhurakousky
bda613709f INT-1727 decoupled relationship between Groovy Contro Bus and generic Script Processor 2011-01-28 08:54:38 -05:00
Oleg Zhurakousky
e9b85bca18 INT-1727 added namespace support for script-variable-source 2011-01-27 16:46:59 -05:00
Oleg Zhurakousky
c3db043334 INT-1727 added namespace support for Groovy binding variables 2011-01-27 16:05:37 -05:00
Oleg Zhurakousky
f80df192c8 INT-1727 refactored Groovy support to use ScriptVariableSource 2011-01-27 11:19:20 -05:00
Oleg Zhurakousky
403855fea6 INT-1727 added Message as input parameter to ScriptVariableSource.resolveScriptVariables(Message) method 2011-01-26 10:20:02 -05:00
Oleg Zhurakousky
e6d58735dd INT-1727 added initial support to allow customization of Groovy bindings 2011-01-26 10:14:11 -05:00
Oleg Zhurakousky
d9263ea92a INT-1715 fixed poller schema definition to allow 'ref' attribute on inner-pollers definitions used in non-core schemas 2011-01-04 13:12:49 -05:00
Mark Fisher
1803d73547 INT-1676 added spring.tooling and .gif icons for adapters that were missing these files 2010-12-10 10:41:54 -05:00
Mark Fisher
5873ee98eb INT-1552 doc polishing, also updated Groovy-based Control Bus to be more consistent with the SpEL version 2010-11-22 14:02:00 -05:00
Mark Fisher
4e8076fd2b INT-1552 doc polishing, also updated Groovy-based Control Bus to be more consistent with the SpEL version 2010-11-22 14:01:39 -05:00
Dave Syer
a0db55a75e INT-1420: add docs for control bus and tidy JMX 2010-11-12 09:27:13 +00:00
Mark Fisher
24b08f2602 polishing 2010-11-04 16:10:55 -04:00
Dave Syer
53dd793819 INT-1507: add control bus to core and groovy 2010-10-25 10:04:47 -07:00
Dave Syer
d7bbbaae17 INT-1507, INT-1545: Add groovy processor for payloads
- Remove unneeded config file
- Upgrade groovy
- fix potential permgen leak in groovy payload processor
- Test concurrent execution
2010-10-23 10:47:24 -07:00
Oleg Zhurakousky
9c701c4e34 INT-1381, added test for 0 value 2010-09-02 13:22:52 +00:00