spring-modulith icon indicating copy to clipboard operation
spring-modulith copied to clipboard

Deprecate AWS integration packages in favor of Spring Cloud AWS ports

Open odrotbohm opened this issue 1 year ago • 1 comments

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

odrotbohm avatar Jun 19 '24 13:06 odrotbohm

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 modules section?

mslowiak avatar Jul 11 '24 20:07 mslowiak

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.

odrotbohm avatar Aug 27 '24 18:08 odrotbohm

@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 avatar Sep 03 '24 06:09 odrotbohm

@odrotbohm Happy to work on that, but I am in vacay mode till 13/09 👍

mslowiak avatar Sep 07 '24 08:09 mslowiak

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

maciejwalkowiak avatar Sep 18 '24 04:09 maciejwalkowiak

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 avatar Sep 18 '24 08:09 odrotbohm

@odrotbohm Will prepare PR by the end of week 👍

mslowiak avatar Sep 18 '24 20:09 mslowiak

That's merged. Thanks again, both Maciej and Marcin! 🫶

odrotbohm avatar Sep 24 '24 09:09 odrotbohm

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!

JosRoseboom avatar Mar 06 '25 08:03 JosRoseboom

The deprecated modules are listed here. I'll make sure I mark the AWS ones as deprecated in the externalization section, too.

odrotbohm avatar Mar 06 '25 08:03 odrotbohm

Ah, I missed that one. Thanks for the link and really fast response!

JosRoseboom avatar Mar 06 '25 08:03 JosRoseboom

I've added a note to the 1.3 documentation.

odrotbohm avatar Mar 11 '25 11:03 odrotbohm