-
Notifications
You must be signed in to change notification settings - Fork 69
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
We need to define the JPMS strategy for EE10 and beyond #329
Comments
Previous issues: |
Ideas on various levels of details that are needed based on internal discussions:
|
It may be a special niche but based on Bugs at least until Java 13 not fully addressed (so if the minimum JDK version was 11-13 there is a great risk of that) JPMS and Multi-Release-JAR mechanism are incompatible and may cause serious problems if used together without safety-measures.
Most of that is hidden very well in OpenJDK Bugs like JDK-8207162 and similar ones, but even the statement it affects only Java 9-11 seems incomplete because at the very least 12 is also still affected from our experience. Therefore as long as the minimum version for either Specs or implementations is Java 11 or 12 and not higher, there should be some form of caveat about Multi-Release-JAR usage in combination with JPMS. |
Is there a plan to upgrade minimal Java version requirement? Considering Java 8 is end of life, if we base Jakarta 10 on Java 11, we do not need to have multi-release jars, and can fully utilize JPMS using |
That's a good point, I am also not entirely sure, if OpenJDK some day pruned or eliminated the Should any project plan to use "fancy new stuff" like records, etc. (maybe not all of it likely for an API but who knows what they plan to use) then even with a minimum Java SE version like 10, 11 or 12 there could still be a temptation and need to use these via Multi-Release-JAR although I must admit, for specs there may not be such a benefit, given that for the time being I don't think a spec may offer element X but Y only if you are on Java 16 or above? ;-) |
tl;dr Java SE 11 for module descriptors (and Java SE 8 or 11 for source code, but that question is irrelevant w.r.t. modules) @keilw I don't see any evidence that proves there are unresolved JDK issues w.r.t. the module system and/or MR JARs:
@tomas-langer MR JARs are not a prerequisite for Java SE 8-compatible modular JARs: the
This question is irrelevant, because the JAR spec itself doesn't currently allow it:
(edit: @keilw I'm disappointed by your response and will not engage any further in this discussion) |
@anthonyvdotbe Thanks but indriya#346 is meaningless and I already closed it as invalid. You are right however, that only adding a |
This should be no-go for spec projects. There are more problems with them but the one I mean here is that
open module propagation to allow reflection access is another thing. What I as an end user want is to
Do not take me wrong from the text bellow - I vote for SE 11 as the base should my vote be the binding one ;-)
https://docs.oracle.com/en/java/javase/11/docs/specs/jar/jar.html#modular-jar-files gives clear answer to that:
Which, in the other words means that
At the spec project level, usage of "fancy new stuff" should be discouraged (or not recommended) - but probably not strictly prohibited, unless it comes from an LTS Java SE version (ie support for SE 15 would not be recommended, for SE 17 it would be OK). My thinking here is that implementations/vendors should not be forced to provide support for possibly changing features. If they want to support them in their implementations, they can do so even under current rules.
or under the versioned directory. It is possible to have slightly different descriptors for different SE versions. This is defined at https://docs.oracle.com/en/java/javase/11/docs/specs/jar/jar.html#modular-multi-release-jar-files - this also proves that the statement JPMS and Multi-Release-JAR mechanism are incompatible is false as long as defined rules are followed. I'm not sure it is feasible to have this completely covered, defined and implemented in EE 10. But it would be definitely good to start with spec and CI can support JPMS by following TBD rules/recommendations and switching it over to spec must and CI can support JPMS in EE 11 together with further adjustments and bumping up min SE version to 11 there. It would be nice to say must also for the CIs in EE 11 but I'm afraid there will be implementations not willing to jump on the JPMS train. |
Hi there, sorry to barge in but I heard people are discussing modules and I'm always up for that. :) Caveat: I don't know the Jakarta EE space well, so I may be missing context - let me know if you think I do. A few random replies:
👍🏾 Maybe this helps. (Note that it has no official character and didn't catch on, but I still think it's good. 😊 )
Technically, the automatic module name is only that: a name for the JAR if it's used on the module path. But socially, it also signals to users that the JAR works fine on the module path. I recommend to only define a name once that has been established.
As far as I can tell, this analysis is based on a malformed JAR (see my comment in unitsofmeasurement/indriya#346) and unrelated jdeps and Maven issues. I don't think it holds up.
I have no particular insight into plans for the service loader, but I'd be extremely surprised by such a change as it would severely neuter the class path. So unless the class path itself is going away (would be equally surprising), I wouldn't worry about this. And @lukasj got it right re service declarations: If a JAR is supposed to work on class path and module path, it needs to define services in
Re fixes in 13 not being backported in 12, that's because 12 is no LTS version. As far as I can tell nobody in the OpenJDK community is backporting fixes to it and neither does anybody offer commercial support for it.
I may well have misunderstood the last sentence, so this might be a non-sequitur, but I want to point out that only preview features (enabled with |
@nipafx Thanks for your input here. I just literelly at this moment saw the mail, that DWX' 21 also has to happen remotely, so while I anticipate your JDK talk, we (including @thodorisbais, @ivargrimstad, you and myself) won't meet in person then, because after the recent Corona "Emergency Break" in Germany they certainly did not see a chance to hold it in person, especially not in the home town of Markus Söder ;-/ You made most of the good points here, especially about @anthonyvdotbe Sorry to dissapoint you, but I was also quite surprised to even learn of your ticket #174 which only @kwsutter had ever exchanged a few thoughts with until @starksm64 linked it here and some had a look at it. I was quite actively involved in shaping a minumum level of modularity and JPMS in Jakarta EE 9 already, but there were some compromises (as everywhere also in other specs especially in the JDK itself ;-) and a few specs or APIs that did not feel ready at the time especially CDI while others had done that already. |
Support is going to continue at least until December 2030. Oracle might decide to extend it further as long as there are enough paying customers. The question is, what does this have to do with support for Java 8 in new versions of libraries/specifications? Java 8 is essentially EOL and has been very much discouraged for new projects for a while, now. It is now in pure legacy maintenance mode, and new specifications targeting it might confuse people further about this. |
The expectation is that at least Java 11 will be required. This is being tracked in #331 where the question of Java 17 support is also raised. |
@pron For completely new services I agree and I also helped a customer introduce a green-field system based on Java 11+ around 2 years ago, but right now I have another case where "Legacy" systems like Tibco, CORBA or even Host systems are involved in a very big company and none of those are being replaced before at least the mid 2020s. Thus they add new services using Java 11 and Jakarta EE or Spring Boot, etc. but they still have those old systems and for SOAP or other protocols many don't get touched until eventually they might be replaced by something like a new REST based API and only then when all the services are upgraded, the last Java 8 client or server is going to disappear. @tomas-langer For the spec the need for multi-release-jar support could be close to zero, for implementations I would not outrule that however as I cannot speak for all the projects and their project leads, that we may only recommend on a platform level but it's up to each of them and their products what they do, so it can't be outruled. Even less for applications consuming it, #331 had a good case by someone who said they already use |
@keilw Java 8 will be supported for as long as Oracle deems it worthwhile; could be 2050; could be 2150. The point is that while maintenance releases of existing specifications, like Jakarta EE 9, might want to support Java 8 until, say, 2045, this shouldn't affect the minimum required version for new specifications, like Jakarta EE 10. I mean, you can choose to target Java 8 if you like, but my point is that Oracle's legacy support for 8 shouldn't impact that decision one way or another. Java 8 should no longer be used for any new projects, and new specification versions can safely (and probably should) choose not to support it. |
@pron Sure but then it becomes expensive. I worked at BEA just before Oracle purchased it and many of those support plans for the Middleware still exist or were combined with what Oracle had. And we had Weblogic 4 customers (2007 WLS 10 was released, so 4 existed since 1999) who needed support by the Professional Support team I helped and paid somewhere between a single and double-digit Million $ amount per year for that, so yes, if you are happy to pay you could use it until the end of times. |
My point is just that Oracle's (possibly eternal) support period should not play a factor in the decision of which version to support. Java 8 is EOL for new work and there's no need to support it in new spec versions. |
Agreed. The discussion on the minimal Java SE version should occur on #331. Currently there is no expectation that the Java SE version will be less than 11. |
Point taken. My concern is "What's next, after EE 10 gets out, and when?" What I would expect from the Platform project is at least rough, say mid-term, schedule for at least current + 1 releases in terms of supported Java SE versions. I could have probably missed or haven't heard ie sth like: Within 6 months of new Java SE LTS release X there is new Jakarta EE Platform release with Java SE X set as a minimum supported Java SE version. This version of Jakarta EE allows changes breaking backwards compatibility rules. and Every 6-12 months there may be an update release for the latest Jakarta EE version available. This version does not allow breaking changes and requires strong backward compatibility with the EE version the update is based on. That would send clear message not only to spec projects, which can then plan features for the platform as a whole and/or their updates accordingly, but also to the community/customers wrt when there will be an update/new major version and what its basic requirements are going to be. |
This has been a little silent, maybe it'll gain more speed after 9.1 is out, but one important finding after a little "goose chase" we finally got an answer to what happened in unitsofmeasurement/indriya/issues/301 although the answers came from another completely unrelated issue. Meaning if a Jakarta EE application defines or consumes a modular, multi-release JAR it is at risk of this problem and may lose the |
tl;dr JDK-8235229 is irrelevant, both to this issue and #331 JDK-8235229 was a compilation-only issue: when using the Since the JAR spec specifies that:
it had a negligible impact (which is why it wasn't reported until after the release of Java SE 13 and is unlikely to be backported). The only reasonable scenario (i.e. a scenario that only involves spec-compliant multi-release JARs) I can readily think of is the one in the report: a modular multi-release JAR that does not contain a |
Well failed compilation is bad enough, so there needs to be a warning in certain documents (probably user guide at the very least) so even if the combination of modules and multi-release-JARs may still be rare people are aware and know what to do. It's all but harmless if the According to a JUnit committer parts of JUnit 5 like This may affect EE4J artifacts (if they are not able to build against Java 16+ yet), implementors of Jakarta EE when they build their products, and of course consuming developers alike if they come across at least one such JAR. Trying to refrain from multi-release JARs for the Jakarta specs and APIs themselves unless there is a non-deniable argument for it also seems a good suggestion. At the moment none of them do, so if they already declare a |
tl;dr I agree that JDK-8235229 is relevant, in the sense that Jakarta EE should not produce any such JARs (by requiring a About the lack of So again, the issue can only occur in a very specific case: a modular multi-release JAR that does not contain a Also, there are several ways to deal with it. As mentioned, one can either compile with JDK 16+ and specify the appropriate |
No |
Jakarta MUST keep compatibility with the classpath mode. In that world, |
@lukasj Thanks for the input. I guess where backward-compatibility of the API even down to Java 8 is required for the time being (likely up to another decade) Jakarta EE has higher backward compatibility requirements than some of the "Microframeworks" may have. Of course the |
My comment is not necessarily related to backwards compatibility as such. As long as Java SE itself supports class-path, there is no way for jakarta APIs to deny people putting APIs there effectively bypassing all constraints defined in |
Of course the APIs should and while it is up to what individual vendors and their compatible implementations do (if they force them to upgrade to Java 17 it's their call) the former RIs like Glassfish may also go a little softer here and e.g. try to avoid multi-release JARs or offer enough backup mechanisms if they were not used yet. |
6.1 contains few MR Jars already (with module-info in place - in jar's root), 6.0 as well, and I haven't heard about any issues on 11 caused by this yet |
I think if you keep module-info in the root that's normally not affected, but in more complex systems there may well be multiple
Even suggests that might be the preferred way. At least it's possible and we cannot prevent the other third-party developers or end users from using either way depending on which other needs they have. Of course JSR 385 has very different target environments, it should run anywhere from Rasperry Pi (even the Pico, if Java still runs there?) to large Data Centers in the Cloud. Its predecessor JSR 363 RI was the only known case from the "Java SE side" to ever pass and run on the Java ME 8 Embedded platform other than the contents of Java ME Embedded themselves. It also runs on Android (both Java especially after the SCOTUS ruling and Kotlin ;-) and other embedded systems. Which is why I said in other threads, you should not judge a spec "by its cover" without knowing enough about its background or context. |
I invite everyone to find an actual library like this. (I'm not saying there aren't any, just that I predict it won't be easy to find one, let alone one that is somewhat popular.) Also note that there's likely tools/libraries out there that support modules, but don't support MR JARs yet. So it's equally likely that module descriptors are being placed in the top-level directory already in order to accommodate those. |
Well it's not up to the Jakarta EE WG to "find libraries" and the spec allows both, plus there can be multiple versioned directories (the example only mentions one, but the bug 301 filed gainst Indriya earlier also was raised for a true multi-release JAR) with more than just one, that I agree is probably even more rare but not impossible and there are so many JDK versions between 9 and 15 all of which could face this. And large companies have large application lifespans and complex distributed systems, they don't just switch to a new JDK because Oracle or Adoptium say so and make it available. They may only start using Java 11 now and if that's the minimum level for Jakarta EE 10 stay there for another few years. They don't touch or upgrade hundreds or thousands of applications in the enterprise, they ma have a business requirement and as a side-effect also upgrade the JDK while others remain until the lifespan of the JDK expires or the whole project or product might be superceded and discontinued. |
this is going nowhere. The responsibility of the WG/platform group should be to say that it wants/does not want to support JPMS and if it wants to support it, then define requirements for the specs to be satisfied in order to be included in the platform X.Y.Z and approximate time-line for delivering full featured JPMS support. I don't think it is feasible to have everything ready within one release. I think it would be sufficient to include this as a (strong?) recommentation in the platform architecture document @ivargrimstad created. Platform may also require support for JPMS by spec's CIs at some point in the future. I can imagine that for EE 10 requirements on included specs are:
While this certainly does not capture everything, it should be enough to allow people using spec APIs on JPMS and give community option to come up with new CIs fully utilizing the module system. If some spec decides (and is allowed to) support multiple newer SE versions through MR jar beyond the Platform defined minimum version, it should be responsibility of that spec/corresponding CIs/platform CIs to resolve any encountered issues - either by not including newer SE version specific support, compiling with latest JDK (fine as long as running on min required platform defined SE level is supported) or working with JDK/other dependencies teams on fixing issues there. Platform project itself as such should not care about these "implementation details" to certain extent. At the end of the day, what I - as an end user - want in order to develop my app for the Platform X.Y.Z at some point in the future is to define my app as: module org.eclipse.platformdemo {
requires jakartaee.platform;
requires jakarta.xml.bind;
requires my.lib;
exports my.jaxb.classes;
opens my.jaxb.classes to jakarta.xml.bind;
....
} where module jakartaee.platform {
requires transitive jakartaee.web;
requires transitive jakarta.persistence;
....
// optional parts
requires static jakarta.xml.bind;
....
} This artifact/module contains spec APIs ONLY; no implementation classes should be allowed to guarantee vendor-neutrality (as it is with current version of the Now I want to build my app and "run" it somewhere. Let's say there is vendor V, who opts-in to support JPMS and provides CI for Plarform X.Y.Z. This vendor defines its own implementation of the module jakartaee.platform {
requires transitive jakartaee.web;
requires transitive jakarta.persistence;
....
// we contain optional parts
requires transitive jakarta.xml.bind;
....
// implementations we use
requires transitive com.sun.xml.bind;
requires transitive org.eclipse.persistence.moxy;
....
} When my app is deployed into such environment, all modules are properly resolved and my application just runs. Vendor V may also allow deployment which completely ignores modules through some option. There also can be other vendor W, who did not opt-in to support JPMS - such vendor only needs to make sure that all JPMS descriptors are ignored and when I take my app and deploy it into W's environment, the app runs exactly the same way as today. ...just my 2¢... |
That's precicely what I suggested 2 days ago: #329 (comment) and I don't think we need countless more arguments for and certainly none against it here. |
I originally wanted to say: NO btw: "reliance on automatic module name is not allowed" where automatic-module is defined by https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/module/ModuleFinder.html#automatic-modules |
For EE10 we decided on a minimal adoption strategy for API jars with no binding behaviors. This is now an EE11 issue if there are real requirements around supporting JPMS in deployments. |
Signed-off-by: Kevin Sutter <[email protected]> Initial draft outline of the core profile specification Signed-off-by: Scott M Stark <[email protected]> Fix typo in CDI lite reference Signed-off-by: Scott M Stark <[email protected]> Initial draft outline of the core profile specification (jakartaee#356) * Initial draft outline of the core profile specification Signed-off-by: Scott M Stark <[email protected]> * Fix typo in CDI lite reference Signed-off-by: Scott M Stark <[email protected]> Prepare next development version (jakartaee#366) Signed-off-by: Ivar Grimstad <[email protected]> removal of managed beans spec content and build process Signed-off-by: Kevin Sutter <[email protected]> PNG to SVG images format conversion. Signed-off-by: Dmitri Cherkas <[email protected]> 1) Figure 5 converted from PNG to SVG, 2) margin of 5 mm is added to Figure 4, 3) Elements are aligned. Signed-off-by: Dmitri Cherkas <[email protected]> 1) Figure 6 converted from PNG to SVG, 2) error corrected in Figure 5. Signed-off-by: Dmitri Cherkas <[email protected]> Figure 7 in SVG format. Signed-off-by: Dmitri Cherkas <[email protected]> Figure 8 in SVG format. Signed-off-by: Dmitri Cherkas <[email protected]> References in the spec from png to svg are updated as requested. Signed-off-by: Dmitri Cherkas <[email protected]> JavaEEapplication_schema.svg conversion Signed-off-by: Dmitri Cherkas <[email protected]> JavaEEapplication_schema.svg errata corrige and other 3 images converted. Signed-off-by: Dmitri Cherkas <[email protected]> JavaEEapplication_schema.svg errata corrige and other 3 images converted. Signed-off-by: Dmitri Cherkas <[email protected]> JavaEEapplication-client_schema.svg errata corrige. Signed-off-by: Dmitri Cherkas <[email protected]> The next images convertion done. Signed-off-by: Dmitri Cherkas <[email protected]> Last images (Platform_Spec-24.svg, Platform_Spec-23.svg, Platform_Spec-21.svg, JavaEEapplication_DTD.svg) converted. Signed-off-by: Dmitri Cherkas <[email protected]> 1) Errata corrige for images 22, 23, 24; 2) all of the doc references updated to point at the svg files instead of the png files. Signed-off-by: Dmitri Cherkas <[email protected]> Begin work on the EE 10.0 specs Update asciidoc related dependencies, clean up warnings and add coreprofile spec generation Set version to 10.0 Signed-off-by: Scott M Stark <[email protected]> Remove applet requirements, jakartaee#298 Change Java SE 8 references to Java SE 11, jakartaee#331 Signed-off-by: Scott M Stark <[email protected]> Address comments from @kazumura Signed-off-by: Scott M Stark <[email protected]> Remove applet requirements, jakartaee#298, update Java SE jakartaee#331 (jakartaee#417) * Remove applet requirements, jakartaee#298 Change Java SE 8 references to Java SE 11, jakartaee#331 Signed-off-by: Scott M Stark <[email protected]> * Address comments from @kazumura Signed-off-by: Scott M Stark <[email protected]> Remove the Applet container from the diagram, jakartaee#298 Signed-off-by: starksm64 <[email protected]> Remove applet container from interoperability diagram Signed-off-by: starksm64 <[email protected]> Remove the managed bean spec generation that was readded in a PR merge. Signed-off-by: starksm64 <[email protected]> Fix the out of date img references that had been converted to svg, jakartaee#435 Signed-off-by: starksm64 <[email protected]> Various errata corriges. Signed-off-by: Dmitri Cherkas <[email protected]> Broken line at the start of 8.3. Class Loading Requirements paragraph. Signed-off-by: Dmitri Cherkas <[email protected]> Broken line at the end of 8.3.3. paragraph Signed-off-by: Dmitri Cherkas <[email protected]> Two errata corrige: 'Jakarta instead of Jaav' and '_multitier applications_' istead of 'multitier __ applications' Signed-off-by: Dmitri Cherkas <[email protected]> Update documentation regarding Java SE base level Start a dependency graph section in the specs Signed-off-by: starksm64 <[email protected]> Correct authentication label Signed-off-by: starksm64 <[email protected]> Add ejb, jta child dependencies Signed-off-by: starksm64 <[email protected]> Label cdi -> {jta, ejb} dependency with javadoc Signed-off-by: starksm64 <[email protected]> Update web profile dependencies to latest versions Signed-off-by: Scott M Stark <[email protected]> First pass at removing core profile requirements, jakartaee#413 Signed-off-by: starksm64 <[email protected]> Add clarification from ksutter. Signed-off-by: starksm64 <[email protected]> Move the JNDI/JTA requirements from Platform profiles section to Web profile Signed-off-by: starksm64 <[email protected]> Address comment from Edwin Signed-off-by: Scott M Stark <[email protected]> Further simplifications Signed-off-by: Scott M Stark <[email protected]> Update specification versions and related documents Signed-off-by: Scott M Stark <[email protected]> Add Jakarta Concurrency 3.0 Signed-off-by: Scott M Stark <[email protected]> Add Jakarta Concurrency Specification 3.0 to related docs Signed-off-by: Scott M Stark <[email protected]> Statement for jakartaee#460, jakartaee#406 Signed-off-by: Scott M Stark <[email protected]> Make the last paragraph a decision statement Signed-off-by: Scott M Stark <[email protected]> Add a future statement regarding JPMS, make clear there are no requirements currently jakartaee#425 Signed-off-by: Scott M Stark <[email protected]> Refine module-info.class description to clarify they are not standard Clarify vendor module-info.class contents can be different and may conflict with those in the spec project API jars. Add a statement about restrictions of using the jakarta package namespace, jakartaee#457 Signed-off-by: Scott M Stark <[email protected]> Just talk about the jakarta package name restrictions. Signed-off-by: Scott M Stark <[email protected]> Minor updates to core profile Signed-off-by: Scott M Stark <[email protected]> Link to working group about page Signed-off-by: Scott M Stark <[email protected]> Address some comments about core profile spec doc Signed-off-by: Scott M Stark <[email protected]> Fix the CDI spec link as there is no separate CDI Lite spec. Signed-off-by: Scott M Stark <[email protected]> Update the component spec versions Signed-off-by: Scott M Stark <[email protected]> Breakout the copyright section to a new document, jakartaee#499 Signed-off-by: Scott M Stark <[email protected]> Address review comments Signed-off-by: Scott M Stark <[email protected]> Order included specs by name drop the managed bean spec Signed-off-by: Scott M Stark <[email protected]> Minor updates to web profile and platform spec Signed-off-by: Scott M Stark <[email protected]> The requirements were really optional behaviors from other specs, so reorg those and add that CDI Java SE is not a requirement. Signed-off-by: Scott M Stark <[email protected]> Correct sorted ordering of required components Signed-off-by: Scott M Stark <[email protected]> Better ordering Signed-off-by: Scott M Stark <[email protected]> Address comments from scottmarlow Signed-off-by: Scott M Stark <[email protected]> Note managed beans are deprecated for removal, jakartaee#502 Signed-off-by: Scott M Stark <[email protected]> Follow through on removal of entity beans and embeddable EJB container Signed-off-by: Scott M Stark <[email protected]> Updated removed list to the EE 10 candidates Signed-off-by: Scott M Stark <[email protected]> Add Connectors 2.1 to to the list Update platform-spec.adoc (jakartaee#506) We added this commemoration for Jakarta EE 9. I guess it is appropriate to take it out from Jakarta EE 10 Update ApplicationProgrammingInterface.adoc Remove version numbers, provide reference to Application Programming Interface chapter for specific versions. Fixed Security Spec. name. Noted Web Services Metadata is moved to XML Web Services. Remove SOAP with Attachments version from table Order specifications alphabetically to match Profiles ordering Rename Server Pages Debugging to Debugging Support for Other Languages Signed-off-by: Scott M Stark <[email protected]> Address TBDs in platform spec Signed-off-by: Scott M Stark <[email protected]> Include the removed tech in the changes Signed-off-by: Scott M Stark <[email protected]> Address jakartaee#567, fix old specification version references. Signed-off-by: Scott M Stark <[email protected]> update profile names in CCR request template (jakartaee#649) Add a tck challenge template Simplifying spec generation switch to Asciidcotor pdf generation (remove docbook). Twick licence blocks to have a nice pdf version CDI-538 Section 3.8 on CDI 1.2 spec javax.security.Principal (now in 17.8) CDI-416 Typo on @PersistencContext Fix minor grammar mistakes Introduce new ref in EE for TCK Fix interceptors_ee.asciidoc file name. Cleaning source asciidoc files to have one sentence per line Migrating to Asciidoctor 1.5+ notation CDI-553 move notion of "security context" to EE part. CDI-545 observers can be only local bussines method. CDI-569 Add @ObservesAsync where the spec mention @observes Correct sources to match one sentence per line CDI-571 producer and disposer methods can be only local bussines method of EJB. (jakartaee#284) Correcting typos on Asciidoctor links CDI-555 remove the outdated wording linked to previous Java SE boot api CDI-500 Clarify @Intercepted bean metadata injection for EE components (jakartaee#318) additional fix - missing chapter id. (jakartaee#325) CDI-625 Make it clear when exactly are context init/destroy events fired (jakartaee#303) - add @BeforeDestroyed Few language updates (jakartaee#329) Nice to see text reviewer ;). Thx @tremes. CDI-667 introduce new chapter for trimmed bean archive in Java EE. (jakartaee#368) Cleaning Javadoc and typos remove unused import minor syntax update to java 8 CDI-495 What happens if an illegal bean type is found in the set of bean types (jakartaee#363) CDI-689 Typo or unclear message in 24.1.2 (jakartaee#382) CDI-690 Request Context Clarification (jakartaee#385) Clarify in core when request context is active, and change verbiage a bit to align to common term of context. change from javax.* to jakarta.* (jakartaee#414) Signed-off-by: Scott Marlow <[email protected]> Jakartify (jakartaee#444) * Jakartify definition Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify decorators Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify events Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify implementation Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify inheritance Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify inject Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify interceptors Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify intro Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify lifecycle Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify packaging Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify scopes Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify spi Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify core packaging Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify core spi Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify inject Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify resolution Signed-off-by: Ivar Grimstad <[email protected]> * Fix javax.* references to jakarta.* Signed-off-by: Ivar Grimstad <[email protected]> * Fix javax.annotation.ManagedBean reference in javadoc to jakarta.annotation.ManagedBean Signed-off-by: Ivar Grimstad <[email protected]> Fix the javax.servlet package usage Signed-off-by: Scott M Stark <[email protected]> Removal of deprecated APIs: BeanManager.fireEvent() Removal of deprecated APIs: @New comprehensive review and various Lite/Full split changes Rename files and chapter refereces to align with rest of the specification Bump CDI version to 4.1 and place EL integration API in a new supplemental artifact (jakartaee#644) * Fix remnants of BeanManager.fireEvent() removal * Centralize common Maven properties in the parent POM * Fix EL import version in bundle metadata * Bump CDI version to 4.1 * Place the EL integration API to ELAwareBeanManager in a new supplemental API artifact The existing EL integration API in `BeanManager` is deprecated for removal. Remove references to the removed jakarta.annotation.ManagedBean jakartaee#750 Signed-off-by: Scott M Stark <[email protected]> Move the CDI EE integration spec requirements to a new cdi-ee-spec directory Signed-off-by: Scott M Stark <[email protected]> The initial migration of the CDI component specification EE integration requirements, jakartaee#837 Signed-off-by: Scott M Stark <[email protected]> Add an approach to correct the missing cross-references. Signed-off-by: Scott M Stark <[email protected]> Add an approach to correct the missing cross-references. Signed-off-by: Scott M Stark <[email protected]>
* Managed Beans version should be 2.1-SNAPSHOT Signed-off-by: Kevin Sutter <[email protected]> Initial draft outline of the core profile specification Signed-off-by: Scott M Stark <[email protected]> Fix typo in CDI lite reference Signed-off-by: Scott M Stark <[email protected]> Initial draft outline of the core profile specification (#356) * Initial draft outline of the core profile specification Signed-off-by: Scott M Stark <[email protected]> * Fix typo in CDI lite reference Signed-off-by: Scott M Stark <[email protected]> Prepare next development version (#366) Signed-off-by: Ivar Grimstad <[email protected]> removal of managed beans spec content and build process Signed-off-by: Kevin Sutter <[email protected]> PNG to SVG images format conversion. Signed-off-by: Dmitri Cherkas <[email protected]> 1) Figure 5 converted from PNG to SVG, 2) margin of 5 mm is added to Figure 4, 3) Elements are aligned. Signed-off-by: Dmitri Cherkas <[email protected]> 1) Figure 6 converted from PNG to SVG, 2) error corrected in Figure 5. Signed-off-by: Dmitri Cherkas <[email protected]> Figure 7 in SVG format. Signed-off-by: Dmitri Cherkas <[email protected]> Figure 8 in SVG format. Signed-off-by: Dmitri Cherkas <[email protected]> References in the spec from png to svg are updated as requested. Signed-off-by: Dmitri Cherkas <[email protected]> JavaEEapplication_schema.svg conversion Signed-off-by: Dmitri Cherkas <[email protected]> JavaEEapplication_schema.svg errata corrige and other 3 images converted. Signed-off-by: Dmitri Cherkas <[email protected]> JavaEEapplication_schema.svg errata corrige and other 3 images converted. Signed-off-by: Dmitri Cherkas <[email protected]> JavaEEapplication-client_schema.svg errata corrige. Signed-off-by: Dmitri Cherkas <[email protected]> The next images convertion done. Signed-off-by: Dmitri Cherkas <[email protected]> Last images (Platform_Spec-24.svg, Platform_Spec-23.svg, Platform_Spec-21.svg, JavaEEapplication_DTD.svg) converted. Signed-off-by: Dmitri Cherkas <[email protected]> 1) Errata corrige for images 22, 23, 24; 2) all of the doc references updated to point at the svg files instead of the png files. Signed-off-by: Dmitri Cherkas <[email protected]> Begin work on the EE 10.0 specs Update asciidoc related dependencies, clean up warnings and add coreprofile spec generation Set version to 10.0 Signed-off-by: Scott M Stark <[email protected]> Remove applet requirements, #298 Change Java SE 8 references to Java SE 11, #331 Signed-off-by: Scott M Stark <[email protected]> Address comments from @kazumura Signed-off-by: Scott M Stark <[email protected]> Remove applet requirements, #298, update Java SE #331 (#417) * Remove applet requirements, #298 Change Java SE 8 references to Java SE 11, #331 Signed-off-by: Scott M Stark <[email protected]> * Address comments from @kazumura Signed-off-by: Scott M Stark <[email protected]> Remove the Applet container from the diagram, #298 Signed-off-by: starksm64 <[email protected]> Remove applet container from interoperability diagram Signed-off-by: starksm64 <[email protected]> Remove the managed bean spec generation that was readded in a PR merge. Signed-off-by: starksm64 <[email protected]> Fix the out of date img references that had been converted to svg, #435 Signed-off-by: starksm64 <[email protected]> Various errata corriges. Signed-off-by: Dmitri Cherkas <[email protected]> Broken line at the start of 8.3. Class Loading Requirements paragraph. Signed-off-by: Dmitri Cherkas <[email protected]> Broken line at the end of 8.3.3. paragraph Signed-off-by: Dmitri Cherkas <[email protected]> Two errata corrige: 'Jakarta instead of Jaav' and '_multitier applications_' istead of 'multitier __ applications' Signed-off-by: Dmitri Cherkas <[email protected]> Update documentation regarding Java SE base level Start a dependency graph section in the specs Signed-off-by: starksm64 <[email protected]> Correct authentication label Signed-off-by: starksm64 <[email protected]> Add ejb, jta child dependencies Signed-off-by: starksm64 <[email protected]> Label cdi -> {jta, ejb} dependency with javadoc Signed-off-by: starksm64 <[email protected]> Update web profile dependencies to latest versions Signed-off-by: Scott M Stark <[email protected]> First pass at removing core profile requirements, #413 Signed-off-by: starksm64 <[email protected]> Add clarification from ksutter. Signed-off-by: starksm64 <[email protected]> Move the JNDI/JTA requirements from Platform profiles section to Web profile Signed-off-by: starksm64 <[email protected]> Address comment from Edwin Signed-off-by: Scott M Stark <[email protected]> Further simplifications Signed-off-by: Scott M Stark <[email protected]> Update specification versions and related documents Signed-off-by: Scott M Stark <[email protected]> Add Jakarta Concurrency 3.0 Signed-off-by: Scott M Stark <[email protected]> Add Jakarta Concurrency Specification 3.0 to related docs Signed-off-by: Scott M Stark <[email protected]> Statement for #460, #406 Signed-off-by: Scott M Stark <[email protected]> Make the last paragraph a decision statement Signed-off-by: Scott M Stark <[email protected]> Add a future statement regarding JPMS, make clear there are no requirements currently #425 Signed-off-by: Scott M Stark <[email protected]> Refine module-info.class description to clarify they are not standard Clarify vendor module-info.class contents can be different and may conflict with those in the spec project API jars. Add a statement about restrictions of using the jakarta package namespace, #457 Signed-off-by: Scott M Stark <[email protected]> Just talk about the jakarta package name restrictions. Signed-off-by: Scott M Stark <[email protected]> Minor updates to core profile Signed-off-by: Scott M Stark <[email protected]> Link to working group about page Signed-off-by: Scott M Stark <[email protected]> Address some comments about core profile spec doc Signed-off-by: Scott M Stark <[email protected]> Fix the CDI spec link as there is no separate CDI Lite spec. Signed-off-by: Scott M Stark <[email protected]> Update the component spec versions Signed-off-by: Scott M Stark <[email protected]> Breakout the copyright section to a new document, #499 Signed-off-by: Scott M Stark <[email protected]> Address review comments Signed-off-by: Scott M Stark <[email protected]> Order included specs by name drop the managed bean spec Signed-off-by: Scott M Stark <[email protected]> Minor updates to web profile and platform spec Signed-off-by: Scott M Stark <[email protected]> The requirements were really optional behaviors from other specs, so reorg those and add that CDI Java SE is not a requirement. Signed-off-by: Scott M Stark <[email protected]> Correct sorted ordering of required components Signed-off-by: Scott M Stark <[email protected]> Better ordering Signed-off-by: Scott M Stark <[email protected]> Address comments from scottmarlow Signed-off-by: Scott M Stark <[email protected]> Note managed beans are deprecated for removal, #502 Signed-off-by: Scott M Stark <[email protected]> Follow through on removal of entity beans and embeddable EJB container Signed-off-by: Scott M Stark <[email protected]> Updated removed list to the EE 10 candidates Signed-off-by: Scott M Stark <[email protected]> Add Connectors 2.1 to to the list Update platform-spec.adoc (#506) We added this commemoration for Jakarta EE 9. I guess it is appropriate to take it out from Jakarta EE 10 Update ApplicationProgrammingInterface.adoc Remove version numbers, provide reference to Application Programming Interface chapter for specific versions. Fixed Security Spec. name. Noted Web Services Metadata is moved to XML Web Services. Remove SOAP with Attachments version from table Order specifications alphabetically to match Profiles ordering Rename Server Pages Debugging to Debugging Support for Other Languages Signed-off-by: Scott M Stark <[email protected]> Address TBDs in platform spec Signed-off-by: Scott M Stark <[email protected]> Include the removed tech in the changes Signed-off-by: Scott M Stark <[email protected]> Address #567, fix old specification version references. Signed-off-by: Scott M Stark <[email protected]> update profile names in CCR request template (#649) Add a tck challenge template Simplifying spec generation switch to Asciidcotor pdf generation (remove docbook). Twick licence blocks to have a nice pdf version CDI-538 Section 3.8 on CDI 1.2 spec javax.security.Principal (now in 17.8) CDI-416 Typo on @PersistencContext Fix minor grammar mistakes Introduce new ref in EE for TCK Fix interceptors_ee.asciidoc file name. Cleaning source asciidoc files to have one sentence per line Migrating to Asciidoctor 1.5+ notation CDI-553 move notion of "security context" to EE part. CDI-545 observers can be only local bussines method. CDI-569 Add @ObservesAsync where the spec mention @observes Correct sources to match one sentence per line CDI-571 producer and disposer methods can be only local bussines method of EJB. (#284) Correcting typos on Asciidoctor links CDI-555 remove the outdated wording linked to previous Java SE boot api CDI-500 Clarify @Intercepted bean metadata injection for EE components (#318) additional fix - missing chapter id. (#325) CDI-625 Make it clear when exactly are context init/destroy events fired (#303) - add @BeforeDestroyed Few language updates (#329) Nice to see text reviewer ;). Thx @tremes. CDI-667 introduce new chapter for trimmed bean archive in Java EE. (#368) Cleaning Javadoc and typos remove unused import minor syntax update to java 8 CDI-495 What happens if an illegal bean type is found in the set of bean types (#363) CDI-689 Typo or unclear message in 24.1.2 (#382) CDI-690 Request Context Clarification (#385) Clarify in core when request context is active, and change verbiage a bit to align to common term of context. change from javax.* to jakarta.* (#414) Signed-off-by: Scott Marlow <[email protected]> Jakartify (#444) * Jakartify definition Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify decorators Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify events Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify implementation Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify inheritance Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify inject Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify interceptors Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify intro Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify lifecycle Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify packaging Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify scopes Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify spi Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify core packaging Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify core spi Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify inject Signed-off-by: Ivar Grimstad <[email protected]> * Jakartify resolution Signed-off-by: Ivar Grimstad <[email protected]> * Fix javax.* references to jakarta.* Signed-off-by: Ivar Grimstad <[email protected]> * Fix javax.annotation.ManagedBean reference in javadoc to jakarta.annotation.ManagedBean Signed-off-by: Ivar Grimstad <[email protected]> Fix the javax.servlet package usage Signed-off-by: Scott M Stark <[email protected]> Removal of deprecated APIs: BeanManager.fireEvent() Removal of deprecated APIs: @New comprehensive review and various Lite/Full split changes Rename files and chapter refereces to align with rest of the specification Bump CDI version to 4.1 and place EL integration API in a new supplemental artifact (#644) * Fix remnants of BeanManager.fireEvent() removal * Centralize common Maven properties in the parent POM * Fix EL import version in bundle metadata * Bump CDI version to 4.1 * Place the EL integration API to ELAwareBeanManager in a new supplemental API artifact The existing EL integration API in `BeanManager` is deprecated for removal. Remove references to the removed jakarta.annotation.ManagedBean #750 Signed-off-by: Scott M Stark <[email protected]> Move the CDI EE integration spec requirements to a new cdi-ee-spec directory Signed-off-by: Scott M Stark <[email protected]> The initial migration of the CDI component specification EE integration requirements, #837 Signed-off-by: Scott M Stark <[email protected]> Add an approach to correct the missing cross-references. Signed-off-by: Scott M Stark <[email protected]> Add an approach to correct the missing cross-references. Signed-off-by: Scott M Stark <[email protected]> * On branch edburns-msft-redhat-cdi-integration-838 WIP Your branch is up to date with 'origin/edburns-msft-redhat-cdi-integration-838'. Changes to be committed: (use "git restore --staged <file>..." to unstage) new file: specification/src/main/asciidoc/shared-includes/IntegrationRequirements.adoc Changes not staged for commit: (use "git add/rm <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: specification/pom.xml deleted: specification/src/main/asciidoc/platform/IntegrationRequirements.adoc modified: specification/src/main/asciidoc/platform/Platform.adoc modified: specification/src/main/asciidoc/webprofile/WebProfile.adoc Signed-off-by: Ed Burns <[email protected]> * On branch edburns-msft-redhat-cdi-integration-838 Addresses #855 (review) from @arjantijms modified: specification/src/main/asciidoc/platform/cdi-ee-spec/implementation_ee.adoc Move this text to jakartaee/security#323 . Signed-off-by: Ed Burns <[email protected]> * On branch edburns-msft-redhat-cdi-integration-838 Put back the JTA related buitlt-in bean. modified: specification/src/main/asciidoc/platform/cdi-ee-spec/implementation_ee.adoc Signed-off-by: Ed Burns <[email protected]> --------- Signed-off-by: Scott M Stark <[email protected]> Signed-off-by: Ed Burns <[email protected]> Co-authored-by: Kevin Sutter <[email protected]> Co-authored-by: Ed Burns <[email protected]>
Is your feature request related to a problem? Please describe.
We have a problem with inconsistent JPMS usage for the platform APIs jars.
Describe the solution you'd like
We need to clearly define the requirements for supporting JPMS.
Describe alternatives you've considered
The current approach of allowing specification projects to define the level of JPMS support has produced an inconsistent experience for users/servers attempting to use JPMS.
The text was updated successfully, but these errors were encountered: