Hi Robert, Thanks !
I will take a look. Regards JB On Wed, Sep 27, 2023 at 6:29 PM Robert Varga <n...@hq.sk> wrote: > > On 27/09/2023 08.32, Jean-Baptiste Onofré wrote: > > Hi Robert > > Hey JB, > > > You are right. Reason of this « xml workaround » is that the service loader > > spec didn’t exist before OSGi r8. > > > > So now that Karaf 4.5 is OSGi r8 we can revisit some impl we did. > > Cool, I have filed https://issues.apache.org/jira/browse/KARAF-7768 to > track this. > > I'll try to circle back to it as I find some free cycles. > > Thanks, > Robert > > > > > Regards > > JB > > > > Le dim. 24 sept. 2023 à 22:41, Robert Varga <n...@hq.sk> a écrit : > > > >> Hello, > >> > >> now that we are going for Java 11, we need to deal with JPMS and the > >> migration is showing some friction I have not seen in OpenDaylight. > >> > >> OpenDaylight is a Karaf downstream, which requires Java 17 and is in a > >> shape I would expect it to Just Work(tm) sans Karaf. > >> > >> One of such points of friction is karaf.git/specs/java.xml -- which is > >> overriding JVM classes. > >> > >> As I understand it the point of this package override is to perform > >> resolution to OSGi registry in service of > >> https://issues.apache.org/jira/browse/KARAF-5680. > >> > >> If my understanding is correct, everything we are overriding here could > >> be just resolved via an OSGi-service loader. For example > >> XMLInputFactory.newInstance() says, among JVM-defaults, this: > >> > >> "Use the service-provider loading facility, defined by the ServiceLoader > >> class, to attempt to locate and load an implementation of the service > >> using the default loading mechanism: the service-provider loading > >> facility will use the current thread's context class loader to attempt > >> to load the service. If the context class loader is null, the system > >> class loader will be used." > >> > >> As I see it, we can satisfy the requirements of KARAF-5680 by saying the > >> Karaf container always implements Service Loader Mediator Specification > >> (https://docs.osgi.org/specification/osgi.cmpn/8.0.0/service.loader.html). > >> > >> In karaf.git terms, spifly is not a separate feature, but is always > >> included in Karaf. > >> > >> I mean, with JPMS, ServiceLoader is the platform-acknowledged extension > >> mechanism, hence we should be integrating no matter what... > >> > >> I this a sensible direction, or am I missing something? > >> > >> Regards, > >> Robert > >> > >