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

Support Spring Boot 3.2 #3722

Closed
8 tasks done
ThorbenLindhauer opened this issue Aug 31, 2023 · 16 comments
Closed
8 tasks done

Support Spring Boot 3.2 #3722

ThorbenLindhauer opened this issue Aug 31, 2023 · 16 comments
Assignees
Labels
type:feature Issues that add a new user feature to the project. version:7.20.3 version:7.21.0-alpha3 version:7.21.0

Comments

@ThorbenLindhauer
Copy link
Member

ThorbenLindhauer commented Aug 31, 2023

User Story (Required on creation)

  • As a software developer, I can build an application with the Camunda Spring Boot starter that uses Spring Boot 3.2

Functional Requirements (Required before implementation)

Technical Requirements (Required before implementation)

  • The Camunda Spring Boot starter is technically compatible with Spring Boot 3.2
  • On 7.20, Run distribution is packaged with Spring Boot 3.2

Limitations of Scope

Hints

Links

Breakdown

camunda-bpm-platform PR

Preview Give feedback
  1. bot:java-dependency-check ci:run ci:spring-boot
    tasso94

camunda-bpm-platform-ee PR

Preview Give feedback

camunda-bpm-platform-maintenance | Backport PR - 7.20

Preview Give feedback

camunda-bpm-platform-ee-maintenance | Backport PR - 7.20

Preview Give feedback

camunda-docs-manual

Preview Give feedback
  1. psavidis
  2. psavidis

Dev2QA handover

  • Does this ticket need a QA test and the testing goals are not clear from the description? Add a Dev2QA handover comment
@ThorbenLindhauer ThorbenLindhauer added the type:feature Issues that add a new user feature to the project. label Aug 31, 2023
@psavidis psavidis self-assigned this Dec 6, 2023
psavidis added a commit that referenced this issue Dec 6, 2023
psavidis added a commit that referenced this issue Dec 6, 2023
psavidis added a commit that referenced this issue Dec 6, 2023
psavidis added a commit that referenced this issue Dec 7, 2023
psavidis added a commit that referenced this issue Dec 12, 2023
@psavidis
Copy link
Contributor

psavidis commented Dec 12, 2023

Update 12 Dec

  • The build failures on Jenkins when Upgrading to Spring Boot 3.2 are highly related to a Regression bug of Spring 6+ combined with Spring Boot versions > 3.1.5

  • The Jenkin Builds passed with Spring Boot 3.2 and Latest changes for Selenium

Next Steps:

  • License Check Verification
  • Backport Spring Boot 3.2 to 7.20 Release; the default Spring Boot version remains 3.1, but we have dedicated CI test stages that allow us to ensure compatibility with Spring Boot 3.2
    • Similar task has been done here

@zambrovski
Copy link
Contributor

Hi folks,

org.camunda.bpm.spring.boot.starter.actuator.ProcessEngineHealthIndicator which can't be deactivated, uses org.springframework.util.Assert.notNull(processEngine) in its constructor. This deprecated method was marked for deprecation and is removed in Spring 6.1.

As a result is:

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

    org.camunda.bpm.spring.boot.starter.actuator.ProcessEngineHealthIndicator.<init>(ProcessEngineHealthIndicator.java:29)

The following method did not exist:

    'void org.springframework.util.Assert.notNull(java.lang.Object)'

The calling method's class, org.camunda.bpm.spring.boot.starter.actuator.ProcessEngineHealthIndicator, was loaded from the following location:

    jar:file:/home/simon/.m2/repository/org/camunda/bpm/springboot/camunda-bpm-spring-boot-starter/7.20.2-ee/camunda-bpm-spring-boot-starter-7.20.2-ee.jar!/org/camunda/bpm/spring/boot/starter/actuator/ProcessEngineHealthIndicator.class

The called method's class, org.springframework.util.Assert, is available from the following locations:

    jar:file:/home/simon/.m2/repository/org/springframework/spring-core/6.1.1/spring-core-6.1.1.jar!/org/springframework/util/Assert.class

The called method's class hierarchy was loaded from the following locations:

    org.springframework.util.Assert: file:/home/simon/.m2/repository/org/springframework/spring-core/6.1.1/spring-core-6.1.1.jar

In contrast to that, the org.camunda.bpm.spring.boot.starter.actuator.JobExecutorHealthIndicator is using java.util.Objects.requireNonNull(jobExecutor) which works fine.

The fix of this would be trivial - do you want me to provide a PR?

Cheers,

Simon

@zambrovski
Copy link
Contributor

The Assert class from Spring states in the docs pretty clear and uses all means to indicate this removal:

	/**
	 * Assert that an object is not {@code null}.
	 * @deprecated as of 4.3.7, in favor of {@link #notNull(Object, String)};
	 * to be removed in 6.1
	 */
	@Deprecated(forRemoval = true)
	public static void notNull(@Nullable Object object) {
		notNull(object, "[Assertion failed] - this argument is required; it must not be null");
	}

@psavidis
Copy link
Contributor

psavidis commented Jan 2, 2024

Hey @zambrovski ,

After checking out the latest code of camunda-bpm-platform in this branch, JobExecutorHealthIndicator uses the notNull method with the two parameters (including the message) which is as you pointed out the one that survived (the deprecated one is already removed when upgrading to spring boot 3.2 and spring 6.1.1 to that extend).

@psavidis psavidis assigned tasso94 and unassigned psavidis Jan 4, 2024
@tasso94 tasso94 assigned psavidis and unassigned tasso94 Jan 4, 2024
@tasso94
Copy link
Member

tasso94 commented Jan 4, 2024

@psavidis, PRs look good. Feel free to merge.

psavidis pushed a commit that referenced this issue Jan 4, 2024
Description: This commit bumps Spring Boot version to 3.2.1 for the Project

Affected Modules:
	- distro/run/qa
	- parent
	- qa/integration-tests-webapps/integration-tests
	- spring-boot-starter

Co-authored-by: tasso94
Co-authored-by: psavidis
Related-to: #3722
@psavidis psavidis closed this as completed Jan 4, 2024
@stefanzilske
Copy link
Contributor

stefanzilske commented Jan 9, 2024

Hey, any date when 7.20.3 with Support for SpringBoot 3.2 will be released?

BR, Stefan

@tasso94
Copy link
Member

tasso94 commented Jan 9, 2024

Hi @stefanzilske,

7.20.3 is scheduled for the end of January.

Best,
Tassilo

@psavidis psavidis reopened this Jan 9, 2024
@tasso94 tasso94 assigned psavidis and unassigned tasso94 Jan 11, 2024
psavidis added a commit to camunda/camunda-docs-manual that referenced this issue Jan 11, 2024
psavidis added a commit to camunda/camunda-docs-manual that referenced this issue Jan 11, 2024
Update compatibility matrix of Spring Boot Support to 3.2

Related-to: camunda/camunda-bpm-platform#3722
psavidis added a commit to camunda/camunda-docs-manual that referenced this issue Jan 11, 2024
Update compatibility matrix of Spring Boot Support to 3.2

Related-to: camunda/camunda-bpm-platform#3722
psavidis added a commit to camunda/camunda-docs-manual that referenced this issue Jan 11, 2024
Update compatibility matrix of Spring Boot Support

Related-to: camunda/camunda-bpm-platform#3722
@psavidis
Copy link
Contributor

Updated the Spring Boot Compatibility Matrix in Documentation to match the latest Spring Boot 3.2 Support. Closing the ticket.

@yanavasileva
Copy link
Member

yanavasileva commented Jan 19, 2024

Reopening the ticket:

  • On 7.20, Distro Run should be shipped with Spring Boot 3.2. I will adjust the ticket description too.

@psavidis
Copy link
Contributor

Reopening the ticket:

  • On 7.20, Distro Run should be shipped with Spring Boot 3.2. I will adjust the ticket description too.

Thank you Yana, PR with the version change for camunda-run is merged to the respective 7.20 branch.

Closing the ticket.

@yanavasileva
Copy link
Member

@Alexeego
Copy link

Hi there!
I see that the ticket is already closed, does it mean that it's already available for downloading from Maven central repository?
Or maybe u could help me and describe a way to get a fixed version 7.20.3?

BR, Alyaksey

@psavidis
Copy link
Contributor

Hi there! I see that the ticket is already closed, does it mean that it's already available for downloading from Maven central repository? Or maybe u could help me and describe a way to get a fixed version 7.20.3?

BR, Alyaksey

Hello Alyaksey,

The feature will be available in 7.20.3, currently scheduled to be released at the end of January.
Hopefully that answers your question.

Kind Regards,
Petros

@Alexeego
Copy link

Alexeego commented Feb 2, 2024

Hello Petros,

If I got you right, the feature already should be available at Maven central repository (7.20.3)(https://mvnrepository.com/artifact/org.camunda.bpm.springboot/camunda-bpm-spring-boot-starter), is it right?
I just couldn't find it, so I really appreciate any help you can provide.

BR, Alyaksey

@psavidis
Copy link
Contributor

psavidis commented Feb 5, 2024

Hello Petros,

If I got you right, the feature already should be available at Maven central repository (7.20.3)(https://mvnrepository.com/artifact/org.camunda.bpm.springboot/camunda-bpm-spring-boot-starter), is it right? I just couldn't find it, so I really appreciate any help you can provide.

BR, Alyaksey

Hello @Alexeego ,

The 7.20.3 patch release is available for our enterprise customers only. The community members can still access the feature in the upcoming 7.21.0-alpha3 release, currently scheduled to be released on 13 Feb 2024 and available in maven central.

Best,
Petros

psavidis pushed a commit that referenced this issue Mar 4, 2024
Description: This commit bumps Spring Boot version to 3.2.1 for the Project

Affected Modules:
	- distro/run/qa
	- parent
	- qa/integration-tests-webapps/integration-tests
	- spring-boot-starter

Co-authored-by: tasso94
Co-authored-by: psavidis
Related-to: #3722
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:feature Issues that add a new user feature to the project. version:7.20.3 version:7.21.0-alpha3 version:7.21.0
Projects
None yet
Development

No branches or pull requests

7 participants