RFR: 8333103: Re-examine the console provider loading
Naoto Sato
naoto at openjdk.org
Thu May 30 18:49:01 UTC 2024
On Thu, 30 May 2024 18:38:59 GMT, Pavel Rappo <prappo at openjdk.org> wrote:
>> In fact, this started simply for incorporating JLine implementation into Console, and using ServiceLoader was a mere means to load its impl as it resides outside the java.base module. So yes, module and its console implementation is 1:1, which is reflected by the system property `jdk.console` that takes the module name. So that `break;` effectively shortcut the unnecessary looping (I don't think it would happen btw).
>> That said, I think it needs to be described in the comment above that piece of code. I will add it shortly.
>
> So, it's the previous (stream) version that was more permissive and inadvertently so, yes?
Yes, correct. If hypothetically Jline provided two impls, it were not specified which impl was used. Now we only use the first one found.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19467#discussion_r1621284108
More information about the core-libs-dev
mailing list