Hi John,

 

thanks for your fast reply. Actually, I don’t have an issue. I was just 
wondering that it really works so easy. ;) If I understood you correctly, then 
everything should work out of the box, right?

In my case the third party bundles are missing in the local and system 
repository thus the repository service will be used by the resolver service. 
Once the impl is from JBoss it will search in Maven central and JBoss Nexus. As 
far as good, how can I provide my own repository? Do I have to implement my own 
Repository Service which points to my specific r5 repository or can I reuse any 
implementation?

 

Thanks to point me to the specification. I’ve already read it twice and I think 
I’m familiar with the concept I was just confused that it is really so easy. I 
thought I have to do some further tweaks … J 

 

Thanks and cheers

 

Christian

 

 

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

Reply via email to