I also have a few questions, which I submitted to GitLab (https://gitlab.eclipse.org/eclipsefdn/emo-team/emo/-/work_items/1399#note_8631094),
but I move them to this thread.
[Original questions submitted to GitLab]
(1) Please explain the differences and relationship between this project and the OpenJDK CRaC project (https://openjdk.org/projects/crac/).
(2) Please explain why this must be the Jakarta EE specification rather than the Java SE specification.
(3) Regarding the background, please clarify exactly how many “Many of” refers to.
(4) Please explain why the Patent License must be an Implementation Patent License.
(5) This specification seems to be used by application server vendors. Please explain what benefits standardizing this specification would offer
to users of Jakarta EE.
Ivar gave me an answer (https://gitlab.eclipse.org/eclipsefdn/emo-team/emo/-/work_items/1399#note_8636375),
but I still didn't quite understand the benefits of standardization for end users.
I understand that using CRIU allows application server vendors to provide values to users.
However, it seems to me that this is dependent on the vendor's implementation.
If there is a requirement for users to interact with CRIU directly from their programs,
I'm not clear the reason that it would be better to define that in Jakarta EE rather than in the Java SE or JDK specifications.
-Kenji Kazumura
From: jakarta.ee-spec <jakarta.ee-spec-bounces@xxxxxxxxxxx>
On Behalf Of David Blevins via jakarta.ee-spec
Sent: Friday, October 9, 2026 6:19 AM
To: Jakarta specification discussions <jakarta.ee-spec@xxxxxxxxxxx>
Cc: David Blevins <dblevins@xxxxxxxxxxxxx>
Subject: Re: [jakarta.ee-spec] [DISCUSSION] Creation+Plan Review for Jakarta CRaC
To be clear, I'm not making a point but asking questions. I have no formed opinion on where or how. Just questions at this point.
If we are imaging creating API classes, we should create a spec. If we only intend on producing requirements and tests, maybe going the route platform requirements plus requirements in individual specs is more apt.
That said, there still might be reasons for a spec -- would just want to identify them first.
Either way, the need for the work is clear and we're on board with a CRaC requirement in Jakarta EE. The most ideal outcome is that we're all required to run all TCK tests for all specs on a CRaC snapshot.
-David
On Oct 8, 2026, at 1:56 PM, Werner Keil via jakarta.ee-spec <jakarta.ee-spec@xxxxxxxxxxx>
wrote:
Hi,
I already voted in favor, but David certainly has a point.
CRaC is quite a lower-level technology and it was originally an OpenJDK project, or still is:
https://openjdk.org/projects/crac/
So how did it end up a Jakarta proposal and not say under Eclipse Adoptium?
Werner
Hi All!
First a quick note that though our process doesn't require discussion on this list before votes, I personally find it helpful. I suspect there was some discussion by those that can attend the Tuesday platform calls.
Fully on board with the base concept that we should support CRaC.
Handful of questions and musings. None of them should be interpreted as a preference or blocking. We don't need to have all the answers. Just trying to get a pulse.
CRaC is defined externally, which is a pattern we've seen before in basically two shapes.
CORBA for example was leveraged in the Java EE specs and EJB specs. But we didn't have a "Java CORBA" spec specifically. This made sense as we didn't produce any java libraries people would code against. Our goal was just to create rules and tests to guarantee
CORBA was supported. The work then was done in the individual specs and platform spec.
SOAP as a different pattern, though defined externally, did not have any bindings in Java so there was quite a bit of work. We both created a spec with API jar to get those bindings right, and then there was work in specific specs like EJB to integrate it there.
CRaC is defined externally and already does have java bindings. Do we imagine adding any new java API for this or would we just leverage the existing API crac.org defines? If we don't imagine producing an API, do we need this as a separate spec or can the requirements
go into a combination of the Platform and individual specs that want to support CRaC?
If we do create a Jakarta CRaC spec, is the term CRaC trademarked?
Do we have thoughts on how we could test people's compliance? In EJB we have session persistence with @PrePassivate and @PostActivate. Neither of them are testing in any Java EE TCK or Jakarta EE TCK. I never cared for that. Do we have thoughts on how we would
not reach the same fate?
Do we have any finger in the wind ideas on when the CRaC snapshot would be taken and retaken? There's a great deal of art to that part of it. I've used the feature and love it. Certainly you can do the pattern of deploy+init the app -> snapshot -> crac start.
More and more I see value in deploy+init the app -> run warm-up load for hot-spotting -> snapshot -> crac start.
Overall, I do want to convey great appreciation for the effort to get this as a requirement.
-David
_______________________________________________
jakarta.ee-spec mailing list
jakarta.ee-spec@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jakarta.ee-spec
_______________________________________________
jakarta.ee-spec mailing list
jakarta.ee-spec@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jakarta.ee-spec