Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spring boot 3 #1680

Merged
merged 35 commits into from
Jun 29, 2023
Merged

Spring boot 3 #1680

merged 35 commits into from
Jun 29, 2023

Conversation

moscicky
Copy link
Collaborator

@moscicky moscicky commented Jun 14, 2023

This PR:

  • updates spring boot to 3.x.x
  • migrates most of the code from java ee to jakarta namespace (with the exception of jms related code)
  • updates jetty 9 -> 11 (11 supports jakarta namespace, also required by wiremock 3.x)
  • updates wiremock to version 3.beta which supports jakarta namespace
  • aligns hermes-client with reactor API changes: hermes-client is incompatible with Reactor 3.5 #1671
  • removes support for AsyncRestTemplate in hermes-client
  • migrates from apache http client 4 to apache http client 5

@moscicky moscicky temporarily deployed to ci June 15, 2023 07:55 — with GitHub Actions Inactive
@moscicky moscicky temporarily deployed to ci June 19, 2023 07:20 — with GitHub Actions Inactive
@moscicky moscicky temporarily deployed to ci June 19, 2023 10:29 — with GitHub Actions Inactive
@moscicky moscicky temporarily deployed to ci June 19, 2023 10:49 — with GitHub Actions Inactive
@moscicky moscicky temporarily deployed to ci June 19, 2023 11:14 — with GitHub Actions Inactive
@moscicky moscicky temporarily deployed to ci June 20, 2023 11:00 — with GitHub Actions Inactive
@moscicky moscicky temporarily deployed to ci June 20, 2023 11:25 — with GitHub Actions Inactive
@moscicky moscicky temporarily deployed to ci June 20, 2023 12:05 — with GitHub Actions Inactive
@moscicky moscicky temporarily deployed to ci June 20, 2023 12:19 — with GitHub Actions Inactive
@moscicky moscicky marked this pull request as ready for review June 20, 2023 13:43
@moscicky moscicky requested a review from pitagoras3 June 21, 2023 08:56
pitagoras3
pitagoras3 previously approved these changes Jun 22, 2023
Copy link
Contributor

@pitagoras3 pitagoras3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great effort @moscicky! 🥳 Very clean and smooth PR considering amount of changes required after Spring Boot upgrade.

hermes-client/build.gradle Outdated Show resolved Hide resolved
/**
* RestTemplateHermesSender.
*
* @deprecated as of Hermes 2.2.10, in favor of {@link pl.allegro.tech.hermes.client.webclient.WebClientHermesSender}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: I guess that we want to remove support for RestTemplateHermesSender because we have a nice occasion for doing that by upgrading Hermes to new Spring Boot, right?

Or it was impossible to keep support for RestTemplateHermesSender with newer Spring? I'm asking because not so long ago we had a discussion about RestTemplateHermesSender.

Copy link
Collaborator Author

@moscicky moscicky Jun 26, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it impossible to keep support for RestTemplateHermesSender with newer Spring?

Yes. RestTemplateHermesSender should have actually been called AsyncRestTemplateHermesSender because it was using AsyncRestTemplateHermesSender underneath. AsyncRestTemplate was removed in spring boot 3. In theory we could switch to using regular RestTemplate underneath but HermesSender is inherently asynchronous:

public interface HermesSender {

    CompletableFuture<HermesResponse> send(URI uri, HermesMessage message);
}

and RestTemplate is sync. Imo its best to remove RestTemplateHermesSender and encoure clients to migrate to WebClientSender

@@ -34,6 +34,9 @@ dependencies {
implementation group: 'com.jayway.jsonpath', name: 'json-path', version: '2.5.0'
implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: versions.jackson

//TODO: remove after migrating from apache oltu
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: Can we create an issue for migrating from Apache Oltu to other solution?

Maybe someone from Open Source community would be interested :)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's already created :), see: #1679

@moscicky moscicky temporarily deployed to ci June 28, 2023 11:41 — with GitHub Actions Inactive
@moscicky moscicky merged commit 3d89af5 into master Jun 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants