Gary Russell
e714a5a2a8
INT-3572: Improve Accept Once Filter Performance
...
JIRA: https://jira.spring.io/browse/INT-3572
Previously, a blocking queue was used to hold seen files; this was used to enable
FIFO when a max capacity is set.
When used with no capacity, a queue is not needed; also the `contains` operation
on a queue requires a linear search which does not scale well for a large number
of files.
Use a `HashSet` instead to significantly improve the `contains` performance.
Only maintain a queue if a max capacity is set.
Fix `AcceptOnceFileListFilterTests` to be compatible with Java < 8
2014-12-09 19:01:05 +02:00
Gary Russell
064ec921bb
INT-3537 RemoteFileTemplate Close Stream
...
JIRA: https://jira.spring.io/browse/INT-3537
Stream not closed if session cannot be created.
Add `try {} finally {}`.
__cherry-pick to 4.0.x, 3.0.x__
Conflicts:
spring-integration-file/src/main/java/org/springframework/integration/file/remote/RemoteFileTemplate.java
spring-integration-ftp/src/test/java/org/springframework/integration/ftp/session/FtpRemoteFileTemplateTests.java
2014-10-22 12:35:41 +03:00
Artem Bilan
2047998f78
INT-3495 Add FileTailInChAFBean#setErrorChannel
...
JIRA: https://jira.spring.io/browse/INT-3495
**Cherry-pick to 4.0.x & 3.0.x**
2014-08-15 11:18:39 -04:00
Gary Russell
19d31c3446
INT-3464 Exceptions and AcceptOnceFileListFilter
...
JIRA: https://jira.spring.io/browse/INT-3464
Previously, if an IO exeption occurred while synchronizing
files, and an AcceptOnceFileListFilter is being used, files that were
not transferred would not be fetched next time.
Add strategy `ReversibleFileListFilter` that can rollback previously
accepted files.
Implement this interface on `AcceptOnceFileListFilter` and
`AbstractPersistentAcceptOnceFileListFilter`.
Add test cases.
Polishing
2014-07-24 18:01:44 +03:00
Gary Russell
47d47fb735
Fix JavaDoc on CompositeFileListFilter
...
Implied that the filter would pass if *any* of its filters
did, when it actually only passes if *all* of it filters do.
2014-04-25 18:41:43 -04:00
Gary Russell
8d6aa0fb1e
INT-3374 Fix Package Tangle; Part II
...
JIRA: https://jira.spring.io/browse/INT-3374
Move `getMessageBuilderFactory` from `IntegrationContexUtils`
to `IntegrationUtils`.
Change DOS Newlines to Unix
`AbstractMessageGroupStore`.
2014-04-15 14:08:14 -04:00
Artem Bilan
de123c1ee4
INT-3367: Add GemfireMetadataStore
...
JIRA: https://jira.spring.io/browse/INT-3367
INT-3367 Polishing
Rename test class; move to metadata package; doc polishing.
2014-04-14 17:59:24 -04:00
Gary Russell
89a7743640
INT-3360 Fix Package Tangle
...
JIRA: https://jira.spring.io/browse/INT-3360
Move LockRegistry from util to support.
2014-04-08 12:01:51 -04:00
Gary Russell
4dee2a224b
INT-3353 Concurrent RedisMetadataStore
...
JIRA: https://jira.spring.io/browse/INT-3353
Shared metadata for PersistentAcceptOnceFileListFilters.
INT-3353 Polishing; PR Comments
2014-04-07 17:38:33 +03:00
Gary Russell
9dee131e3c
INT-3349 BeanFactory Propagation
...
JIRA: https://jira.spring.io/browse/INT-3349
Several FactoryBeans did not propagate the BeanFactory
to their created object(s). Beans that create messages
must have access to a bean factory to get the
message builder factory.
Fix the FactoryBeans and add a mock FB to all tests that
need one.
Add a runtime environment variable to make any infractions
fatal. This should be set to `true` on CI builds and on
framework developer environments.
2014-04-02 14:15:48 -04:00
Artem Bilan
97c270c0e2
INT-3330 EnableIntegrationMBeanExport Annotation
...
JIRA: https://jira.spring.io/browse/INT-3330
INT-3330: Enable SpEL evaluation
INT-3330: Polishing for `MBeanExporterHelper`
INT-3330: Fix `errorChannel` early access
INT-3330: Polishing according PR comments
Polishing - copyrights, author, docs
2014-03-27 12:53:20 -04:00
Gary Russell
75af72a77c
INT-3319 Fix BeanFactory Propagation
...
JIRA: https://jira.spring.io/browse/INT-3319
The `MessageBuilderFactory` abstraction relies on the bean factory
being propagated to all classes that create messages.
Some classes were missed in the initial PR.
2014-03-12 12:03:31 +02:00
Gary Russell
1c9bcaccee
INT-3041 Add Namespace Support For Retry Advice
...
JIRA: https://jira.spring.io/browse/INT-3041
Add namespace support to simplify configuration of
a `RequestHandlerRetryAdvice.
INT-3041 Polishing; PR Comments
* Allow a retry-advice element within the request-handler-advice-chain
* Clean up schema (should not have allowed `synchronization-factory` on
the request-handler-advice-chain.
INT-3041 Polishing; PR Comment
2014-03-11 17:56:51 +02:00
Gary Russell
ff845b5069
INT-3309 Pluggable MessageBuilder
...
This is still a work in process.
There are a bunch of TODOs in classes
that are not managed by Spring and so
need to have the MessageBuilderFactory
injected.
But I am looking for feedback on the
approach.
INT-3309 Resolve TODOs
Provide access to the MessageBuilderFactory in all classes.
INT-3309 Polishing + Tests
* Fallback to 'fromMessage()' if mutating and inbound message is not MutableMessage
* Add 'alwaysMutate' boolean to MutableMessageBuilderFactory - coerces 'fromMessage' calls to 'mutateMessage'
* Add tests
INT-3309 Polishing; PR Comments
Also add tests to parent/child contexts where the parent has the
default message builder and the child has a mutable message builder.
INT-3309 More Polish; PR Comments
Also fix removeHeader in MMB.
2014-03-06 19:51:12 +02:00
Gary Russell
15d9f9566d
INT-3289 FileWMH - Improve Exception Message
...
JIRA: https://jira.springsource.org/browse/INT-3289
Emit '...could not be created.' instead of 'does not exist.'
if the `mkDirs` fails on auto-create.
2014-02-06 13:10:33 -05:00
Gary Russell
7b7319b39a
INT-3266 Java 6 Compiler Compatibility
...
- ((CachingSessionFactory<?>.CachedSession) session).dirty();
+ ((CachingSessionFactory.CachedSession) session).dirty();
Failed to compile with Java6 (compiles ok with Java7 with
sourceCompatibility=1.6).
2014-01-21 09:28:32 -05:00
Gary Russell
1d002bfc47
INT-3266 (S)FTP Close Dirty Cached Sessions
...
If an exception occurs on a session it should be physically closed
and not reused because its state is indeterminate and the next
operation might fail.
Note: The booleans within CachedSession do not need to be volatile
because it is a short-lived object only used by the current thread.
Also fixes the assertion message in RFT.get().
JIRA: https://jira.springsource.org/browse/INT-3266
INT-3266 Polishing - PR Comments
Remove need for SuppressWarnings.
Fix 2 test cases where the exception has an additional cause.
2014-01-21 11:19:26 +02:00
Gary Russell
a90291c452
INT-3268 Add Simple RemoteFileOperations.get()
...
Requires a simple `remotePath` arg instead of
a Message<?>.
JIRA: https://jira.springsource.org/browse/INT-3268
Remove extra-class from `this` reference
2014-01-20 18:20:51 +02:00
Gary Russell
c45b708341
INT-3262 JDK8 Javadoc Commit
...
Increase receive timeout for `Jsr223TransformerTests#testInt3162ScriptExecutorThreadSafety`.
JIRA: https://jira.springsource.org/browse/INT-3262
JIRA: https://jira.springsource.org/browse/INT-3263
2014-01-15 19:16:37 +02:00
Artem Bilan
acf2ad2229
INT-3246: MessageHandlingException Refactoring
...
JIRA: https://jira.springsource.org/browse/INT-3246
INT-3246: Add description to usage of MHException
Deprecate `MessageRejectedException` constructor
INT-3246: Remove `MessageHandlingException` class
2014-01-03 16:19:01 -05:00
Gary Russell
c2ee2161a1
INT-3242 Final Polish for 4.0.0.M2
...
- Rename EiMessageHeaderAccessor to IntegrationMessageHeaderAccessor
- Remove GenericMessage
- Minor TODOs
- Start a new What's new" chapter in the reference
JIRA: https://jira.springsource.org/browse/INT-3242
2013-12-17 14:38:36 -05:00
Gary Russell
e8843f3358
INT-3208 Create 4.0 Schemas
...
Update the spring.schemas files.
Update the version in the abstract namespace parser.
JIRA: https://jira.springsource.org/browse/INT-3208
The following is a diff showing changes between the 3.0 and 4.0 schemas...
./spring-integration-amqp/src/main/resources/org/springframework/integration/amqp/config/spring-integration-amqp-3.0.xsd
12c12
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd "/>
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd "/>
./spring-integration-core/src/main/resources/org/springframework/integration/config/xml/spring-integration-3.0.xsd
./spring-integration-event/src/main/resources/org/springframework/integration/event/config/spring-integration-event-3.0.xsd
11c11
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd " />
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd " />
./spring-integration-feed/src/main/resources/org/springframework/integration/feed/config/spring-integration-feed-3.0.xsd
12c12
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd " />
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd " />
./spring-integration-file/src/main/resources/org/springframework/integration/file/config/spring-integration-file-3.0.xsd
13c13
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd "/>
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd "/>
./spring-integration-ftp/src/main/resources/org/springframework/integration/ftp/config/spring-integration-ftp-3.0.xsd
13c13
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd " />
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd " />
15c15
< schemaLocation="http://www.springframework.org/schema/integration/file/spring-integration-file-3.0.xsd " />
---
> schemaLocation="http://www.springframework.org/schema/integration/file/spring-integration-file-4.0.xsd " />
./spring-integration-gemfire/src/main/resources/org/springframework/integration/gemfire/config/xml/spring-integration-gemfire-3.0.xsd
./spring-integration-groovy/src/main/resources/org/springframework/integration/groovy/config/spring-integration-groovy-3.0.xsd
10c10
< schemaLocation="http://www.springframework.org/schema/integration/scripting/spring-integration-scripting-core-3.0.xsd "
---
> schemaLocation="http://www.springframework.org/schema/integration/scripting/spring-integration-scripting-core-4.0.xsd "
13c13
< <xsd:import namespace="http://www.springframework.org/schema/integration " schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd " />
---
> <xsd:import namespace="http://www.springframework.org/schema/integration " schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd " />
./spring-integration-http/src/main/resources/org/springframework/integration/http/config/spring-integration-http-3.0.xsd
11c11
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd " />
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd " />
./spring-integration-ip/src/main/resources/org/springframework/integration/ip/config/spring-integration-ip-3.0.xsd
12c12
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd " />
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd " />
./spring-integration-jdbc/src/main/resources/org/springframework/integration/jdbc/config/spring-integration-jdbc-3.0.xsd
9c9
< <xsd:import namespace="http://www.springframework.org/schema/integration " schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd " />
---
> <xsd:import namespace="http://www.springframework.org/schema/integration " schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd " />
./spring-integration-jms/src/main/resources/org/springframework/integration/jms/config/spring-integration-jms-3.0.xsd
14c14
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd "/>
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd "/>
./spring-integration-jmx/src/main/resources/org/springframework/integration/jmx/config/spring-integration-jmx-3.0.xsd
9c9
< <xsd:import namespace="http://www.springframework.org/schema/integration " schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd " />
---
> <xsd:import namespace="http://www.springframework.org/schema/integration " schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd " />
./spring-integration-jpa/src/main/resources/org/springframework/integration/jpa/config/xml/spring-integration-jpa-3.0.xsd
12c12
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd " />
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd " />
./spring-integration-mail/src/main/resources/org/springframework/integration/mail/config/spring-integration-mail-3.0.xsd
14c14
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd "/>
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd "/>
./spring-integration-mongodb/src/main/resources/org/springframework/integration/mongodb/config/spring-integration-mongodb-3.0.xsd
11c11
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd " />
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd " />
./spring-integration-redis/src/main/resources/org/springframework/integration/redis/config/spring-integration-redis-3.0.xsd
11c11
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd " />
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd " />
./spring-integration-rmi/src/main/resources/org/springframework/integration/rmi/config/spring-integration-rmi-3.0.xsd
14c14
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd "/>
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd "/>
./spring-integration-scripting/src/main/resources/org/springframework/integration/scripting/config/spring-integration-scripting-3.0.xsd
8c8
< schemaLocation="http://www.springframework.org/schema/integration/scripting/spring-integration-scripting-core-3.0.xsd " />
---
> schemaLocation="http://www.springframework.org/schema/integration/scripting/spring-integration-scripting-core-4.0.xsd " />
./spring-integration-scripting/src/main/resources/org/springframework/integration/scripting/config/spring-integration-scripting-core-3.0.xsd
11c11
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd " />
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd " />
./spring-integration-security/src/main/resources/org/springframework/integration/security/config/spring-integration-security-3.0.xsd
./spring-integration-sftp/src/main/resources/org/springframework/integration/sftp/config/spring-integration-sftp-3.0.xsd
13c13
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd " />
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd " />
15c15
< schemaLocation="http://www.springframework.org/schema/integration/file/spring-integration-file-3.0.xsd " />
---
> schemaLocation="http://www.springframework.org/schema/integration/file/spring-integration-file-4.0.xsd " />
./spring-integration-stream/src/main/resources/org/springframework/integration/stream/config/spring-integration-stream-3.0.xsd
14c14
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd "/>
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd "/>
./spring-integration-syslog/src/main/resources/org/springframework/integration/syslog/config/spring-integration-syslog-3.0.xsd
13c13
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd " />
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd " />
15c15
< schemaLocation="http://www.springframework.org/schema/integration/ip/spring-integration-ip-3.0.xsd " />
---
> schemaLocation="http://www.springframework.org/schema/integration/ip/spring-integration-ip-4.0.xsd " />
./spring-integration-twitter/src/main/resources/org/springframework/integration/twitter/config/spring-integration-twitter-3.0.xsd
14c14
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd "/>
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd "/>
./spring-integration-ws/src/main/resources/org/springframework/integration/ws/config/spring-integration-ws-3.0.xsd
14c14
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd "/>
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd "/>
./spring-integration-xml/src/main/resources/org/springframework/integration/xml/config/spring-integration-xml-3.0.xsd
13c13
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd "/>
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd "/>
./spring-integration-xmpp/src/main/resources/org/springframework/integration/xmpp/config/spring-integration-xmpp-3.0.xsd
14c14
< schemaLocation="http://www.springframework.org/schema/integration/spring-integration-3.0.xsd "/>
---
> schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.0.xsd "/>
2013-12-16 13:04:18 -05:00
Gary Russell
2baea786b1
Merge remote-tracking branch 'upstream/master' into 4.0.0-WIP
...
Conflicts:
build.gradle
gradle.properties
spring-integration-core/src/main/java/org/springframework/integration/config/RouterFactoryBean.java
spring-integration-core/src/test/java/org/springframework/integration/channel/config/DispatchingChannelParserTests.java
spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayProxyFactoryBeanTests.java
spring-integration-core/src/test/java/org/springframework/integration/router/config/PayloadTypeRouterParserTests.java
spring-integration-core/src/test/java/org/springframework/integration/transformer/MessageTransformingChannelInterceptorTests.java
spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/connection/ConnectionFactoryShutDownTests.java
spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/connection/TcpNioConnectionReadTests.java
spring-integration-ip/src/test/java/org/springframework/integration/ip/udp/DatagramPacketSendingHandlerTests.java
spring-integration-ip/src/test/java/org/springframework/integration/ip/udp/MultiClientTests.java
spring-integration-ip/src/test/java/org/springframework/integration/ip/udp/UdpChannelAdapterTests.java
spring-integration-jdbc/src/main/java/org/springframework/integration/jdbc/StoredProcMessageHandler.java
spring-integration-jdbc/src/main/java/org/springframework/integration/jdbc/StoredProcOutboundGateway.java
spring-integration-jdbc/src/main/java/org/springframework/integration/jdbc/StoredProcPollingChannelAdapter.java
spring-integration-xmpp/src/main/java/org/springframework/integration/xmpp/core/AbstractXmppConnectionAwareEndpoint.java
Resolved.
2013-12-16 11:02:40 -05:00
Artem Bilan
3e9d0158eb
INT-3231: Fix Tail setters types for SPR 3.1.x
...
JIRA: https://jira.springsource.org/browse/INT-3231
2013-12-10 11:56:17 +02:00
Gary Russell
5ddecd13e7
Merge remote-tracking branch 'upstream/master' into 4.0.0-WIP
...
Conflicts:
spring-integration-core/src/main/java/org/springframework/integration/core/MessagingTemplate.java
Resolved.
2013-12-09 15:50:44 -05:00
Gary Russell
9c9c93479a
INT-3223 Polishing
...
JIRA: https://jira.springsource.org/browse/INT-3223
Don't use primitives in Tail factory bean setters so that the placeholders
for attributes that force the Apache implementation can resolve to "".
Test for an empty string in native-options and don't set.
2013-12-09 15:33:39 -05:00
Gary Russell
1a21dd172f
INT-3223 Tail - Exclusive Attributes
...
JIRA: https://jira.springsource.org/browse/INT-3223
Disallow 'native-options' if any of the attributes
required for the Apache implementation are specified.
2013-12-09 21:25:58 +02:00
Gary Russell
feec3eaf84
Merge remote-tracking branch 'upstream/master' into 4.0.0-WIP
...
Conflicts:
build.gradle
spring-integration-amqp/src/main/java/org/springframework/integration/amqp/channel/AbstractSubscribableAmqpChannel.java
spring-integration-core/src/main/java/org/springframework/integration/channel/ExecutorChannel.java
spring-integration-event/src/main/java/org/springframework/integration/event/inbound/ApplicationEventListeningMessageProducer.java
spring-integration-file/src/test/java/org/springframework/integration/file/recursive/FileInboundChannelAdapterWithRecursiveDirectoryTests.java
spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/connection/TcpConnectionEventListeningMessageProducer.java
spring-integration-jdbc/src/test/java/org/springframework/integration/jdbc/StoredProcOutboundGatewayWithNamespaceIntegrationTests.java
spring-integration-jdbc/src/test/java/org/springframework/integration/jdbc/config/JdbcOutboundGatewayParserTests.java
spring-integration-jdbc/src/test/java/org/springframework/integration/jdbc/config/StoredProcInvalidConfigsTests.java
spring-integration-jms/src/main/java/org/springframework/integration/jms/SubscribableJmsChannel.java
spring-integration-jpa/src/test/java/org/springframework/integration/jpa/outbound/JpaOutboundGatewayIntegrationTests.java
spring-integration-redis/src/main/java/org/springframework/integration/redis/channel/SubscribableRedisChannel.java
spring-integration-security/src/test/java/org/springframework/integration/security/SecurityTestUtils.java
spring-integration-xml/src/main/java/org/springframework/integration/xml/selector/XmlValidatingMessageSelector.java
Resolved.
2013-12-06 14:23:23 -05:00
Gary Russell
4a3ba5abd0
INT-3217 Update Default Spring to 3.2.5
...
JIRA: https://jira.springsource.org/browse/INT-3217
INT-3217 Polishing
PR Comments
Also fixes some other warnings (mainly unused imports).
2013-11-26 19:27:58 +02:00
Gary Russell
48a005ec2a
Use SI BeanFactoryChannelResolver
...
Resolve channel names in the HeaderChannelRegistry.
Add back MessagingTemplate (subclass of GenericMessagingTemplate).
2013-11-25 18:43:16 -05:00
Gary Russell
a24b9ffa22
Merge remote-tracking branch 'upstream/master' into 4.0.0-WIP
...
Conflicts:
spring-integration-core/src/main/java/org/springframework/integration/gateway/MessagingGatewaySupport.java
spring-integration-core/src/main/java/org/springframework/integration/support/channel/BeanFactoryChannelResolver.java
spring-integration-core/src/main/java/org/springframework/integration/util/MessagingMethodInvokerHelper.java
spring-integration-core/src/test/java/org/springframework/integration/config/AggregatorParserTests.java
spring-integration-core/src/test/java/org/springframework/integration/config/annotation/AggregatorAnnotationTests.java
spring-integration-core/src/test/java/org/springframework/integration/config/xml/ControlBusTests.java
spring-integration-file/src/main/java/org/springframework/integration/file/DefaultFileNameGenerator.java
spring-integration-file/src/main/java/org/springframework/integration/file/remote/handler/FileTransferringMessageHandler.java
spring-integration-file/src/test/java/org/springframework/integration/file/remote/gateway/RemoteFileOutboundGatewayTests.java
spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpOutboundGatewayParserTests.java
spring-integration-ftp/src/test/java/org/springframework/integration/ftp/inbound/FtpInboundRemoteFileSystemSynchronizerTests.java
spring-integration-ftp/src/test/java/org/springframework/integration/ftp/outbound/FtpServerOutboundTests.java
spring-integration-groovy/src/main/java/org/springframework/integration/groovy/GroovyScriptExecutingMessageProcessor.java
spring-integration-http/src/test/java/org/springframework/integration/http/outbound/UriVariableExpressionTests.java
spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/connection/HelloWorldInterceptor.java
spring-integration-jpa/src/test/java/org/springframework/integration/jpa/outbound/JpaOutboundGatewayIntegrationTests.java
spring-integration-mongodb/src/test/java/org/springframework/integration/mongodb/store/MongoDbMessageGroupStoreTests.java
spring-integration-mongodb/src/test/java/org/springframework/integration/mongodb/store/MongoDbMessageStoreTests.java
spring-integration-redis/src/test/java/org/springframework/integration/redis/config/RedisOutboundChannelAdapterParserTests.java
spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/SftpOutboundGatewayParserTests.java
spring-integration-sftp/src/test/java/org/springframework/integration/sftp/inbound/SftpInboundRemoteFileSystemSynchronizerTests.java
spring-integration-sftp/src/test/java/org/springframework/integration/sftp/outbound/SftpServerOutboundTests.java
Resolved.
2013-11-25 17:59:51 -05:00
Gary Russell
703b24541f
INT-3209 DefaultFileNameGenerator - SpEL Parsing
...
JIRA: https://jira.springsource.org/browse/INT-3209
Previously, the DefaultFileNameGenerator re-parsed the
SpEL expression for every message.
Compile the SpEL once (and if it is changed).
Change unit tests to match changes.
2013-11-19 15:24:26 +02:00
Gary Russell
59d6f7dfc1
INT-3088 (S)FTP Outbound Gateway - PUT and MPUT
...
- Core support in file module
- FTP Parser and Test
https://jira.springsource.org/browse/INT-3088
INT-3088 Add SFTP Support for PUT, MPUT
INT-3088 Polishing - PR Comments
INT-3088 Docbook For PUT/MPUT
2013-11-19 12:56:48 +02:00
Gary Russell
1d0c28852f
INT-3204 RemoteFileTemplate Phase II Part 1
...
- AbstractInboundFileSynchronizer
INT-3204 RemoteFileTemplate Phase II, Part 2
- AbstractRemoteFileOutboundGateway
- Encapsulate Session.readRaw and .finalizeRaw in template.get()
INT-3204 Polishing - PR Comments
JIRA: https://jira.springsource.org/browse/INT-3204
INT-3204: Polishing
2013-11-15 15:13:57 +02:00
Gary Russell
d662e7ee42
INT-3203 Introduce RemoteFileTemplate
...
Begin by refactoring `FileTransferringMessageHandler` to use
a `send` operation on RemoteFileTemplate.
Effectively transfer all properties from the adapter to the
template.
This will allow reuse of the send logic from the adapter in
the outbound gateway for `put` and `mput`.
JIRA: https://jira.springsource.org/browse/INT-3203
2013-11-11 17:53:50 -05:00
Gary Russell
ab99c943ab
Merge remote-tracking branch 'upstream/master' into 4.0.0-WIP
...
Conflicts:
spring-integration-ftp/src/test/java/org/springframework/integration/ftp/outbound/FtpServerOutboundTests.java
spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsMessageDrivenChannelAdapterParserTests.java
spring-integration-redis/src/test/java/org/springframework/integration/redis/config/RedisInboundChannelAdapterParserTests.java
spring-integration-sftp/src/test/java/org/springframework/integration/sftp/outbound/SftpServerOutboundTests.java
Resolved.
2013-11-07 17:43:19 -05:00
Gary Russell
72dd39bccf
INT-2898 Add Persistent FileListFilters
...
- Abstract implementation
- Implementation for the file system
- Implementation for remote files ((S)FTP)
JIRA: https://jira.springsource.org/browse/INT-2898
INT-2889 Polishing
- Add (S)FTP test cases
- Docs
2013-11-07 17:31:45 -05:00
Gary Russell
7bc4fe2d0b
INT-3047 SFTP Multiplex Over Single Connection
...
Enable the use of multiple JSch channels over a
single connection.
JIRA: https://jira.springsource.org/browse/INT-3047
INT-3047: Polishing locks logic
INT-3047 SFTP Reset Cache; Quiesce Shared Sessions
Support resetCache() on the CachingSessionFactory
- reset a shared JSch session so it is reestablished on next use
- immediately close idle sessions
- close in-use sessions as they are returned
- close the channel when an SftpSession is closed and a shared JSch is being used
- physically close a shared JSch session only when the last channel is closed
Polishing
Forgot to save the ftp.xml.
Change CachedSession.epoch to created.
INT-3047 Polishing - PR Comments
- Also add missing docs for `preserve-timestamp`
INT-3047 Polish - PR Comments
Also change epoch to nanoseconds and use a simple != comparison with the
epoch in which a session was created.
2013-11-07 21:10:12 +02:00
Gary Russell
f11f00b5ab
INT-3100 Support Remote File Streaming (Inbound)
...
- Add readRaw and finalizeRaw methods to Session
- Add tests for SFTP and FTP
Allows retrieval of a remote file as a stream.
JIRA: https://jira.springsource.org/browse/INT-3100
2013-11-07 17:14:46 +02:00
Gary Russell
9146a374c1
Merge remote-tracking branch 'upstream/master' into 4.0.0-WIP
...
Conflicts:
spring-integration-core/src/main/java/org/springframework/integration/MessageHeaders.java
spring-integration-core/src/main/java/org/springframework/integration/context/IntegrationContextUtils.java
spring-integration-core/src/main/java/org/springframework/integration/json/JsonToObjectTransformer.java
spring-integration-core/src/main/java/org/springframework/integration/mapping/AbstractHeaderMapper.java
spring-integration-core/src/main/java/org/springframework/integration/metadata/package-info.java
spring-integration-feed/src/test/java/org/springframework/integration/feed/inbound/FeedEntryMessageSourceTests.java
spring-integration-redis/src/main/java/org/springframework/integration/redis/inbound/RedisInboundChannelAdapter.java
spring-integration-redis/src/main/java/org/springframework/integration/redis/outbound/RedisPublishingMessageHandler.java
spring-integration-redis/src/test/java/org/springframework/integration/redis/config/RedisOutboundChannelAdapterParserTests.java
spring-integration-redis/src/test/java/org/springframework/integration/redis/inbound/RedisQueueMessageDrivenEndpointTests.java
spring-integration-redis/src/test/java/org/springframework/integration/redis/outbound/RedisQueueOutboundChannelAdapterTests.java
spring-integration-test/src/main/java/org/springframework/integration/test/matcher/HeaderMatcher.java
spring-integration-test/src/main/java/org/springframework/integration/test/matcher/MockitoMessageMatchers.java
spring-integration-test/src/main/java/org/springframework/integration/test/matcher/PayloadMatcher.java
spring-integration-twitter/src/test/java/org/springframework/integration/twitter/inbound/SearchReceivingMessageSourceTests.java
spring-integration-twitter/src/test/java/org/springframework/integration/twitter/inbound/SearchReceivingMessageSourceWithRedisTests.java
Resolved.
2013-11-05 14:30:50 -05:00
Artem Bilan
5be8ef3fd8
INT-3147: (3167,3173,1941) Improve MetadataStore
...
Previously, `MetadataStore` couldn't be configured for Twitter Adapters
- only a global one could be used.
The `metadataKey` was generated automatically with a 'difficult' value.
* Register all `MessageSource` for `SourcePollingChannelAdapter`
as beans with id based on adapter id and prefix '.source' (INT-3147)
* Polishing parser to get rid of explicit `MessageSource` beans. (INT-3147)
* Make Feed and Twitter adapters `id` attribute as required -
now it presents a `metadataKey` for `MetadataStore` (INT-3147)
* Add to Twitter adapters a reference attribute for `MetadataStore` (INT-3173)
* Add Twitter adapters `poll-skip-period` attribute (INT-3167)
* Add and implement `MetadataStore#remove` (INT-1941)
* Make `MetadataStore` as `@ManagedResource` (INT-1941)
* Polishing tests
JIRAs:
https://jira.springsource.org/browse/INT-3147
https://jira.springsource.org/browse/INT-3167
https://jira.springsource.org/browse/INT-3173
https://jira.springsource.org/browse/INT-1941
INT-3147: Polishing and fixes
* add domain suffix to `metadataKey`
* change contract of `MetadataStore.remove`
* remove timeout window from `AbstractTwitterMessageSource`
* polishing and fix `SearchReceivingMessageSourceWithRedisTests`
INT-3147: Rebasing and polishing
INT-3147: fix 'metadata' package tangle
INT-3147 Doc Polishing
2013-11-04 12:44:12 -05:00
Gary Russell
2bc0c442ce
Merge remote-tracking branch 'upstream/master' into 4.0.0-WIP
...
Conflicts:
spring-integration-core/src/main/java/org/springframework/integration/channel/registry/ChannelRegistry.java
spring-integration-core/src/main/java/org/springframework/integration/channel/registry/LocalChannelRegistry.java
spring-integration-core/src/main/java/org/springframework/integration/mapping/AbstractHeaderMapper.java
spring-integration-core/src/main/java/org/springframework/integration/support/json/AbstractJacksonJsonMessageParser.java
spring-integration-core/src/test/java/org/springframework/integration/channel/registry/LocalChannelRegistryTests.java
spring-integration-core/src/test/java/org/springframework/integration/handler/ServiceActivatorDefaultFrameworkMethodTests.java
spring-integration-jmx/src/test/java/org/springframework/integration/jmx/ServiceActivatorDefaultFrameworkMethodTests.java
spring-integration-jmx/src/test/java/org/springframework/integration/jmx/config/OperationInvokingOutboundGatewayTests.java
Resolved.
2013-11-01 18:19:02 -04:00
Gary Russell
01ab48d664
INT-2953 Use Buffered In/Out Streams for Files
...
Wrap `FileInputStream` and `FileOutputStreams` with
`BufferedInputStream`, `BufferedOutputStream` respectively.
Also use `BufferedReader`, `BufferedWriter` to wrap `FileReader`, `FileWriter`.
JIRA: https://jira.springsource.org/browse/INT-2953
2013-11-01 15:11:26 +02:00
Gary Russell
3080b892d5
Merge remote-tracking branch 'upstream/master' into 4.0.0-WIP
...
Conflicts:
spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayInterfaceTests.java
spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterWithMappingTests.java
spring-integration-groovy/src/main/java/org/springframework/integration/groovy/GroovyScriptExecutingMessageProcessor.java
spring-integration-http/src/test/java/org/springframework/integration/http/inbound/HttpRequestHandlingMessagingGatewayWithPathMappingTests.java
spring-integration-jdbc/src/test/java/org/springframework/integration/jdbc/store/channel/AbstractTxTimeoutMessageStoreTests.java
spring-integration-jmx/src/main/java/org/springframework/integration/jmx/OperationInvokingMessageHandler.java
Resolved.
2013-10-30 23:13:27 -04:00
Artem Bilan
498e9aa704
INT-2664: (S)FTP Inbound: Preserve File Timestamp
...
JIRA: https://jira.springsource.org/browse/INT-2664
INT-2664: add `preserve-timestamp` attribute
Doc Polishing
2013-10-30 18:00:00 -04:00
Gary Russell
928b6b8bc3
INT-2961 Make ARPMH.onInit() Final; Add doInit()
...
https://jira.springsource.org/browse/INT-2961
onInit() relied on subclasses calling super.onInit() to apply the
advice chain and add the BeanFactory to the MessagingTemplate.
At least one extension (smpp) failed to do this, disabling these features.
Make onInit() final and call doInit() for subclass initialization (no-op in ARPMH).
INT-2961 Polishing
- do not increase visibility of doInit in subclasses.
- remove final modifiers from doInit so user subclasses can participate in initialization if needed.
2013-10-29 10:20:19 +02:00
Gary Russell
7dcd2b5fe9
Remove SI GenericMessage
...
- Deprecate for now to ease XD migration.
2013-10-24 09:46:30 -04:00
Gary Russell
71f3fb1cf6
Merge remote-tracking branch 'upstream/master' into 4.0.0-WIP
...
Conflicts:
spring-integration-core/src/test/java/org/springframework/integration/aggregator/AggregatorTests.java
spring-integration-core/src/test/java/org/springframework/integration/aggregator/ConcurrentAggregatorTests.java
spring-integration-core/src/test/java/org/springframework/integration/aggregator/CorrelatingMessageHandlerTests.java
spring-integration-core/src/test/java/org/springframework/integration/gateway/GatewayInterfaceTests.java
spring-integration-redis/src/test/java/org/springframework/integration/redis/channel/SubscribableRedisChannelTests.java
spring-integration-redis/src/test/java/org/springframework/integration/redis/config/RedisInboundChannelAdapterParserTests.java
spring-integration-redis/src/test/java/org/springframework/integration/redis/store/DelayerHandlerRescheduleIntegrationTests.java
spring-integration-redis/src/test/java/org/springframework/integration/redis/store/RedisMessageGroupStoreTests.java
spring-integration-redis/src/test/java/org/springframework/integration/redis/store/RedisMessageStoreTests.java
Resolved
2013-10-24 09:18:00 -04:00
Gary Russell
6d9e48b9ac
INT-3172 (S)FTP - Add Recursion Option to LS Cmd
...
When recursing, the returned filenames are relative to
the top level directory.
INT-3172 (S)FTP - Add Recursion to MGET Command
https://jira.springsource.org/browse/INT-3172
INT-3172 Polishing
- PR Comments
- Add Tests for SFTP (tested with Mock and real SSH)
- Enhance test to ensure subdir is in 3rd file retrieved
- Exclude "special" directories ('.' and '..') from recursion
INT-3172 Make FtpServerRule Safe For Concurrency
Previously the port was static.
- Make the port an instance variable
- Channel the `@ ClassRule` to a `@ Rule`
- Register an appropriate DefaultFtpSessionFactory bean declaration
INT-3172 Polishing; Docs
- Rename FtpServerRule to TestFtpServer
- Remove restriction on filters for MGET
- Add test for filtered MGET
- Reference docs, what's new
INT-3172 More Polish
- Fix type in reference
- Fix error message now that filter is allowed with MGET
- Remove test for filter with MGET (now valid)
INT-3172: Fix tests and typos
INT-3172: this.remoteFileSeparator for recursion
2013-10-18 12:05:43 +03:00
Artem Bilan
dd479a3ce7
INT-2866: Add (S)FTP local-directory-expression
...
* Add `local-directory-expression` to (S)FTP Outbound Gateways
* Add `FtpServerRule` to Apache Mina embedded FtpServer
* Add tests for (M)GET and `local-directory-expression`:
FTP tests uses `FtpServerRule`, SFTP tests need testing on real SFTP server
JIRA: https://jira.springsource.org/browse/INT-2866
INT-2866: Documentation
INT-2866 Polishing
- Remove leading /
- Change \ to / in invalid test
- Clean up after sftp
Tested with real SSH.
INT-2866 Polishing - Add Mock SFTP Test
Run with -Dspring-profiles-active=realSSH to run with a real SSH server.
Assumes ftptest/ftptest account on localhost with the following directory tree in the user's root...
$ tree sftpSource/
sftpSource/
├── sftpSource1.txt
├── sftpSource2.txt
└── subSftpSource
└── subSftpSource1.txt
INT-2866: Polishing
INT-2866: change `remotePath` to `remoteDirectory`
Doc Polishing.
2013-10-16 15:00:02 -04:00