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 1 x #2421

Merged

Conversation

arolfes
Copy link
Contributor

@arolfes arolfes commented Oct 26, 2023

Upgrading to Spring Boot 3.1.x required an upgrade to jakarta.
The Wildfly server 25.0.1 does not yet support jakarta, so it had to be upgraded as well.
With Spring Boot 3.1.X, SLF4J 2.0.X was also added to TASKANA.

We tried to adapt as little production & test code as possible, except for the imports.

However, this was not possible in the CDI module.
Here a new method with an empty body had to be implemented so that the PostConstruct method is executed first.
is executed first.
The other changes in the CDI module concern the switch to Wildfly 27 and the upgrade of the arquillian test module.
After reviewing the sonar-cloud results, I switched from property injection to constructor injection for all cdi related classes.

The taskana-routing-rest module could no longer be built because it had a dependency on the dmn-xlsx-converter from camunda. This community project has not yet been updated to jakarta. So we cloned dmn-xlsx-converter and built it as a submodule of taskana-routing-parent.
We made all necessary changes available to the project as PR and documented them in the clone.

SonarCloud results
https://sonarcloud.io/summary/new_code?id=norman-schmidt_taskana&branch=SPRING_BOOT_3_1_x
All warnings regarding the dmn-xlsx-converter will not be fixed for the time being. How this will be handled has yet to be decided.

Addendum Nr: 1
In the module taskana-routing-rest I switched from com.sun.xml.bind:jaxb-core to org.glassfish.jaxb:jaxb-core and com.sun.xml.bind:jaxb-impl to org.glassfish.jaxb:jaxb-runtime .
There is already a discussion about this. #2421 (comment)
Should we stay with glassfish here or switch back to sun?

Addendum Nr: 2
While upgrading to Wildfly 27.0.1 I noticed that a complete EE server is started here.
In my opinion this is not necessary.
Changing the configuration of the Wildfly server at this point can speed up testing considerably.
However, this is not part of the Spring Boot upgrade and should be addressed in a separate ticket.


Release Notes:

* Move to Spring Boot 3.1.5
* Switch to jakarta instead of javax wherever there is a jakarta equivalent.
* Change to Wildfly 27.0.1
* New submodule `dmn-xlsx-converter` as a clone of https://github.com/camunda-community-hub/camunda-dmn-xlsx/tree/master/xlsx-dmn-converter

For the submitter:

Verified by the reviewer:

  • Commit message format → (Closes) #<Issue Number>: Your commit message.
  • Submitter's update to documentation is sufficient
  • SonarCloud analysis meets our standards
  • Update of the current release notes reflects changes
  • PR fulfills the ticket
  • Edge cases and unwanted side effects are tested
  • Readability

pom.xml Outdated Show resolved Hide resolved
@arolfes arolfes force-pushed the SPRING_BOOT_3_1_x branch 2 times, most recently from 594ae5a to 3e24eab Compare October 31, 2023 13:39
@arolfes
Copy link
Contributor Author

arolfes commented Oct 31, 2023

Hello everyone,

a short explanation about the QualityGates

image

The CodeCoverage is mainly broken by the new module dmn-xlsx-converter.
The other parts of the CDI and CDI-Example modules have been known for a long time. Here we have decided to do an integration test only. After deployment on the Wildfly, jacoco can no longer measure anything.
The same applies to taskana-spring-example and taskana-rest-spring-example-wildfly.

I have fixed all code smells related to Taskana. It was only CDI. All other code smells concern the new module dmn-xlsx-converter.

The 2 security hotspots are also in the dmn-xlsx-converter module.

The code duplication is also in the new module dmn-xlsx-converter.

@gitgoodjhe
Copy link
Contributor

Hello everyone,

a short explanation about the QualityGates

image

The CodeCoverage is mainly broken by the new module dmn-xlsx-converter. The other parts of the CDI and CDI-Example modules have been known for a long time. Here we have decided to do an integration test only. After deployment on the Wildfly, jacoco can no longer measure anything. The same applies to taskana-spring-example and taskana-rest-spring-example-wildfly.

I have fixed all code smells related to Taskana. It was only CDI. All other code smells concern the new module dmn-xlsx-converter.

The 2 security hotspots are also in the dmn-xlsx-converter module.

The code duplication is also in the new module dmn-xlsx-converter.

Hi @arolfes We could consider excluding the new module from the Sonar analysis for now, what do you think?

@arolfes arolfes force-pushed the SPRING_BOOT_3_1_x branch 3 times, most recently from 7b32dbb to 5418aa1 Compare November 6, 2023 07:48
@arolfes
Copy link
Contributor Author

arolfes commented Nov 6, 2023

Hi @arolfes We could consider excluding the new module from the Sonar analysis for now, what do you think?

Hi @gitgoodjhe , I really like your idea.

I did some tweaks :)

image

looks good to me :)

…g-parent

as long as a newer release of dmn-xlsx-converter is missing, we need to care that the underlying docx4j version is using jakarta instead of javax

So all classes are copied from this PR
camunda-community-hub/camunda-dmn-xlsx#53
@norman-schmidt norman-schmidt merged commit 855a477 into Taskana:SPRING_BOOT_3_1_x Nov 9, 2023
42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants