Commit Graph

211 Commits

Author SHA1 Message Date
Gunnar Hillert
7055845424 INT-2218 - Chain Parser Validation Improvements
Components within Chain: Add parser validation

For reference see: https://jira.springsource.org/browse/INT-2218

INT-2218 - Code review changes

INT-2218 - Fix HttpOutboundGatewayParserTests

INT-2218 - Remove input-channel validation

Was already covered by PR #592
2012-09-21 12:22:52 +01:00
Gary Russell
a37256146d INT-2744 Mechanism to Suppress Standard Headers
Currently, HTTP mappers don't know if they are inbound
or outbound. This causes problems with mapping certain
headers.

For example, on an inbound adapter, a mapped Content-Length
header should not be re-mapped to an HTTP Header during
response header mapping. However, the Content-Length
does need to be mapped on an outbound adapter response.

Introduce the notion of an exclusion list for both
request and response standard headers.

If a mapper has been configured to use standard headers,
we can detect whether the mapper is being used for inbound
or outbound mapping. We can then apply an 'exclusion' for
certain headers.

Currently, no request headers are suppressed on outbound
mappers and only the 'Content-Length' response header
is suppressed on inbound mappers.

The default mappers created via the static factory
methods use these defaults. Exposing the exclusion setters
will allow users to suppress additional headers, if
deemed necessary.
2012-09-18 17:08:15 -04:00
Artem Bilan
31d0e42c1a INT-2718 & INT-2721: fixes for <chain> & fix bugs
* ban to use 'channel' and 'request-channel' attributes for 'outbound-channel-adapters' and 'outbound-gateways' when they are declared inside the `<chain>`
* fix usage of `<request-handler-advice-chain>` for components when they are declared inside the `<chain>`
* ban to use `<request-handler-advice-chain>` for 'outbound-channel-adapters' when they are declared inside the `<chain>` don't implement `AbstractReplyProducingMessageHandler`
* refactor `IntegrationNamespaceUtils` to use `BeanDefinition` instead of `BeanDefinitionBuilder` for 'advice-chain' parsing
* tests for new logic for 'channel' and 'request-channel' attributes within `<chain>`
* tests for new logic for `<request-handler-advice-chain>` within `<chain>`
* fix failed test on slow machine
* fix `SysLogTransformer` tests

For reference:
https://jira.springsource.org/browse/INT-2718
https://jira.springsource.org/browse/INT-2721
https://jira.springsource.org/browse/INT-2719

INT-2718 Polishing
2012-09-10 16:13:45 -04:00
Gary Russell
273bba370b INT-2730 Move OrderlyShutDownAware Interface
Move from core to context.
2012-08-31 17:57:33 -04:00
Gunnar Hillert
4c77b7c93b INT-2524 - Don't Map Transfer-Encoding Header
For reference see: https://jira.springsource.org/browse/INT-2524

INT-2524 - Add some more tests
2012-08-30 16:39:11 -04:00
Artem Bilan
2607b7a877 INT-2717: add 'view-expression' to <http:I-C-A>
* XSD: add 'view-expression' attribute to the http:inbound-channel-adapter since `HttpRequestHandlingController` supports it.
* Parser test for 'view-expression' attribute

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

INT-2717: Polishing based on PR comments

Polishing - add mutual exlusivity to schema doc.
2012-08-28 09:19:16 -04:00
Oleg Zhurakousky
569f2f3d56 INT-2712 Fix HttpREMHandler ConversionService
Fix initialization of the ConversionService logic
in HttpRequestExecutingMessageHandler to NOT throw an exception if
ConversionService is not an instance of ConfigurableConversionService

Fix previous commit to be compatible with Spring 3.0,
by dependiing on ConverterRegistry instead of
ConfigurableConversionService, which was introduced in Spring 3.1
2012-08-14 14:55:09 -04:00
Oleg Zhurakousky
ad3af54ed6 INT-2712 Fix ConversionService Initialization
Fix initialization of the ConversionService logic
in HttpRequestExecutingMessageHandler to NOT throw an exception if
ConversionService is not an instance of GenericConversionService.

Check for ConfigurableConversionService instead.

INT-2712 polishing

INT-2712 Polishing Tests
2012-08-13 09:35:11 -04:00
Artem Bilan
16d5377e8b INT-2706: fix 'expected-response-type' primitives
* HttpRequestExecutingMessageHandler: change Class.forName() to ClassUtils.forName()
* HttpRequestExecutingMessageHandler: some polishing about DRY
* OutboundResponseTypeTests: tests about "byte[]" & "[B" values for 'expectedResponseTypeExpression'
* OutboundResponseTypeTests: polishing to make it more quickly
* OutboundResponseTypeTests contexts: versionless XSD

JIRA: https://jira.springsource.org/browse/INT-2706
2012-08-10 08:03:37 -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
Gunnar Hillert
78c85c2510 INT-2680 - Duplicate Content-Type header
For reference please see: https://jira.springsource.org/browse/INT-2680
2012-08-03 00:09:56 -04:00
Gunnar Hillert
57bc67b8fb INT-2689 - SI builds without warnings (Except Spring Integration HTTP)
* Ensure that no deprecation warnings occur
* Spring Integration builds with all tests successfully for Spring 3.1.2.RELEASE and 3.0.7.RELEASE (Except Spring Integration HTTP)

For reference see: https://jira.springsource.org/browse/INT-2689

INT-2694 - Fix Http Test Failures with Spring 3.0

As part of INT-2689, fix Http Test Failures in the Spring Integration Http Module when using Spring 3.0.7.RELEASE
For reference see: https://jira.springsource.org/browse/INT-2694
2012-08-01 13:09:51 -04:00
Gunnar Hillert
b07abcd30c INT-2262 - Add reply-timeout to Outbound Gateways
For reference see: https://jira.springsource.org/browse/INT-2262

Add reply-timeout attribute to:

* Amqp Outbound Gateway
* File Outbound Gateway
* Ftp Outbound Gateway
* Sftp Outbound Gateway
* Ws Outbound Gateway

Update Schema Documentation for reply-timeout attribute:

* spring-integration-jpa-2.2.xsd
* spring-integration-jms-2.2.xsd
* spring-integration-jdbc-2.2.xsd
* spring-integration-ip-2.2.xsd
* spring-integration-http-2.2.xsd

Update the *What's new in Spring Integration 2.2* section in the reference manual

INT-2262 - Code Review

* Update copyright year for affected files
* Update author tags for affected files
2012-07-16 14:37:16 -04:00
Gunnar Hillert
9a8f2dae0b INT-1958 - Make HttpRequestHandlingEndpointSupport public
For reference: https://jira.springsource.org/browse/INT-1958
2012-07-12 18:13:28 -04:00
Gary Russell
ae0abc4f6c INT-2515 More Orderly Shutdown
* Add beginShutdown() and endShutdown() to OrderlyShutdownCapable
* JMS/AMQP stop listener containers
* TCP (server side)
** after beginShutdown() disallow new connections, drop (log) new messages
** after endShutdown() close server socket
* HTTP (server side)
** after beginShutdown() disallow any new requests (503 Service Unavailable)

* Docbook updates
** What's new section
** Orderly Shutdown section.
2012-06-26 10:31:22 -04:00
Gary Russell
066eb91100 INT-1849/INT-2147 Add Disposition to File Adapter
* Add *disposition-expression* to the inbound file adapter. This allows for operations such as *payload.delete()*, *payload.renameTo()* after the file is processed.
* The result of executing the expression (if any) is sent to the disposition-result-channel.
2012-06-25 11:38:20 -04:00
Gunnar Hillert
8a7fed15f6 INT-2597 - Fix the static port in Http Test
* Use *SocketUtils* to determine port dynamically rather than hard-coding it

Reference: https://jira.springsource.org/browse/INT-2597
2012-06-22 11:02:30 -04:00
Oleg Zhurakousky
6bbe8057ab INT-1760, INT-1759 Http outbound gateway response type
Change the default expected response type to ResponseEntity

Add support for expected-response-type-expression attribute
to accept SpEL to determine expected response type.

INT-1760, INT-1759 add documentation.

INT-1760, INT-1759 polished javadocs and schema doc

INT-1760, INT-1759 more polishing

INT-1760, INT-1759 polished documentation based on PR

INT-1760 Polishing

Fix Chain test.
2012-06-07 16:25:36 -04:00
Artem Bilan
5bc41bc60b INT-1029: Support for outbound-gateways in chain
XSD refactoring: remove use="required" from 'request-channel' attribute of all 'outbound-gateways'
Tests for all 'outbound-gateways' inside the <chain>
2012-06-07 13:20:56 -04:00
Oleg Zhurakousky
4e9d22eb7b INT-2516 Warn for Invalid request-payload-type
Issue initialization warning on inappropriate
request-payload-type attribute on Http Inbound Endpoint.
2012-06-07 11:16:37 -04:00
Oleg Zhurakousky
b105872bb7 INT-2397 http-method-expression
Add support for http-method-expression attribute to the HTTP Outbound Gateway/Adapter

INT-2397 polishing

INT-2397 polishing based on PR comments

INT-2397 more polishing based on PR comments

INT-2397 polishing

INT-2397 plishing PR comments

INT-2397 polishing
2012-06-01 12:29:40 -04:00
Gary Russell
733e0ead45 INT-2448 Add view-expression to Http Inbound
https://jira.springsource.org/browse/INT-2488

Previously the view name could be specified; with this
change, either the view name or a view-epression can be
provided, with the reply message being the root object
of the evaluation context.

INT-2448 Polishing

Remove deprecation from view-name.

Reuse evaluation context.

INT-2448 Polishing

PR Comments
2012-05-25 12:35:18 -04:00
Gary Russell
a4eb5a981b INT-2570 Fix Failing Tests
Renamed field from uri to uriExpression and it now
contains an expression.

DirectFieldAccessor in tests failed.
2012-05-25 12:22:52 -04:00
Gary Russell
51562d1783 INT-2570 Support url-expression on Outbound Http
Add url-expression as an alternative to url for outbound
http adapters. One of url or url-expression must be
provided (but not both).

The Message is the root object for the expression's
evaluation context; the bean factory can also be
used to resolve '@beanName' expressions.

INT-2570 url-expression Reference Docs

Add note to the reference guide.

INT-2570 Polishing

PR Review Comments

INT-2570 Polishing

PR Review comments.
2012-05-25 12:01:45 -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
Oleg Zhurakousky
f7ba317733 INT-2247
remove MockHttpServletRequest.java, MockHttpServletResponse.java in favor of Spring 3.1 mock classes

INT-2247 polishing

Revert imports
2012-05-08 16:22:19 -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
Gunnar Hillert
027b03af87 INT-2517 - Upgrade to Spring 3.1
* Update **build.gradle** and change the *springVersion* property to **3.1.1.RELEASE**
* Due to change in Spring 3.1, add missing method **getRawStatusCode()** in *org.springframework.integration.http.outbound.CookieTests*
2012-04-21 02:29:42 -04:00
Gunnar Hillert
6ab72a4212 INT-2461 Document Timeout Attributes (HTTP)
Document Timeout Attributes in XML Schema for HTTP Components

For  reference: https://jira.springsource.org/browse/INT-2461

Add Timeouts to IB Gateway Parser Test
2012-03-12 13:27:13 -04:00
Gunnar Hillert
a88080fa6e INT-2443/2458 Document "path" attribute
INT-2458 Document "path" Attribute of HTTP Inbound Gateway in XSD Schema

For reference:

* https://jira.springsource.org/browse/INT-2443
* https://jira.springsource.org/browse/INT-2458

INT-2450 - Change from request-timeout to reply-timeout in HttpOutboundGateway is not reflected in the SI reference guide
For reference: https://jira.springsource.org/browse/INT-2450

INT-2443 Code Review: Clarify "HTTP Namespace Support" section

Code review: Fix doc on uri-variable element
* uri-variable element now doesn't support value attribute, rework respective section in the documentation
* However, for improved consistency, I created Jira: INT-2463 - https://jira.springsource.org/browse/INT-2463

INT-2443 Code Review - Several fixes to HTTP Ref Doc and XSD Schema

INT-2443 Code Review - Several Ref Doc wording fixes

Polishing
2012-03-12 11:53:34 -04:00
Oleg Zhurakousky
f57fdcd516 INT-1734
added support for case insensitivity for the user defined header prefix in DefaultHttpHeaderMapper
2012-02-13 08:15:38 -05:00
Gary Russell
292aa90599 INT-2404 Fix Auto-Created Channel; Event, TCP, UDP
The AbstractChannelAdapterParser creates an implicit DirectChannel
if the adapter has no 'channel' attribute.

The Event, TCP, and UDP channel adapter parsers did not bind
this channel to the adapter and AC initialization failed with
'outputChannel is required'.

Further, the event schema marked the channel as being 'required',
precluding this feature.

INT-2407 Remove Channel use="required"

Parsers automatically generate the channel when none is provided.

- JMX
- JDBC
- SFTP
- Redis
- Feed
- XMPP
- Mail
- FTP
- HTTP
2012-01-23 10:12:34 -05:00
Gary Russell
f76f63f23a NT-2400 Fix tool:expected-type Classes
* MessageChannel was moved from core to the base package.
* ChannelResolver moved from core to support.
* TcpConnectionInterceptorFactoryChain was incorrect.
2012-01-13 13:21:41 -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
Oleg Zhurakousky
a44d150009 INT-2323
made changes based on Sonar suggestions

added optional rome dependency to HTTP module
2011-12-20 12:12:20 -05:00
Mark Fisher
efdd27f89a updated HTTP module for 3.1 support 2011-12-12 15:09:34 -05:00
Mark Fisher
00552b1ddf INT-2293 2011-12-02 15:08:07 -05:00
Gary Russell
a80cb76113 INT-2035 Remove Dangling Import
Map.Entry inadvertently left in place.
2011-11-30 16:20:21 -05:00
Oleg Zhurakousky
634e190f5c INT-2267
removed test compile warnings

INT-2267
removed test compile warnings(2)
2011-11-29 13:50:08 -05:00
Mark Fisher
6fbdd71aae INT-2254 added copyHeadersIfAbsent call for the Message as HTTP request body case 2011-11-23 09:36:39 -05:00
Oleg Zhurakousky
43f60dae08 INT-2238 interim commit
INT-2238 fixing warning comments

INT-2238 fixing warning comments

INT-2238 fixing warning comments
2011-11-22 21:10:32 -05:00
Oleg Zhurakousky
7485ea449a INT-2254
added support for recognition of a Message to HttpRequestHandlingEndpointSupport

INT-2254 polishing

INT-2254 polishing
2011-11-21 08:35:54 -05:00
Mark Fisher
8060a39aa5 request-timeout replaced with reply-timeout for HTTP outbound-gateway 2011-11-21 07:47:04 -05:00
Mark Fisher
1c3df305d2 polishing 2011-11-17 16:41:28 -05:00
Gary Russell
a61b3617f3 INT-2035 Support Simple Cookie Handling
Initial commit - TODO: namspace.

Saves off Set-Cookie header in http_transferredCookie MessageHeader.

Transferred cookies are converted to Cookie: headers on subsequent
outbound messages, thus handling 3 or more interactions.

INT-2035 Namespace, Docs

Change boolean name; add namspace and documentation.

INT-2035 Docs

Added docs for cookie handling.

INT-2035 Polishing

Simplify implementation to just transfer Set-Cookie to
Cookie in the inbound side.

INT-2035 XSD Docs

Updated to reflect new implementation.
2011-11-17 16:36:32 -05:00
Oleg Zhurakousky
bb8409f96f log WARN message for irrelevant extractPayload
Added a WARN log message to HttpRequestExecutingMessageHandler.
The warn message will let the user know that the 'extractPayload' attribute is meaningless if the provided 'httpMethod' will not send a request body.
2011-10-15 14:25:42 -04:00
Mark Fisher
e09a5da3ec versionless schemas for http and ip modules 2011-10-10 12:49:30 -04:00
Mark Fisher
19bad23055 Setters now expect a Map with Expression values 2011-09-29 13:47:11 -04:00
Mark Fisher
331e503e9d Removed hardcoded "restTemplate" references. 2011-09-26 07:55:49 -04:00
Mark Fisher
b4c210691c polishing 2011-09-02 16:01:37 -04:00