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

Clarify what impact Jakarta EL 4.0 has in 7.19 to 7.20 migration guide #4676

Closed
4 tasks done
mboskamp opened this issue Oct 7, 2024 · 0 comments
Closed
4 tasks done
Assignees
Labels
group:support All requests that are linked to a customer request. DRI: Tassilo scope:documentation Changes to the product documentation. type:task Issues that are a change to the project that is neither a feature nor a bug fix. version:7.20.10 version:7.21.7 version:7.22.2 version:7.23.0

Comments

@mboskamp
Copy link
Member

mboskamp commented Oct 7, 2024

Acceptance Criteria (Required on creation)

The 7.19 to 7.20 migration guide has a section about Jakarta EL 4.0 and the impact that switching from JUEL to Jakarta EL has.

Bean method invocation changes with regards to method parameters. All values, including null values, are converted as described in the EL API specification. As a result, null values will be coerced into the type defined by the method. For example, calling myBean.setStringAttribute(null), requiring a String parameter, now leads to null being coerced into an empty String "". Previously, the null value was passed on as is.

It is not 100% clear what impact this can have. We should add a real-world example using execution context variable.

Given the following Java snippet. When used in an expression (e.g., in a service task), the result may be different from that of previous Camunda versions. Jakarta EL will treat nullableVariable as empty string when it is null. This will result in the engine looking for a task with id of "" (empty string) whereas normally it would ignore the taskId parameter. This is an example of how the new behavior can break custom implementations when using expressions. Calling the same API with regular Java code (e.g., from an external task or Java delegate) will not produce a different behavior compared to previous Camunda versions. The Camunda API did not change.

execution.getProcessEngineServices().getHistoryService().createHistoricTaskInstanceQuery().taskId(nullableVariable).list();

Hints

Links

Breakdown

Dev2QA handover

  • Does this ticket need a QA test and the testing goals are not clear from the description? Add a Dev2QA handover comment
@mboskamp mboskamp added type:task Issues that are a change to the project that is neither a feature nor a bug fix. version:7.23.0 group:support All requests that are linked to a customer request. DRI: Tassilo labels Oct 7, 2024
@mboskamp mboskamp self-assigned this Oct 7, 2024
mboskamp added a commit to camunda/camunda-docs-manual that referenced this issue Jan 9, 2025
mboskamp added a commit to camunda/camunda-docs-manual that referenced this issue Jan 9, 2025
mboskamp added a commit to camunda/camunda-docs-manual that referenced this issue Jan 9, 2025
mboskamp added a commit to camunda/camunda-docs-manual that referenced this issue Jan 9, 2025
mboskamp added a commit to camunda/camunda-docs-manual that referenced this issue Jan 9, 2025
@mboskamp mboskamp assigned joaquinfelici and unassigned mboskamp Jan 9, 2025
mboskamp added a commit to camunda/camunda-docs-manual that referenced this issue Jan 16, 2025
mboskamp added a commit to camunda/camunda-docs-manual that referenced this issue Jan 16, 2025
mboskamp added a commit to camunda/camunda-docs-manual that referenced this issue Jan 16, 2025
mboskamp added a commit to camunda/camunda-docs-manual that referenced this issue Jan 16, 2025
@mboskamp mboskamp added the scope:documentation Changes to the product documentation. label Jan 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
group:support All requests that are linked to a customer request. DRI: Tassilo scope:documentation Changes to the product documentation. type:task Issues that are a change to the project that is neither a feature nor a bug fix. version:7.20.10 version:7.21.7 version:7.22.2 version:7.23.0
Projects
None yet
Development

No branches or pull requests

2 participants