32 Commits

Author SHA1 Message Date
Spring Operator
644488d039 URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://www.apache.org/licenses/ with 1 occurrences migrated to:
  https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/) result 200).
* [ ] http://www.apache.org/licenses/LICENSE-2.0 with 23 occurrences migrated to:
  https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0) result 200).
2019-03-26 20:40:48 -04:00
Spring Operator
99046f6f38 URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.

* [ ] http://xslthl.sf.net (301) with 1 occurrences could not be migrated:
   ([https](https://xslthl.sf.net) result AnnotatedConnectException).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://asciidoctor.org with 1 occurrences migrated to:
  https://asciidoctor.org ([https](https://asciidoctor.org) result 200).
* [ ] http://sourceforge.net/projects/xslthl/ with 14 occurrences migrated to:
  https://sourceforge.net/projects/xslthl/ ([https](https://sourceforge.net/projects/xslthl/) result 200).
* [ ] http://www.w3.org/TR/CSS21/propidx.html with 1 occurrences migrated to:
  https://www.w3.org/TR/CSS21/propidx.html ([https](https://www.w3.org/TR/CSS21/propidx.html) result 200).
* [ ] http://repo.spring.io/libs-milestone-local with 2 occurrences migrated to:
  https://repo.spring.io/libs-milestone-local ([https](https://repo.spring.io/libs-milestone-local) result 302).
* [ ] http://repo.spring.io/libs-snapshot-local with 2 occurrences migrated to:
  https://repo.spring.io/libs-snapshot-local ([https](https://repo.spring.io/libs-snapshot-local) result 302).
* [ ] http://repo.spring.io/release with 1 occurrences migrated to:
  https://repo.spring.io/release ([https](https://repo.spring.io/release) result 302).

# Ignored
These URLs were intentionally ignored.

* http://maven.apache.org/POM/4.0.0 with 6 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 3 occurrences
2019-03-26 20:39:07 -04:00
Spring Operator
59dd641edb URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.

* [ ] http://xslthl.sf.net (301) with 4 occurrences could not be migrated:
   ([https](https://xslthl.sf.net) result AnnotatedConnectException).
* [ ] http://exslt.org/common (404) with 1 occurrences could not be migrated:
   ([https](https://exslt.org/common) result SSLHandshakeException).

# Fixed URLs

## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

* [ ] http://compose.docker.io/ (UnknownHostException) with 1 occurrences migrated to:
  https://compose.docker.io/ ([https](https://compose.docker.io/) result UnknownHostException).
* [ ] http://docs.spring.io/spring-cloud-stream-binder-kinesis/docs/ (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-cloud-stream-binder-kinesis/docs/ ([https](https://docs.spring.io/spring-cloud-stream-binder-kinesis/docs/) result 404).
* [ ] http://docs.spring.io/spring-cloud-stream-binder-kinesis/docs/current-SNAPSHOT/reference/html/ (301) with 1 occurrences migrated to:
  https://docs.spring.io/spring-cloud-stream-binder-kinesis/docs/current-SNAPSHOT/reference/html/ ([https](https://docs.spring.io/spring-cloud-stream-binder-kinesis/docs/current-SNAPSHOT/reference/html/) result 404).

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://github.com/ with 3 occurrences migrated to:
  https://github.com/ ([https](https://github.com/) result 200).
* [ ] http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html with 1 occurrences migrated to:
  https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html ([https](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) result 200).
* [ ] http://plugins.jetbrains.com/plugin/6546 with 1 occurrences migrated to:
  https://plugins.jetbrains.com/plugin/6546 ([https](https://plugins.jetbrains.com/plugin/6546) result 301).
* [ ] http://raw.github.com/ with 1 occurrences migrated to:
  https://raw.github.com/ ([https](https://raw.github.com/) result 301).
* [ ] http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ProvisionedThroughput.html with 4 occurrences migrated to:
  https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ProvisionedThroughput.html ([https](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ProvisionedThroughput.html) result 302).
* [ ] http://eclipse.org with 1 occurrences migrated to:
  https://eclipse.org ([https](https://eclipse.org) result 302).
* [ ] http://eclipse.org/m2e/ with 2 occurrences migrated to:
  https://eclipse.org/m2e/ ([https](https://eclipse.org/m2e/) result 302).
* [ ] http://www.springsource.com/developer/sts with 1 occurrences migrated to:
  https://www.springsource.com/developer/sts ([https](https://www.springsource.com/developer/sts) result 302).

# Ignored
These URLs were intentionally ignored.

* http://docbook.org/ns/docbook with 4 occurrences
* http://docbook.sourceforge.net/xmlns/l10n/1.0 with 2 occurrences
* http://localhost with 2 occurrences
* http://maven.apache.org/POM/4.0.0 with 1 occurrences
* http://www.w3.org/1999/XSL/Format with 2 occurrences
* http://www.w3.org/1999/XSL/Transform with 7 occurrences
* http://www.w3.org/1999/xlink with 1 occurrences
2019-03-26 20:38:34 -04:00
Spring Operator
871297e07c URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* http://docs.spring.io/spring-framework/docs/ with 1 occurrences migrated to:
  https://docs.spring.io/spring-framework/docs/ ([https](https://docs.spring.io/spring-framework/docs/) result 200).
* http://docs.spring.io/spring-shell/docs/current/api/ with 1 occurrences migrated to:
  https://docs.spring.io/spring-shell/docs/current/api/ ([https](https://docs.spring.io/spring-shell/docs/current/api/) result 200).
* http://maven.apache.org/xsd/maven-4.0.0.xsd with 3 occurrences migrated to:
  https://maven.apache.org/xsd/maven-4.0.0.xsd ([https](https://maven.apache.org/xsd/maven-4.0.0.xsd) result 200).
* http://www.apache.org/licenses/LICENSE-2.0 with 2 occurrences migrated to:
  https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0) result 200).
* http://repo.spring.io/libs-milestone-local with 2 occurrences migrated to:
  https://repo.spring.io/libs-milestone-local ([https](https://repo.spring.io/libs-milestone-local) result 302).
* http://repo.spring.io/libs-release-local with 1 occurrences migrated to:
  https://repo.spring.io/libs-release-local ([https](https://repo.spring.io/libs-release-local) result 302).
* http://repo.spring.io/libs-snapshot-local with 2 occurrences migrated to:
  https://repo.spring.io/libs-snapshot-local ([https](https://repo.spring.io/libs-snapshot-local) result 302).
* http://repo.spring.io/libs-staging-local with 1 occurrences migrated to:
  https://repo.spring.io/libs-staging-local ([https](https://repo.spring.io/libs-staging-local) result 302).
* http://repo.spring.io/release with 1 occurrences migrated to:
  https://repo.spring.io/release ([https](https://repo.spring.io/release) result 302).

# Ignored
These URLs were intentionally ignored.

* http://maven.apache.org/POM/4.0.0 with 6 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 3 occurrences
2019-03-18 09:37:34 -04:00
Venkat Raman
6b39f8c815 GH:68: Improve documentation
Fixes spring-cloud/spring-cloud-stream-binder-aws-kinesis#68

* addressed review comments
2018-10-26 15:08:19 -04:00
Soby Chacko
8dfbd606b5 Next version update: 1.0.1.BUILD-SNAPSHOT 2018-08-21 14:44:54 -04:00
Soby Chacko
c3096b955d 1.0.0.RELEASE 2018-08-21 14:27:47 -04:00
Artem Bilan
8b1da120f5 Upgrade to SI-AWS-2.0 GA and SC-2.0.3 2018-08-21 13:45:10 -04:00
Artem Bilan
4272945e2e Remove rawRecords artificial mode
Utilize an existing `consumer.useNativeDecoding` together with the
`listenerMode = batch` instead of artificial `rawRecords` mode.
Currently it requires `useNativeDecoding = true` anyway to get a
proper `List<Record>` payload downstream
2018-08-03 17:14:08 -04:00
Soby Chacko
534bf4f286 Next update: 1.0.0.BUILD-SNAPSHOT 2018-07-30 14:30:36 -04:00
Soby Chacko
97e137cf7f 1.0.0.RC1 Release 2018-07-30 14:22:30 -04:00
Artem Bilan
9d9e4a10e2 Add DynamoDbLockRegistry configuration
Related to https://github.com/spring-projects/spring-integration-aws/issues/90

Since SI-AWS already added a `LockRegistry` support into the
`KinesisMessageDrivenChannelAdapter` that is going to be a good benefit
for the Kinesis Binder to support it as well and also expose a
`DynamoDbLockRegistry` properties for the external configuration

Also upgrade dependencies to be ready for the upcoming release

Update Docs for new features
2018-06-19 15:28:49 -04:00
Artem Bilan
6456e0ab9d GH-52: Bypass SCSt partitioning algorithm
Fixes: spring-cloud-stream-binder-aws-kinesis#52

The AWS Kinesis uses its own, server-side, algorithm to determine the
target shard for the record, therefore we don't need to use SCSt
partitioning functionality and just propagate a provided
`partitionKeyExpression` down to the `KinesisMessageHandler`
2018-06-08 16:01:12 -04:00
Soby Chacko
ea8d5652f5 Back to 1.0.0.BUILD-SNAPSHOT 2018-04-16 15:30:48 -04:00
Soby Chacko
2d590747b0 1.0.0.M2 Release 2018-04-16 15:17:27 -04:00
Artem Bilan
09880a33b5 Add rawRecords listener mode support
https://stackoverflow.com/questions/49730808/unable-to-consume-messages-as-batch-mode-in-kinesis-binder
2018-04-12 18:14:46 -04:00
Artem Bilan
8c1c483986 GH-47: A note in Docs about TRIM_HORIZON iterator
Fixes spring-cloud/spring-cloud-stream-binder-aws-kinesis#47

* Document `headers` binder configuration property
* Mention binder configuration properties prefix
* Some other Docs polishing
2018-03-30 14:34:28 -04:00
Artem Bilan
5127dbeb25 Some project structure refactoring
* Remove `starter` module as redundant
* Absorb `core` module to the `binder` directly - there is not going to
be some other Kinesis binder implementation
* Fix poms and Docs on the matter
2018-03-12 14:19:23 -04:00
Artem Bilan
a9532de843 Improve Docs and link from the root README 2018-02-12 21:07:50 -05:00
Soby Chacko
1b210c16e5 Next version: 1.0.0.BUILD-SNAPSHOT 2018-02-12 16:19:57 -05:00
Soby Chacko
391f2f3bd1 1.0.0.M1 Release 2018-02-12 16:02:43 -05:00
Artem Bilan
50d289a287 Add processor integration test
* Upgrade dependencies to Milestones to be ready for releasing
* Add `@ConditionalOnMissingBean` for the `amazonKinesis` bean to be
able to override it in the tests, e.g. with mocks or against Kinesalite
* Make default `partitionKey` against `payload.hashCode()`
* Fix typo in the `KinesisStreamProvisioner`
* Fix `KinesisBinderTests` for compatibility with the latest SCSt
* Replace `log4j.properties` with the `logback-test.xml` to get a real
logging in tests
* Mention `Object.hashCode()` for partition key in the Docs
2018-02-10 19:37:09 -05:00
Artem Bilan
aaf7295a97 GH-30: Add ConsumerProperties.shardIteratorType
Fixes spring-cloud/spring-cloud-stream-binder-aws-kinesis#30
2018-01-04 13:27:10 -05:00
Jacob Severson
1d46d7a401 GH-10: Error channel configuration
Provides the error channel to the underlying `KinesisMessageHandler`.

Resolves spring-cloud/spring-cloud-stream-binder-aws-kinesis#10

Adding a test for the error channel

Fixing checkstyle errors

Fixing docs

Forgot a word
2017-11-29 13:37:15 -05:00
Jacob Severson
4769de833a GH-9: Expose Consumer and Producer properties
Add more Consumer and Producer properties:

* `sendTimeout`

* `listenerMode`
* `checkpointMode`
* `recordsLimit`
* `idleBetweenPolls`
* `consumerBackoff`

* Added producer properties and hooked them into the underlying configuration of `KinesisMessageHandler`
* Added consumer properties and hooked them into the underlying configuration of `KinesisMessageDrivenChannelAdapter`
* Added documentation

Resolves spring-cloud/spring-cloud-stream-binder-aws-kinesis#9
2017-11-06 18:06:30 -05:00
Artem Bilan
8cb688bdee GH-16: Post-merge polishing and improvements
Fixes: spring-cloud/spring-cloud-stream-binder-aws-kinesis#16

* Add missed `this.` prefix
* Rename `createTableDelay` and `createTableRetries` to the `createDelay`
and `createRetries` respectively
* Add `KinesisBinderTests.testPartitionCountIncreasedIfAutoAddPartitionsSet()`
to check the `autoAddShards` functionality
2017-10-23 17:14:52 -04:00
Jacob Severson
4181324f14 GH-16: Implement shard updating
Fixes: spring-cloud/spring-cloud-stream-binder-aws-kinesis#16

Adding the ability for the binder to automatically create shards
 on startup if the current stream's count is less than what is desired. 
The properties that control this functionality and their defaults are as follows

```
spring.cloud.stream.kinesis.binder.autoAddShards=false
spring.cloud.stream.kinesis.binder.minShardCount=1
```

* Added the `autoAddShards` and `minShardCount` properties 
and code to update stream shard count
* Added the `createTableDelay` and `createTableRetries` properties 
to the checkpoint configuration
* Added documentation entries for the new properties
2017-10-23 17:11:41 -04:00
Artem Bilan
90e187d943 GH-18: Polishing to the Checkpoint support
Resolves spring-cloud/spring-cloud-stream-binder-aws-kinesis#18

* Move `CheckpointProperties` to the `KinesisBinderConfigurationProperties.Checkpoint`
* Rename `KinesisBinderConfigurationProperties.Checkpoint` properties to shorter names
* Add NPE check for the `KinesisMessageChannelBinder.checkpointStore` property
* Fix documentation
* Fix code style
2017-09-15 13:53:07 -04:00
Peter Oates
ea1dd21086 GH-18: Add DynamoDBMetadataStore support
Resolves spring-cloud/spring-cloud-stream-binder-aws-kinesis#18

Also adding in configuration for DynamoDb read and write capacity

Adds some documentation abut checkpoint properties
Extracts Checkpoint properties as a nested class
Fixes bad style formatting
Removes property check so a DynamoDb table is always used with the
Kinesis binder

* Fix Checkstyle plugin configuration to override the one from the
parent `spring-cloud-build`
2017-09-15 13:13:37 -04:00
Artem Bilan
c2fa4d2515 GH-11,12 Support consumer groups and partitioning
Fixes spring-cloud/spring-cloud-stream-binder-aws-kinesis#11
Fixes spring-cloud/spring-cloud-stream-binder-aws-kinesis#12

* Document how SCSt consumer groups are mapped to the AWS Kinesis support
* Implement partitioning logic on the consumer and producer sides
* Override distribution tests to consume all expected messages,
since there is no guarantee which shard will be used for the partition
key, we consume now from all the listeners until successful result
* Document partition mapping and logic
2017-08-17 19:23:28 -04:00
Jacob Severson
9226309556 Implementing auto creation of streams
This pull request adds ability for producers and consumers to create a stream
 if it isn't already existing.
I've used the property `spring.cloud.stream.kinesis.binder.autoCreateStreams`
to trigger the process.
I've intentionally kept the scope to auto-creation only and not included shard
manipulation in this PR.
Included are passing unit tests and an integration test that works if a local
Kinesalite instance is running.
I also have a example project at https://github.com/JacobASeverson/stream-example-kinesis
that I've used to verify the functionality within AWS.

* Added ability to auto-create streams to the provisioner

* Added unit testing for the provisioner new stream handler

* Added an integration test for binding

Moving tests to appropriate project

Removing , default to creation, and remove stream handler layer

Cleanup for integration test

Setting shard size appropriately for producer and consumer

Forgot to clean up pom experiment

Removed the `KinesisStream` abstraction and added level enabled checks for logging

Adding static credentials

Adding a configurable consumer property for startup timeouts

Adding documentation for , merging upstream, and new Checkstyle errors

Finishing binder test for auto creation of stream

Fix imports for tests

Getting rid of spring-cloud-stream-binder-test dep

* Polish dependencies
* Polishing code style
* Add Eclipse code formatter configs
2017-08-08 12:49:02 -04:00
Artem Bilan
26038f0c29 GH-8, GH-15: Add Docs and Checkstyle
Fixes spring-cloud/spring-cloud-stream-binder-aws-kinesis#8
Fixes spring-cloud/spring-cloud-stream-binder-aws-kinesis#15

* Enable Checkstyle rules based on the `spring-cloud-stream-tools`
* Fix Checkstyle violations
* Add `spring-cloud-stream-binder-kinesis-docs` module with Docs infrastructure
* Add initial doc and represent common block
* Add Kinesis Binder architecture image
2017-08-04 16:10:30 -04:00