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`
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
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`.
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
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`
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
* 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`
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`