Commit Graph

273 Commits

Author SHA1 Message Date
Artem Bilan
f3d3f4ee4b INT-2998: Channel Adapters' Lifecycle Refactoring
* Add XSD attributeGroup `smartLifeCycleAttributeGroup`
* Use it for all adapters tags
* Refactoring `AbstractChannelAdapterParser` hierarchy
* Refactoring some `MessageHandler`'s that should not have `autoStartup` & `phase`.
    It is the responsibility of `AbstrctEndpoint`
* Polishing some tests according new logic

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

INT-2998: Polishing

Polishing

 - Reformat schemas where indentation changed
 - Add SLC to the UDP inbound adapter
2013-09-23 17:58:58 -04:00
Artem Bilan
417c848c0b INT-3129: FTP local-filename-generator-expression
* Add `local-filename-generator-expression` attribute to FTP and SFTP Outbound Gateway
* Refactoring for `(S)FtpOutboundGatewayParser`
* Add `local-filename-generator-expression` tests
* Add 'What's New' and attribute description

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

Polishing

Doc Polishing

Assert attribute is only set for get/mget

Move tests to the get gateways
2013-09-18 13:40:59 -04:00
Artem Bilan
70886b2543 INT-2822: 'requires-reply' for Outbound Gateways
* Add `requires-reply` attribute for all adapters outbound gateways as `true` by default
* WS-outbound-gateway is still without it, because it has its own specific attribute `ignore-empty-responses`
* Make `requires-reply` as `false` by default for `jdbc:stored-proc-outbound-gateway` inasmuch as `jdbc:stored-proc-outbound-adapter`
doesn't have ability to configure `returning-resultset`
* add parser tests for `requires-reply`

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

INT-2822 'requires-reply' for ws:outbound-gateway

Default false.

INT-2822: Polishing after rebase

INT-2822: deprecate 'ignore-empty-responses'

* Add 'requires-reply' section into What's New

INT-2822: remove 'ignore-empty-responses' from RM

INT-2822: Polishing after rebase

INT-2822: Rebased and polished

INT-2822: Rebased and polished

Add WARN within deprecated `AbstractWebServiceOutboundGateway#setIgnoreEmptyResponses`

Revert 'ignore-empty-responses'; Doc Polishing
2013-08-19 13:48:31 -04:00
Gary Russell
4832130ef2 INT-3082 (S)FTP Remove Deprecated 'cache-sessions'
The 'cache-sessions' attribute was deprecated in 2.1 in favor
of using a configured CachingConnectionFactory to provide more
flexibility, such as setting the cache size.

Remove the attribute from the schemas.

Update tests.

Add docs.

Update Migration Guide on the project Wiki.
2013-08-16 13:12:46 -04:00
Gary Russell
14a7953ff6 INT-2892 Add 'local-filter' to (S)FTP Adapters
Allow the replacement of the default AcceptOnceFileListFilter.
2013-04-24 00:11:28 -04:00
Gary Russell
c224d445ac INT-2981 - Add Rename (mv) to (S)FTP Gateway
* (S)FTP Change Commands, Options to Enums
* INT-2981 Add Support For 'mv' To File/Remote/GW
* INT-2981 (S)FTP Namespace Support and Docs
* INT-2981 Create Remote Dirs if Needed
* INT-2981 Add 'mv' Command to What's New
* INT-2981 Polishing - PR Comments
* Add javadocs to enums.
* Polish schemas to use an enumerated type for available gateway commands
2013-04-16 16:26:29 -04:00
Gunnar Hillert
05062aa0b2 INT-2964 Various JavaDoc Fixes
INT-2964 - JavaDoc: <emphasis> should be <em>

INT-2964 - JavaDoc: <p/> should be <p>

INT-2964 - JavaDoc polishing

* <li></li> should be wrapped in <ul></ul>
* wrap code snippets in {@code myCode()}
* change <code>false</false> to <code>false</code>

INT-2964 - Polish - Fix more JavaDoc errors

* Mockito-all dependency causes JavaDoc error. Change dependency to Mockito-Core.
2013-04-15 17:11:38 -04:00
Gary Russell
451beb424a INT-2873 Create 3.0 Schemas
Copy schemas, cleanup whitespace, update spring.schemas files,
update version in AbstractIntegrationNamespaceHandler.

For each schema compared the 2.2 version with the 3.0 version
(diff -w), ensuring the only difference is the import of
3.0 schemas (where appropriate) instead of 2.2.
2013-01-25 16:12:00 -05: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
4de02fa75e INT-2685 Transaction Synchronization
Remove M3 disposition-* attributes on File/(S)FTP inbound adapters.

Add <pseudo-transactional/> and <transaction-synchronization/> elements
to <poller/>.

These elements provide the following attributes:

* on-success-expression
* on-success-result-channel
* on-failure-expression
* on-failure-result-channel
* send-timeout

<transaction-synchronization/> synchronizes these expression evaluations
with the transaction, such that they are executed immediately after
the commit/rollback.

<psuedo-transactional/> is used for a non-transactional poller.

When an <advice-chain/> is provided to the poller, <psuedo-transactional/>
and <transaction-synchronization/> are synonyms; and the behavior is
dictated by whether or not the <advice-chain/> contains a transaction
advice. It is recommended that <pseudo-transactional/> is used when the
<advice-chain/> does not have a txAdvice, and <transaction-synchronization/>
when it does, but the framework does not enforce this.

The expressions have the original (polled) message as the #root variable.
In addition, a BeanResolver is provided, allowing expressions such as
'@someBean.handleSuccess(payload)'.

MessageSources may also implement PseudoTransactionalMessageSource. This
has a number of methods allowing more flexibility in transactional and
non-transactional environents. For example, for backwards compatibility.
the mail-inbound-channel-adapter deletes its polled message after the
receive() rather than after the polled message is sent (when running in
a non-transactional poller). However, when running in a transactional
poller, the delete is done after the transaction commits (but not when
it rolls back).

In addition, MessageSources that implement this interface can optionally
provide an arbitrary object to the success/failure expressions in a
variable named '#resource'.

INT-2685 Polishing

PR Review Comments

Add tests for non-tx PseudoTransactionalMessageSource
2012-08-03 14:04:22 -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
Gary Russell
e6e43100b5 INT-2633 Add File Disposition to (S)FTP Inbound
FileReadingMessageSource supports disposition of the payload
after the message is sent (or via transaction synchronization).

The (S)FTP adapters delegate to an FRMS; add support for the
file disposition expression, result channel, and send timeout
to the (S)FTP adapters.

Also tested with ftp sample - INTSAMPLES-83 - patch will be
committed once this is in a milestone.
2012-07-10 19:04:59 -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
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
Gary Russell
00a71eefd2 INT-2494 Move listNames() Method to Session
ExtendedSession, with the listNames() method was introduced
in 2.1.1 (INT-2492) to support mget commands on the gateway.

This was to avoid breaking any user implementations of Session
in a point release. However, we documented this was temporary
and the interfaces would be consolidated in 2.2., and
ExtendedSession would be removed.

This is that consolidation.
2012-04-06 16:35:17 -04:00
Shane Witbeck
175bc8554c INT-2477 allow control encoding to be set
INT-2477 added tests

Polishing - Spring Standard tabs Vs. spaces, formatting
2012-03-27 15:55:57 -04:00
David Turanski
4740f1cf32 INT-2489:allow for empty temporaryFileSuffix
INT-2498:Added use-temporary-file-name to (s)ftp outbound adapters

INT-2489 polished parser to eliminate any value validation

INT-2489 removed trailing whitespaces from schema files

INT-2489 added boolean flag to detect if 'temporaryFileSuffix'
was explicitly set so the warning message is only be displayed
if renaming is turned off, but a suffix provided.

INT-2489 polishing
2012-03-27 14:10:00 -04:00
Gary Russell
ff6a386f12 INT-2492 Add (S)FTP Support for mget
No options supported; send a payload of /* or * to
mget all files in the root directory.

Payload is a list of File objects representing files
copied to the 'local-directory'.

INT-2492 Polishing

Fix path issues; suppress LIST when GETing files from NLST.

INT-2492 Polishing

Add ExtendedSession so CachingConnectionFactory works.

INT-2492 SFTP, Docs

INT-2492 Polishing

INT-2492 Polishing - olegz PR Review

INT-2492 Polishing - EOL Note for ExtendedSession
2012-03-27 11:36:34 -04: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
ca89573209 INT-2400 More Invalid Class Names in Schemas
File, Feed, Ftp, Redis
2012-01-14 10:56:15 -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
Oleg Zhurakousky
15e64b707b INT-2387 changed mkdir() method in Session to return boolean 2012-01-05 17:13:54 -05:00
Oleg Zhurakousky
b909e57c9b INT-2351
refactored implementations of FtpSession and SftpSession mkdir(path) method to avoid its previous dependency on hardcoded remote-file-separator
2012-01-05 16:52: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
80c64be91f INT-2350 fixed FtpSession
improved logic that deals with creating multiple directories independent of the OS hosting FTP server

INT-2350 polishing based on PR comments

INT-2350 polishing

INT-2350 polishing
2012-01-03 16:40:42 -05:00
Gunnar Hillert
1b0e4f2984 INT-2330 - Upgrade to Apache commons-net 3.0.1
For reference see: https://jira.springsource.org/browse/INT-2330
2011-12-22 12:32:05 -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
Oleg Zhurakousky
634e190f5c INT-2267
removed test compile warnings

INT-2267
removed test compile warnings(2)
2011-11-29 13:50:08 -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
Gary Russell
81e91b6990 INT-2242 Fix JavaDocs for FTP File Types
Change hard-coded literals to @links

Changed to <ul/>
2011-11-17 11:05:20 -05:00
Oleg Zhurakousky
eb3cb363e8 INT-2213
added support for specifying 'temporary-remote-directory' as well as 'temporary-remote-directory-expression'

INT-2213 polishing

INT-2213 polishing docs
2011-11-10 15:34:41 -05:00
Oleg Zhurakousky
555901899c INT-2103 added auto-startup to FTP/SFTP schemas
refactored FTP/SFTP schemas to eliminate duplication
2011-10-20 13:38:43 -04:00
Mark Fisher
ddcb33efcc update 2.0 ftp/sftp XSDs 2011-10-20 10:47:01 -04:00
Mark Fisher
7581c1cea4 polishing 2011-10-19 17:07:21 -04:00
Oleg Zhurakousky
7f92089584 INT-2146
Expose session limitation on remote file adapters

  Deprecate 'cache-sessions' attribute

  Add 'sessionCacheSize' and 'sessionWaitTimeout' attributes on CachingSessionFactory

  Update documentation
2011-10-19 16:00:06 -04:00
Mark Fisher
b28ec17885 polishing 2011-10-19 15:46:15 -04:00
Oleg Zhurakousky
5059ecc318 INT-1844 added support for file name generation
Added support for generating local file name for FTP and SFTP inbound adapters
2011-10-19 15:30:51 -04:00
Mark Fisher
6af7d5cd91 updated 2.0 ftp xsd 2011-10-19 14:58:47 -04:00
Mark Fisher
9df127e09d polishing 2011-10-19 14:01:03 -04:00
Oleg Zhurakousky
c1107a229e Improved check for existing directories
modified for Remote File adapters (e.g., FTP/SFTP)

  added 'auto-create-directory' attribute to FTP outbound adapter

  refactored code structure of FileTransferringMessageHandler
2011-10-19 13:23:44 -04:00
Mark Fisher
45da602837 updated 2.0 xsd for ftp 2011-10-19 11:00:54 -04:00
Oleg Zhurakousky
b686b06239 INT-2103 added 'auto-startup' to FTP inbound adapter 2011-10-19 10:44:25 -04:00
Mark Fisher
754917bb4e dir -> directory 2011-09-02 08:24:47 -04:00
Mark Fisher
874c3f518f polishing 2011-09-02 08:08:14 -04:00
Gary Russell
9fc834f92f INT-1945 (S)FTP Gateway - Initial Implementation
Non-Invasive - only modified files are additions to NS Handlers,
Schemas, and Docs. Some refactoring still required.
2011-09-02 08:08:12 -04:00
Mark Fisher
7c5603fe83 INT-2092 update schema imports to use 2.1 version 2011-08-31 05:26:02 -04:00
Mark Fisher
3e71b5a83b INT-2004 added 2.1 versions of all XML schemas and adjusted spring.schemas files accordingly 2011-08-05 11:07:20 -04:00
Oleg Zhurakousky
77de5f6d93 INT-1965 fixed XSDs in FTP and SFTP modules to make sure they are PropertyPlaceholder compatible (e.g., xsd:string instead of xsd:boolean) 2011-07-08 10:07:42 -04:00
Oleg Zhurakousky
97db1da5b2 INT-1921 fixed FTP/SFTP adapters to have '/' as a default file separator character 2011-05-31 15:16:56 -04:00
Oleg Zhurakousky
08d601a2ba INT-1901 added support for 'comparator' atribute for FTP/SFTP Inbound Channel adapters 2011-05-11 15:03:34 -04:00