Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [config-dev] [External] : Re: Config for Jakarta EE 12 and MP.next
  • From: "werner.keil@xxxxxxx" <werner.keil@xxxxxxx>
  • Date: Sat, 22 Feb 2025 18:25:49 +0000
  • Accept-language: en-US
  • Delivered-to: config-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/config-dev/>
  • List-help: <mailto:config-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/config-dev>, <mailto:config-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/config-dev>, <mailto:config-dev-request@eclipse.org?subject=unsubscribe>
  • Msip_labels:
  • Thread-index: AQHbdzC1CObTPyNB6063a/1gnaGv27NSIqKHgAATj4CAAYmw6w==
  • Thread-topic: [config-dev] [External] : Re: Config for Jakarta EE 12 and MP.next
  • Ui-outboundreport: notjunk:1;M01:P0:1gy0+8t9Ut0=;vqcyB831NwWTB9aHEG0Sd0M54jX XTCER6PLYbnXyLv24TQ+39xXzh7qLSsSQL4/K6MA96oyWA8ZX1dSjWfwg3vgvl4O1aqdkkOey c4XPsbNMExa0lSR0q78fT+kZSroHwKGGt79xUACbxhCKRRMyVyoqcFJhIJ9UG/DV1+7ZVkUqf Pq+SfcF0zejBWbbA7+Mh7qGuwTt1ZnaZVta9CXlmea9s8cIGuO887Q/JjVNH2vUPF74v7F3TY vlPSAmIccsQ/g89x1Ro3172+OlZ3hftr+2Zf23q1q+mwxTP0OKsIaNWvxH7WlB3qYo/6LjeX/ M/IVXaVM5+eJOYUaD2xgjB8UI8YHVYgUwcY/H83Mn6kwzeUqppAtB+WN5eO5Itk1abJjmC8IU d8tcU+AQy1YGfq++gQrOZA5ojycuL7VHvq3SstOHpmpOlli2x+yYIRh3sEnhCveHF3LTgNlpQ mzgIujQlFCuJkr0fgVlkdeoPsKwCVPfY7eNLn/qiCzjRFsUhv09WiPFJL+v/9UEtFW74Fxbas NbTnSoYSVFMHomudjyGr/SIPX2XmePNTXZbQBXgRUOglpqWc2Ag5AmLPPdJZK6mPdxScIMpBI 24Oa95TLp15SRCmsZjjI2QAQ7CFG/hLOnjGVqqB05/+TVmAKK0Yohn40S6aYJqJVBfcvGTDw1 2SdoARpI9/T27JkIvIU5XCFaYczhsO3N+OKRm/kjtFFtjni8PGEDE/nCrxtKiNtJDc5NPxEOs 5m0itjMchbOI0aBiIX5CLZ0ces5k7xvT91BKJZyURbCqXPYyopRBfIfr7btM4sGqMcZic8w2t WlozYqLPo6AMf2he/0wS4bmGqWBdBXzQTpU4OeweuvLd0Q7l8eVC1Y9eca1aJUtDsRD05neHS fw1CgWQNzhdCTypT/UpinXuWGB8oFPKsJjCVXSJbl78G611h6/tWzFwb8TStjiasWDmVO5xaZ 3kvD4KXPILbXkup34G8xEDYnhARWYu4rlVRhYFmVLjpy+UycjI2CgZ4MKWBbHG0XO5kcMWkC5 CYTt/6sOlhUuOk/E4Clc+ujb9cEGIWRslrQ2+oMmD2Aptz+cBpXU5L72JkII01/J+LGtO0QLI 3F5odOkZ3rDExVQHRCpDs3zfkWula+vJpPy3BVwW303zl5kH6/sbBn4cFNW13/MkuK5TRMKtI R+1mKMskpwSo3b/8evgLJBeeFhFe3kjUWPMD2z7pqIM/9DwbsmXdIMVzMtgn5O9H1J6+4IfEi oidKDraJ7SkLluqyx3S7WU8R3kZuLnCQBhZBM3+gzj+iWDA4lKtZ94LRWNHLiVxPfEQR8ymRf mXKDho/mF+l7U0tGpOHxh0JAD8hzsxk7vXUkfOVaAAAwVUgKFLTIAZB5xn4gRBjTsHc1wfi3n C0GMjJUuucLxr8w+JovCxU2ydUe2+lmxTppF0Z89B68qhup8v/Cz2kOy8mE0u0KxBn86pn4MM nAPxSFBmMt0lYkf0mpOYMkiYwlD0HHXmma80gmU+/Ireho1T4Ma3zAStJRw/dBWs2fsoZ0w==

+1 for Option 1


From: config-dev <config-dev-bounces@xxxxxxxxxxx> on behalf of Dmitry Kornilov via config-dev <config-dev@xxxxxxxxxxx>
Sent: Friday, February 21, 2025 7:56 PM
To: Jakarta Config project developer discussions <config-dev@xxxxxxxxxxx>; microprofile@xxxxxxxxxxxxxxxx <microprofile@xxxxxxxxxxxxxxxx>
Cc: Dmitry Kornilov <dmitry.kornilov@xxxxxxxxxx>
Subject: Re: [config-dev] [External] : Re: Config for Jakarta EE 12 and MP.next
 
+1

From: config-dev <config-dev-bounces@xxxxxxxxxxx> on behalf of Ed Burns via config-dev <config-dev@xxxxxxxxxxx>
Sent: Friday, February 21, 2025 19:00
To: Jakarta Config project developer discussions <config-dev@xxxxxxxxxxx>; microprofile@xxxxxxxxxxxxxxxx <microprofile@xxxxxxxxxxxxxxxx>
Cc: Ed Burns <Edward.Burns@xxxxxxxxxxxxx>
Subject: [External] : Re: [config-dev] Config for Jakarta EE 12 and MP.next
 
Note about email lists:

As predicted, discussion has fragmented across several lists. I realize this is a side effect of the choice to continue discussion using this "both lists on the To: line" approach rather than introduce another venue.
----------------------------------

Greetings programs​,

After discussion, consideration, and consultation, I continue to believe we need to select the least-bad option for both our communities. The time for selecting an actually good option passed when MicroProfile departed from their nascent goal of MicroProfile being an incubation space for ideas that eventually go into Jakarta EE. For historical perspective, see Ivar's blog post from nearly half a decade ago. To fork, or not to fork | agilejava.eu .

Therefore, Microsoft intends to support option 1: copy the Eclipse MicroProfile Config 3.1 API into Eclipse Jakarta EE as Jakarta Config 1.0. Regarding further development of Jakarta Config: We intend to selectively incorporate sensible changes made in subsequent versions of MicroProfile Config into future versions of Jakarta Config, while retaining the right to develop Jakarta Config in its own right to meet the needs of Jakarta EE.

I will work with Dmitry Kornilov as the project lead for Jakarta Config to go through the specification process. Specifically: create a release plan and go through Plan Review. This approach will allow the Jakarta specification process to proceed with its usual voting.

Let's do a thought experiment to illustrate the untenability of Option 2.

Thought experiment: MicroProfile Config Core 3.2 (part of MicroProfile 7.1) is used directly from Jakarta EE 12.

  • There exists MicroProfile Config Core 3.2. This contains the non-CDI parts of MicroProfile Config 3.1.

  • There exists MicroProfile Config 3.2. This contains the rest of MicroProfile Config 3.1 and still defines integration with a specific version of CDI. Specifically 2.0.

  • MicroProfile 7.1 includes MicroProfile Config 3.2.

  • Jakarta EE 12 depends MicroProfile Config Core 3.2 (which is a part of MicroProfile 7.1).

Problems with this approach

Functionality problems

A key part of the value of Config is the ability to use it from CDI. But because the CDI part is absent from MicroProfile Config Core 3.2, the Config specific CDI feature set is not available in Jakarta EE 12. This is unacceptable, considering how central CDI is to Jakarta EE and MicroProfile.

​Consider this existing problem regarding backward incompatible changes. Let's say an EE 12 Core Profile specification introduces a backward incompatible change that does not work with the corresponding version of that specification in MicroProfile 7.1. Now, all vendors will need to incorporate MicroProfile 7.2 (which resolves this dependency problem) before we can have EE and MicroProfile versions that can be implemented by a vendor in a single product. This existing problem is now made even more difficult because the same thing can happen in reverse in the event MicroProfile Config introduces a backward incompatible change. 

We are effectively very closely tying the release cycles of Jakarta EE and MicroProfile. This is untenable.

Governance problems

Because MicroProfile Config Core 3.2 is a foundational part of Jakarta EE 12, and MicroProfile Config Core 3.2 is governed by MicroProfile governance, the independent existence and decision making of Jakarta EE is now impossible. For example if Jakarta EE needs a concrete change to MicroProfile Config, Jakarta EE must compel MicroProfile to accept this change in a timely fashion. This turns what was once a one-way dependency (MicroProfile depending on Jakarta EE for several core specifications) into a two-way dependency. To make matters worse, MicroProfile has adopted the pull model, which means they are not committed or bound to address the needs of Jakarta EE.

Closing

I realize option 1 does not please everyone, but I trust in the Jakarta specification process to give legitimacy to the result due to the clear outcome of voting on the Plan Review for Jakarta Config 1.0.

Thanks,

Ed



From: config-dev <config-dev-bounces@xxxxxxxxxxx> on behalf of Jared Anderson via config-dev <config-dev@xxxxxxxxxxx>
Date: Tuesday, February 4, 2025 at 10:18
To: config-dev@xxxxxxxxxxx <config-dev@xxxxxxxxxxx>, microprofile@xxxxxxxxxxxxxxxx <microprofile@xxxxxxxxxxxxxxxx>
Cc: Jared Anderson <jhanders@xxxxxxxxxx>
Subject: [EXTERNAL] [config-dev] Config for Jakarta EE 12 and MP.next

You don't often get email from config-dev@xxxxxxxxxxx. Learn why this is important
This email is a follow up to the discussion at the 2025-02-04 Jakarta EE platform call.
In that call, we discussed an approach where Jakarta EE 12 could effectively use MicroProfile Config "as is" with some important non-technical accommodations.
  1. The APIs for Jakarta Config would be the MicroProfile Config APIs, but with jakarta namespace. Yes, a copy/paste.
  2. The implementation may delegate to the MicroProfile Config implementation.
  3. The Spec document would be one-line: see the corresponding MicroProfile config spec document.  May need additional text to talk about the difference in namespace and adding in jakarta-config.properties until a new MP Config version added that to its specification.  See #5 below.
  4. The TCK would be a copy/paste of the MicroProfile Config TCK and updating the name space and adding jakarta-config.properties testing
  5. Need to introduce a new line in the ConfigSource (MicroProfile Config API)
    • “Some configuration sources are known as default configuration sources. These configuration sources are normally available in all automatically-created configurations, and can be manually added to manually-created configurations as well. The default configuration sources are:
  • 1. System properties, with an ordinal value of 400
  • 2. Environment properties, with an ordinal value of 300
  • 3. The /META-INF/jakarta-config.properties resource, with an ordinal value of 200
  • 4. The /META-INF/microprofile-config.properties resource, with an ordinal value of 100
Let's continue discussion using this "both lists on the To: line" approach rather than introduce another venue, such as the cn4j mailing list (eclipse archive).
Sincerely,
Ed Burns and Jared Anderson
Jakarta EE 12 release co-coordinators

Back to the top