You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@aries.apache.org by Christian Berger <be...@web.de> on 2013/02/12 13:12:53 UTC

WG: Interaction of Subsystem-, Resolver- and Repository Service

Hi,

 

I want to use the Aries Subsystem implementation in combination with the
Resolver- and Repository-Service. Actually, I don't know how to use the
resolver and repo service from within my subsystem. I was able to deploy and
start bundles in an application- and feature subsystem but in that case all
necessary dependencies were available in the OSGi runtime. For the resolver
I'm using Felix (0.1.0-SNAPSHOT) and for the repo impl
JBoss(jbosgi-repository-3.0.0.Alpha2.jar). However, when I check the code of
the JBoss impl, it seems like it's working only with Maven central and JBoss
nexus. Anyway, I have no clue what to do that my subsystem interacts with
the resolver- and rep -service. If I check the service usage via osgi shell,
it seems that the subsystem impl has found all other services:

 

g! inspect req service 56

org.apache.aries.subsystem_1.0.0.SNAPSHOT [56] require:

--------------------------------------------------------

service; org.apache.aries.application.modelling.ModelledResourceManager
provided by:

   org.apache.aries.application.modeller_1.0.0 [52]

service; org.osgi.service.coordinator.Coordinator provided by:

   org.eclipse.equinox.coordinator_1.1.0.v20120522-1841 [73]

service; org.jboss.osgi.repository.XRepository,
org.osgi.service.repository.Repsitory provided by:

   jbosgi-repository_3.0.0.Alpha2 [24]

service; org.eclipse.equinox.region.RegionDigraph provided by:

   org.eclipse.equinox.region_1.1.0.v20120522-1841 [74]

service; org.osgi.service.coordinator.Coordinator provided by:

   org.eclipse.equinox.coordinator_1.1.0.v20120522-1841 [73]

service; org.osgi.service.resolver.Resolver provided by:

   org.apache.felix.resolver_0.1.0.r1400257 [69]

service; org.jboss.osgi.repository.XRepository,
org.osgi.service.repository.Repsitory provided by:

   jbosgi-repository_3.0.0.Alpha2 [24]

 

Furthermore, I want to use my own R5 compliant repo. For that I found
RepoIndex which generates repository indexes (index.xml) compliant to R5.
But I have no idea to configure the repo service to use my repository. I
guess the latter point should be posted in the JBoss Forum but it would be
nice if someone can point me to a manual or something like that which
explains how the interaction between the subsystem service and all these
other services works.

 

Thanks in advance

 

Cheers

 

Christian Berger

 

My current setup:

 

org.apache.aries.application.api-1.0.0.jar

org.apache.aries.application.modeller-1.0.0.jar

org.apache.aries.application.utils-1.0.0.jar

org.apache.aries.blueprint-1.0.0.jar

org.apache.aries.proxy-1.0.1-20121031.092805-46.jar

org.apache.aries.subsystem-1.0.0-SNAPSHOT.jar

org.apache.aries.util-1.1.0-SNAPSHOT.jar

org.apache.felix.resolver-0.1.0-20121019.195943-6.jar

org.eclipse.equinox.coordinator-1.1.0.v20120522-1841.jar

org.eclipse.equinox.region-1.1.0.v20120522-1841.jar

osgi.enterprise-5.0.0.jar

jbosgi-repository-3.0.0.Alpha2.jar

jboss-logging-3.1.2.GA.jar

org.eclipse.osgi_3.8.1.v20120830-144521


Re: WG: Interaction of Subsystem-, Resolver- and Repository Service

Posted by John W Ross <jw...@us.ibm.com>.
Are you experiencing some sort of issue? For example, do you have a
resource in a repository registered as a service but it's not being found
by subsystems? Your setup looks okay. In terms of getting subsystems to
interact with these services, all you need to do is ensure they're
registered.

The standard interactions between subsystems and other spec'd services such
as resolver and repository are defined in the OSGi Enterprise R5
specification which may be found here:
http://www.osgi.org/Specifications/HomePage. You may also find additional
information in the Javadoc here:
http://www.osgi.org/javadoc/r5/enterprise/.

In a nutshell, when installing a subsystem, the implementation will use the
felix resolver service (or the first resolver service it receives) to
calculate dependencies. It will then search for resources that provide any
missing dependencies using rules defined in the spec. As a gross
generalization, these rules are (1) look for resources in the local
repository (i.e. resources provided as part of the subsystem archive), (2)
look for resources in the system repository (i.e. already installed
resources) that provide dependencies in keeping with the isolation policy
(this repository is not registered as a service but an internal
implementation detail), (3) look for resources in registered repository
services in service ranking order. For (3), the first repository providing
a resource with a matching capability wins.

Hope this helps.

John

>
> Subject
>
> WG: Interaction of Subsystem-, Resolver- and Repository Service
>
> Hi,
>
> I want to use the Aries Subsystem implementation in combination with
> the Resolver- and Repository-Service. Actually, I don’t know how to
> use the resolver and repo service from within my subsystem. I was
> able to deploy and start bundles in an application- and feature
> subsystem but in that case all necessary dependencies were available
> in the OSGi runtime. For the resolver I’m using Felix (0.1.0-
> SNAPSHOT) and for the repo impl JBoss(jbosgi-repository-3.0.
> 0.Alpha2.jar). However, when I check the code of the JBoss impl, it
> seems like it’s working only with Maven central and JBoss nexus.
> Anyway, I have no clue what to do that my subsystem interacts with
> the resolver- and rep –service. If I check the service usage via
> osgi shell, it seems that the subsystem impl has found all other
services:
>
> g! inspect req service 56
> org.apache.aries.subsystem_1.0.0.SNAPSHOT [56] require:
> --------------------------------------------------------
> service;
> org.apache.aries.application.modelling.ModelledResourceManager provided
by:
>    org.apache.aries.application.modeller_1.0.0 [52]
> service; org.osgi.service.coordinator.Coordinator provided by:
>    org.eclipse.equinox.coordinator_1.1.0.v20120522-1841 [73]
> service; org.jboss.osgi.repository.XRepository,
> org.osgi.service.repository.Repsitory provided by:
>    jbosgi-repository_3.0.0.Alpha2 [24]
> service; org.eclipse.equinox.region.RegionDigraph provided by:
>    org.eclipse.equinox.region_1.1.0.v20120522-1841 [74]
> service; org.osgi.service.coordinator.Coordinator provided by:
>    org.eclipse.equinox.coordinator_1.1.0.v20120522-1841 [73]
> service; org.osgi.service.resolver.Resolver provided by:
>    org.apache.felix.resolver_0.1.0.r1400257 [69]
> service; org.jboss.osgi.repository.XRepository,
> org.osgi.service.repository.Repsitory provided by:
>    jbosgi-repository_3.0.0.Alpha2 [24]
>
> Furthermore, I want to use my own R5 compliant repo. For that I
> found RepoIndex which generates repository indexes (index.xml)
> compliant to R5. But I have no idea to configure the repo service to
> use my repository. I guess the latter point should be posted in the
> JBoss Forum but it would be nice if someone can point me to a manual
> or something like that which explains how the interaction between
> the subsystem service and all these other services works.
>
> Thanks in advance
>
> Cheers
>
> Christian Berger
>
> My current setup:
>
> org.apache.aries.application.api-1.0.0.jar
> org.apache.aries.application.modeller-1.0.0.jar
> org.apache.aries.application.utils-1.0.0.jar
> org.apache.aries.blueprint-1.0.0.jar
> org.apache.aries.proxy-1.0.1-20121031.092805-46.jar
> org.apache.aries.subsystem-1.0.0-SNAPSHOT.jar
> org.apache.aries.util-1.1.0-SNAPSHOT.jar
> org.apache.felix.resolver-0.1.0-20121019.195943-6.jar
> org.eclipse.equinox.coordinator-1.1.0.v20120522-1841.jar
> org.eclipse.equinox.region-1.1.0.v20120522-1841.jar
> osgi.enterprise-5.0.0.jar
> jbosgi-repository-3.0.0.Alpha2.jar
> jboss-logging-3.1.2.GA.jar
> org.eclipse.osgi_3.8.1.v20120830-144521