Commit Graph

12 Commits

Author SHA1 Message Date
Artem Bilan
e0e4b0748c Debug Testcontainers 2022-05-17 18:33:37 -04:00
Matthias
10e96e2de2 GH-163: Replace describeStream with listStream
Fixes https://github.com/spring-projects/spring-integration-aws/issues/163
2020-06-15 14:18:06 -04:00
Artem Bilan
54b7220459 GH-84: Kinesis Inbound: errors immunity
Fixes spring-projects/spring-integration-aws#84
Fixes spring-cloud/spring-cloud-stream-binder-aws-kinesis#38
Fixes spring-cloud/spring-cloud-stream-binder-aws-kinesis#36

Even if AWS Client has some reconnect and retry mechanism, it can be
exhausted and no connection error is rethrown to the `KinesisMessageDrivenChannelAdapter`
anyway.

On the other hand the error can be thrown from the record processor -
the flow on the `outputChannel`.

* log the exception around AWS Client calls and let background process
to restore/retry
* log the exception around message to send to let the processor to move
to the next record or perform the next task
* null the current `task` in the `ShardConsumer` in the `finally` block
to avoid hanging the thread without ability to moving to some other state
without end-user interaction
* When perform the `batch` checkpoint, check the result and if it is
negative, consider such a situation as processed and skip records from
sending downstream
* Upgrade dependencies
* Use Log4J2 for tests logging
2018-03-01 15:22:02 -05:00
Artem Bilan
ef2f5f7aef GH-22: Add KinesisMessageDrivenChannelAdapter
Fixes GH-22 (https://github.com/spring-projects/spring-integration-aws/issues/22)

Rework logic to the `dispatching` and tasks

* Add `LimitExceededException` and configurable retry logic for the `describeStream`
* Skip `CLOSED` shards which has been read before according stored `checkpoint`. Will be useful for `after resharding` algorithm
* Add `adapt to resharding` logic
* Add `KinesisMessageDrivenChannelAdapterTests` based on mocks
* Add Thread Affinity for `ShardConsumer`s via `concurrency` option
* Introduce `concurrency` option and `ConsumerInvoker`.
  `ShardConsumer`s are now distributed between `ConsumerInvoker`s if `concurrency > 0`
  `ConsumerInvoker`s are scheduled to the `ConsumerExecutor` as a `isLongLived` tasks
  The concurrency is adjusted if there are no more `ShardConsumer`s to process (`STOP` state because of closed shard).
  At the same time newly populated `ShardConsumer`s (e.g. after resharding) is distributed evenly between existing `ConsumerExecutor`s if `maxConcurrency` is exceeded.
Otherwise fresh `ConsumerExecutor` is started for new `ShardConsumer`
2017-01-25 09:21:07 -05:00
Artem Bilan
29e255cc64 Add S3 MessageSource implementation
JIRA: https://jira.spring.io/browse/INTEXT-51,
https://jira.spring.io/browse/INTEXT-194,
https://jira.spring.io/browse/INTEXT-199

* Add S3 Inbound Channel Adapter fully based on the `AbstractInboundFileSynchronizer`,
`AbstractInboundFileSynchronizingMessageSource` implementation.
* Provide the standard SI `RemoteFileTemplate` and `SessionFactory` abstractions implementations.
* Upgrade to Gradle-2.12
* Provide Namespace support
* Ensure everything with tests
* Remove legacy, redundant implementation, infrastructure code for it and test-cases.
Everything in favor of the new implementation.
2016-04-04 19:59:02 -04:00
Karthik Palanivelu
dc66af65eb INTEXT-197: Lifecycle attrs for s3-outbound-c-a
JIRA: https://jira.spring.io/browse/INTEXT-197

* Modified the `org/springframework/integration/aws/config/xml/spring-integration-aws-1.0.xsd` to add `channelAdapterAttributes` to expose
`phase` attribute in `s3 outbound adapter`.
* Modified `AmazonS3OutboundChannelAdapterParserTests` - Added Unit Test Class to test the `channelAdapterAttributes`.
* Modified `s3-valid-outbound-cases.xml` - Added separate definition `withChannelAdapterAttributes` for phase attribute.

Polishing according PR comments
2015-10-20 16:44:45 -04:00
Karthik Palanivelu
c674a8dace INTEXT-187: add advice-chain for the outbound-c-a
JIRA: https://jira.spring.io/browse/INTEXT-187

* Modified the `spring-integration-aws-1.0.xsd` to accommodate `request-handler-advice-chain`
	in s3 outbound adapter after feedback.
* Modified `AmazonS3OutboundChannelAdapterParserTests` - Added Unit Test Class with Mock Object to test the request handler chain.
* Modified `s3-valid-outbound-cases.xml` - Added separate definition withHandlerChain with mock Operations.
2015-09-28 14:56:01 -04:00
Li Wang
a7e5f67d04 INTEXT-189: Fix S3InboundChannelAdapterParser
JIRA: https://jira.spring.io/browse/INTEXT-189
2015-08-24 21:11:45 -07:00
Artem Bilan
ec4a93142d INTEXT-7: Add SQS Adapters
JIRA: https://jira.spring.io/browse/INTEXT-7

Upgrade to Gradle 2.3

Minor Doc Polishing
2015-02-18 16:39:05 -05:00
Artem Bilan
7c091c84a4 INTEXT-136: Make based on Spring Cloud AWS
JIRA: https://jira.spring.io/browse/INTEXT-136

* Add `spring-cloud-aws` dependencies
* Remove all SES stuff, since Spring Cloud AWS provides implementations for `org.springframework.mail.MailSender`
2015-02-02 15:50:06 +02:00
Amol Nayak
48a80ff4f2 INTEXT-5: Initial push for AWS core and S3 adapter
For reference see: https://jira.springsource.org/browse/INTEXT-5
2013-02-28 18:03:47 -05:00
Amol Nayak
5f168e26b3 INTEXT-6: Add AWS core and SES adapter
For reference see: https://jira.springsource.org/browse/INTEXT-6
2013-01-17 17:25:51 -05:00