Deprecate AWS integration packages in favor of Spring Cloud AWS ports
We're waiting for the Spring Cloud AWS 3.2 release to officially deprecate our event externalization implementations for SQS and SNS. /cc @maciejwalkowiak
Required steps
- Log a deprecation warning on startup if a deprecated module is used
- Update reference documentation to list the modules as deprecated and point to the Spring Cloud AWS equivalents
Hey @odrotbohm 👋
I would like to contribute to this issue.
As far as I understand, the goal is to:
- log a warning once sns/sqs is used - ex. in a beans initialization in both starters?
- update of reference documentation - adding new section in appendix with
Deprecated modulessection?
Sorry for the late reply. Feel free to go ahead and prepare the PR. Just be aware that we can only merge it, once Spring Cloud AWS has shipped a release version containing the replacements.
@mslowiak – I've assigned you the ticket and removed the label. Please let me know if your plans change, and you do not want to go forward with this.
@odrotbohm Happy to work on that, but I am in vacay mode till 13/09 👍
Apologies for a delay - I've been having tough time past months and couldn't focus on finishing the release.
Spring Cloud AWS 3.2.0 with Modulith integration has been released yesterday: https://github.com/awspring/spring-cloud-aws/releases/tag/v3.2.0
Uhh, that's perfect timing, Maciej! Thanks for the heads-up. Just enough time for us to get the deprecation in for the release candidate, end of October.
@mslowiak – Do you think that schedule works out for you?
@odrotbohm Will prepare PR by the end of week 👍
That's merged. Thanks again, both Maciej and Marcin! 🫶
Hi @odrotbohm ,
https://docs.spring.io/spring-modulith/reference/events.html#externalization pointed me to spring-modulith-events-aws-sqs . Reading the source code of SqsEventExternalizerConfiguration.java in that showed me:
logger.warn("""
The module 'spring-modulith-events-aws-sqs' is deprecated since the version 1.3 of Spring Modulith.
To continue using AWS SQS integration, migrate to 'io.awspring.cloud:spring-cloud-aws-modulith-events-sqs'.
""");
Looking at the required steps of this issue:
- Log a deprecation warning on startup if a deprecated module is used => pointed me to the deprecation
- Update reference documentation to list the modules as deprecated and point to the Spring Cloud AWS equivalents => I did not see that at https://docs.spring.io/spring-modulith/reference/events.html#externalization . Maybe there is another place that I missed but it might be missing.
Thanks for this project, it is a great help!
The deprecated modules are listed here. I'll make sure I mark the AWS ones as deprecated in the externalization section, too.
Ah, I missed that one. Thanks for the link and really fast response!
I've added a note to the 1.3 documentation.