572 Commits

Author SHA1 Message Date
Artem Bilan
3f81105161 Fix checkstyle-header.txt for current Copyright style 2025-06-16 17:04:55 -04:00
Spring Builds
66f89b2507 Update Copyright to -present instead of current year
* Remove `updateCopyrights` Gradle task since we don't need it anymore
2025-06-16 15:43:21 -04:00
Artem Bilan
f9db4ae493 GH-253: Fix NPE in the S3Session
Fixes: https://github.com/spring-projects/spring-integration-aws/issues/253

The `ListObjectsResponse.isTruncated()` is `Boolean`, therefore could be `null`

* Fix `S3Session.list(Names)()` to use `Boolean.TRUE.equals()` in `if` instead
to have ourselves protected against `NPE`
2025-06-16 14:26:17 -04:00
Spring Builds
7776413bd9 [artifactory-release] Next development version 2025-02-20 19:12:21 +00:00
Spring Builds
9def9e8d59 [artifactory-release] Release version 3.0.9 2025-02-20 19:12:20 +00:00
Artem Bilan
259ff7ba2d GH-252: Fix NPE in the KinesisMessageDrivenChannelAdapter.
Fixes: https://github.com/spring-projects/spring-integration-aws/issues/252

* Adapt to Java `23`
* Upgrade to Gradle `8.12.1`
* Include `org.mockito` & `net.bytebuddy` dependencies explicitly since they are overridden
by transitive dependencies to not compatible versions with Java `23`
* Add `-parameters` compiler option to include method param names into bytecode
for better discovery by reflection
2025-02-10 15:11:08 -05:00
Artem Bilan
6cb04f3c91 Remove test-spring-find-release-version.yml as tests are OK 2025-01-29 13:21:54 -05:00
Artem Bilan
e5c956e1db Add actions: write permission to test-spring-find-release-version.yml
We need it for cancelling workflow: https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/controlling-permissions-for-github_token
2025-01-29 13:18:12 -05:00
Artem Bilan
3a526f364c Test spring-github-workflows/spring-find-release-version.yml 2025-01-29 12:45:46 -05:00
Artem Bilan
085928155d Migrate to DCO from CLA 2025-01-15 12:05:17 -05:00
Siddharth Jain
b5f6c39183 GH-249 Add properties for handling backpressure in KplMessageHandler
Fixes: https://github.com/spring-projects/spring-integration-aws/issues/249

* Simplification of back-pressure handling, introduced `KplBackpressureException`.
* Javadoc corrections.
* Code Review comments addressed. Added Test cases with RetryAdvice.
* Added Javadoc for `KplBackpressureException` in the `KplMessageHandler` class level.
* Javadoc related code review actions fixed.
* Updated Copyright and Javadoc related comments.
* Revert in `AbstractAwsMessageHandler`.
2025-01-02 09:32:13 -05:00
Rick Ossendrijver
510fe5bfbd Apply AssertJ and JUnit 5 best practices
For details on the recipe, see https://docs.openrewrite.org/recipes/java/testing/assertj/assertj-best-practices

Use this link to re-run the recipe: https://app.moderne.io/recipes/org.openrewrite.java.testing.assertj.Assertj?organizationId=U3ByaW5n

The AssertJ best practices is quite a large recipe that contains many others. 
See a full list here: https://docs.openrewrite.org/recipes/java/testing/assertj/assertj-best-practices. 
As part of migrating JUnit assertions to AssertJ there is the JUnit5BestPractices PR. 

This was an automated change.
2024-12-27 10:57:12 -05:00
Howard Kelsey
adb66e4970 GH-247: Fix java.nio.ReadOnlyBufferException in KclMessageDrivenChannelAdapter
Fixes: #247
Issue link: https://github.com/spring-projects/spring-integration-aws/issues/247


* Use `BinaryUtils.copyAllBytes` to fix `java.nio.ReadOnlyBufferException` thrown when processing batch records in `KclMessageDrivenAdapter`
* Improve test time by more than a couple minutes by initializing the lease table
2024-11-08 17:05:01 -05:00
Spring Builds
93fb5ebc40 [artifactory-release] Next development version 2024-09-26 19:00:45 +00:00
Spring Builds
fbb5b28385 [artifactory-release] Release version 3.0.8 2024-09-26 19:00:44 +00:00
Artem Bilan
0dfcbef47f Remove out-dated OSSRH_URL secret usage 2024-09-26 14:59:04 -04:00
Artem Bilan
297a1c402b GH-246: Add gracefulShutdownTimeout for KCL
Fixes: #246
Issue link: https://github.com/spring-projects/spring-integration-aws/issues/246
2024-09-26 11:34:28 -04:00
Artem Bilan
ab2f9b89a6 Expose KCL pollingMaxRecords & pollingIdleTime options 2024-09-25 16:04:32 -04:00
Artem Bilan
06ca18a8f5 Fix KclMessageDrivenChannelAdapterTests for assert
The other test may populate its table into a Localstack as well
2024-09-24 13:56:55 -04:00
Artem Bilan
f5704cd7c4 Add KclMessageDrivenChannelAdapter.leaseTableName property 2024-09-24 13:37:39 -04:00
Artem Bilan
c1133911d5 GH-245: Expose customizers for KCL configs
Fixes: #245
Issue link: https://github.com/spring-projects/spring-integration-aws/issues/245

* Add something like `setLeaseManagementConfigCustomizer(Consumer<LeaseManagementConfig> leaseManagementConfigCustomizer)`
to the `KclMessageDrivenChannelAdapter` and call them before creating a `Scheduler`
* Also add a simple `emptyRecordList` property for the `ProcessorConfig`
2024-09-24 11:02:27 -04:00
Artem Bilan
577c2e87fd Fix AbstractAwsMessageHandler impls for explicit headerMapper setting 2024-09-24 09:24:51 -04:00
Artem Bilan
5cfdaa2ae8 Upgrade dependencies, including Gradle
* Migrate to `DEVELOCITY_ACCESS_KEY` secret for GHA
* Fix classes compatibility with Java 21
2024-09-23 15:47:12 -04:00
Artem Bilan
a8d75346a4 Upgrade dependencies, including Gradle
* Fix `release.yml` workflow for new `SPRING_RELEASE_CHAT_WEBHOOK_URL` secret
2024-07-16 11:51:44 -04:00
Artem Bilan
f64f77c4ac GH-244: Add UserRecordResponse adapter for UserRecordResult
Fixes: #244

The `UserRecordResult` has an `attempts()` property which might be used post-put request logic
in the output channel.

* Introduce a `KinesisResponse` extension to adapt a `UserRecordResult`.
This way the further flow logic may consult low-level result from KPL via existing `AwsHeaders.SERVICE_RESULT`
header in the reply message
2024-07-16 11:28:29 -04:00
Artem Bilan
6f5b58f2bc Upgrade Gradle & Develocity plugins
* Remove redundant GHA secrets for Develocity
2024-04-29 14:46:52 -04:00
Spring Builds
2df040a5bd [artifactory-release] Next development version 2024-04-17 14:37:15 +00:00
Spring Builds
a0ada25a6d [artifactory-release] Release version 3.0.7 2024-04-17 14:37:14 +00:00
Artem Bilan
808159cafe Upgrade dependencies; prepare for release 2024-04-17 10:13:42 -04:00
Minkyu Moon (Manggo)
6703813786 KCL: metricsFactory to NullMetricsFactory if metrics level is NONE
* GH-241: Support changing metrics-level for `KclMessageDrivenChannelAdapter`

* Add test that `metricsLevel` is set correctly

* Modify test body and add author

* Add reference to instance variable

* Set `metricsFactory` to `NullMetricsFactory` if metrics level is `NONE`
2024-04-08 09:43:44 -04:00
Spring Builds
428ea43c2e [artifactory-release] Next development version 2024-03-27 14:15:15 +00:00
Spring Builds
bd07d81787 [artifactory-release] Release version 3.0.6 2024-03-27 14:15:14 +00:00
Artem Bilan
2c8d6e3037 Upgrade to the latest KCL; prepare for release 2024-03-27 10:00:56 -04:00
Artem Bilan
1a99d1df8b Upgrade to the latest dependencies 2024-03-21 16:43:55 -04:00
Minkyu Moon (Manggo)
cf12660c18 GH-241: Add metrics-level option to KclMessageDrivenChannelAdapter
Fixes: #241

* Add test that `metricsLevel` is set correctly
2024-03-15 12:07:12 -04:00
Maksim Sasnouski
a82a0b6f8e Upgrade com.gradle.enterprise plugin to 3.16.2 2024-02-29 12:40:33 -05:00
Artem Bilan
f2aded0686 S3MH: use AsyncRequestBody.fromFile()
Related to the fix for the https://github.com/aws/aws-sdk-java-v2/issues/3839
2024-02-26 12:01:08 -05:00
Spring Builds
cd52fed81f [artifactory-release] Next development version 2024-02-09 16:21:26 +00:00
Spring Builds
12e317d8ed [artifactory-release] Release version 3.0.6-M1 2024-02-09 16:21:25 +00:00
Artem Bilan
a1a7c1e08a Upgrade to the latest reusable workflows
* Upgrade to `jfrog/setup-jfrog-cli@v4` in the `verify-staged-artifacts.yml`
2024-02-09 10:17:21 -05:00
Eric Haag
79a0210a3a Update Revved up by Develocity badge 2024-01-23 11:53:10 -05:00
Spring Builds
f31dd5e743 [artifactory-release] Next development version 2024-01-05 21:25:30 +00:00
Spring Builds
e9245e0871 [artifactory-release] Release version 3.0.5 2024-01-05 21:25:28 +00:00
Artem Bilan
75cb9ef5a2 Upgrade dependencies; prepare for release 2024-01-05 16:12:03 -05:00
Artem Bilan
958261baa7 Migrate GHAs to spring-io 2023-12-20 11:07:35 -05:00
Artem Bilan
3e0352ef5a GH-238: Fix KinesisMDCA for highest offset
Fixes https://github.com/spring-projects/spring-integration-aws/issues/238

The `shardIterator` from Kinesis reply for records is not a sequence number anymore in AWS SKD v2.

* Fix `rewindIteratorOnError()` logic to extract the highest offset from the current failed `GetRecordsResponse`
to see if we have checkpointed it or we need to re-request the current `shardIterator`
2023-12-04 11:36:24 -05:00
Artem Bilan
87a88f3097 Add permissions into GHA for GH_TOKEN 2023-11-30 18:00:15 -05:00
Artem Bilan
57efaa442f Add badge for CI build status to README 2023-11-30 17:31:22 -05:00
Artem Bilan
c24c999063 Change to Gradle-specific reusable workflow 2023-11-30 17:29:07 -05:00
Artem Bilan
f1433ca921 Fix GH workflows for new repository 2023-11-19 11:51:00 -05:00