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 Jakarta EE 10 including major dependency updates (spring boot 3.3, camel 4.4, CXF 4.1) #414

Closed
Thopap opened this issue Apr 22, 2023 · 13 comments
Labels
dependencies Pull requests that update a dependency file improvement
Milestone

Comments

@Thopap
Copy link
Member

Thopap commented Apr 22, 2023

As part of this issue, IPF will be updated to the Jakarta EE 10, which also require certain other major dependency updates.

@Thopap Thopap added improvement dependencies Pull requests that update a dependency file labels Apr 22, 2023
@Thopap Thopap added this to the IPF 5.0 milestone Apr 22, 2023
@ohr
Copy link
Member

ohr commented May 14, 2023

There is a blocker so far as hapi-fhir is still on javax-based JEE version. There is increasingly interest documented in hapifhir/hapi-fhir#2082. There is a survey on https://forms.gle/tMybKV9VrGRaTsrf9, end of 2023 could be a delivery date for Jakarta EE support

@ohr
Copy link
Member

ohr commented May 23, 2023

Another issue is HL7v3 request/response translation from IHE Gazelle JAXB models (net.ihe.gazelle:hl7v3-code-jar and its transitive dependencies) that are also annotated with the old XmlBind annotations.
Same is true for herasaf-xacml-core

@Thopap
Copy link
Member Author

Thopap commented Jul 14, 2023

For heras-xacml-core a new version 3.0.2 with J2EE 10 Jaxb compatiblity is now available.

ohr pushed a commit that referenced this issue Jul 21, 2023
ohr pushed a commit that referenced this issue Jul 21, 2023
ohr pushed a commit that referenced this issue Jul 21, 2023
ohr pushed a commit that referenced this issue Jul 21, 2023
ohr pushed a commit that referenced this issue Jul 21, 2023
ohr pushed a commit that referenced this issue Aug 3, 2023
@kiranam786
Copy link

Hi @Thopap, We are using IPF's latest version i.e., 4.7.0. We wanted to upgrade our projects to spring 6 but due to incompatibility with IPF modules we could not do it. I could see there are couple of mile stones.
Is there any timeline that we have for the release of IPF 5.0 ?

@ohr
Copy link
Member

ohr commented Aug 10, 2023

We mainly depend on hapifhir/hapi-fhir#2082 to be fixed, which seems to be targeted towards November 2023. Camel 4.0 should have a release, too, but this can be expected soon.

Some HL7v3 model library is also stuck on javax, but I don't expect this to change anytime soon; so I would rather remove this library.

@cyrillzadra
Copy link

Some HL7v3 model library is also stuck on javax, but I don't expect this to change anytime soon; so I would rather remove this library.

Are you referring to the gazelle library? If this library is removed, does this also affect ITIs, such as ITI-44,ITI-45 which are based on it? Will they also be removed from ipf?

@unixoid
Copy link
Member

unixoid commented Aug 29, 2023

@cyrillzadra No worries, this library is not essential for HL7v3 components. Moreover, we need these components by ourselves and would not remove them :-)

ohr pushed a commit that referenced this issue Sep 28, 2023
ohr pushed a commit that referenced this issue Sep 28, 2023
ohr pushed a commit that referenced this issue Sep 28, 2023
ohr pushed a commit that referenced this issue Sep 28, 2023
ohr pushed a commit that referenced this issue Sep 28, 2023
ohr pushed a commit that referenced this issue Sep 28, 2023
ohr pushed a commit that referenced this issue Sep 28, 2023
ohr pushed a commit that referenced this issue Sep 28, 2023
…ules. Include sources and migrate them to Java 9+ and Jakarta APIs. Remove Vertx
ohr pushed a commit that referenced this issue Sep 28, 2023
ohr pushed a commit that referenced this issue Sep 28, 2023
ohr pushed a commit that referenced this issue Sep 28, 2023
@qligier
Copy link
Contributor

qligier commented Dec 12, 2023

For info, HAPI FHIR has completed the migration to Jakarta:

HAPI FHIR 6.11.5-SNAPSHOT and later are using the new Jakarta APIs. This will be released as HAPI FHIR 7.0.0 in Feb 2024.

CXF 4.1 is then the last blocker?

@ohr
Copy link
Member

ohr commented Dec 13, 2023

HAPI FHIR has merged back the migration into its develop build, but there are no tags yet we could consume.
I keep the feature/414-jee10 branch updated with all the other stuff, but I have left all FHIR libraries disabled there.

Regarding Gazelle HL7v3 model library (hl7v3-code): this library and its dependencies don't come with any licensing information, so we have to remove it from the IPF distribution. A license is a grant of rights. No license - no rights to use.

ohr pushed a commit that referenced this issue Mar 13, 2024
ohr pushed a commit that referenced this issue Mar 13, 2024
ohr pushed a commit that referenced this issue Mar 13, 2024
ohr pushed a commit that referenced this issue Mar 13, 2024
ohr added a commit that referenced this issue Mar 13, 2024
ohr pushed a commit that referenced this issue Mar 13, 2024
ohr pushed a commit that referenced this issue Mar 13, 2024
ohr pushed a commit that referenced this issue Mar 13, 2024
ohr pushed a commit that referenced this issue Mar 13, 2024
… HttpClient5-based RestClientFactory. Disabled one async test (TestIti56)
Thopap added a commit that referenced this issue Apr 25, 2024
Thopap added a commit that referenced this issue Apr 27, 2024
Thopap added a commit that referenced this issue Apr 29, 2024
Thopap added a commit that referenced this issue May 6, 2024
ohr pushed a commit that referenced this issue Jun 7, 2024
@ohr ohr changed the title Support Jakarta EE 10 including major dependency updates (spring boot 3.0, camel 4.0, CXF 4.1) Support Jakarta EE 10 including major dependency updates (spring boot 3.3, camel 4.4, CXF 4.1) Jul 18, 2024
Thopap added a commit that referenced this issue Jul 22, 2024
Thopap added a commit that referenced this issue Jul 23, 2024
* side note: Logging must be disabled, otherwise jetty throws a failure
Thopap added a commit that referenced this issue Aug 2, 2024
@Thopap
Copy link
Member Author

Thopap commented Aug 26, 2024

For documentation purpose:

CXF 4.0 + IPF 5 is basically working fine with the following limitation / special-case-exception:
In Case a async webservice responder endpoint is used + cxf Message Logging is enabled, CXF will run into a NullPointer in Netty because CXF preserve the HTTP Servlet Request object even if the HTTP request / response is already done.

In IPF one testcase was affected (testIti56 ) which was currently fixed by disable the Message Logging (84c8591)

So basically CXF 4.1 will fix this handling:
https://issues.apache.org/jira/browse/CXF-9004

(Further details also here https://lists.apache.org/[email protected]:2024-7)

@rbastiaansen732
Copy link

Great work, all!

I'm testing our software in combination with this branch. The major upgrade is looking good.

Thopap added a commit that referenced this issue Sep 1, 2024
Thopap added a commit that referenced this issue Oct 27, 2024
ohr pushed a commit that referenced this issue Oct 31, 2024
Thopap added a commit that referenced this issue Dec 6, 2024
@ohr ohr closed this as completed Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file improvement
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

7 participants