[ 
https://issues.apache.org/jira/browse/KARAF-4980?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15855652#comment-15855652
 ] 

Markus Rathgeb commented on KARAF-4980:
---------------------------------------

I already asked some time on the mailing list, because AFAIK 
"effective:=active" is only used for "Require-Capability"
See: 
http://karaf.922171.n3.nabble.com/What-does-effective-active-mean-tp4047770p4047787.html

Also this comment I found on some vogella site seems to be informative that it 
is only necessary for "Require-Capability" and not for "Provide-Capability"
"You should notice the effective:=active directive here. It is necessary so the 
OSGi Framework will resolve the bundle without checking if another bundle 
provides that capability. Without that directive or setting effective:=resolve 
the resolution of the bundle would be prevented."

I updated the PR:
* I removed "effective:=active"
* I removed all services that are already provided (in the bundle:headers 0 
list)
* I added all capabilities where properties are missing
* I added the missing capabilities

> OSGi framework capabilities: add all services
> ---------------------------------------------
>
>                 Key: KARAF-4980
>                 URL: https://issues.apache.org/jira/browse/KARAF-4980
>             Project: Karaf
>          Issue Type: Improvement
>          Components: karaf-core
>    Affects Versions: 4.1.0
>            Reporter: Markus Rathgeb
>            Assignee: Guillaume Nodet
>
> The services provided by the Felix and the Equinox framework differs and 
> should be provided by the system capabilities.
> I used service:list to find the services that are provided by Felix and the 
> ones that are provided by Equinox.
> I would like to propagate this change to the config.properties (I will create 
> a PR if you agree):
> {noformat}
> org.osgi.framework.system.capabilities= \
>  ${eecap-${java.specification.version}}, \
>  ${${karaf.framework}-capabilities}
> felix-capabilities= \
>  
> osgi.service;effective:=active;objectClass=org.osgi.service.packageadmin.PackageAdmin,
>  \
>  
> osgi.service;effective:=active;objectClass=org.osgi.service.resolver.Resolver,
>  \
>  
> osgi.service;effective:=active;objectClass=org.osgi.service.startlevel.StartLevel
> equinox-capabilities= \
>  osgi.service;effective:=active;objectClass=java.lang.ClassLoader, \
>  
> osgi.service;effective:=active;objectClass=javax.xml.parsers.DocumentBuilderFactory,
>  \
>  
> osgi.service;effective:=active;objectClass=javax.xml.parsers.SAXParserFactory,
>  \
>  
> osgi.service;effective:=active;objectClass=org.eclipse.equinox.log.ExtendedLogReaderService,
>  \
>  
> osgi.service;effective:=active;objectClass=org.eclipse.equinox.log.ExtendedLogService,
>  \
>  
> osgi.service;effective:=active;objectClass=org.eclipse.osgi.framework.log.FrameworkLog,
>  \
>  
> osgi.service;effective:=active;objectClass=org.eclipse.osgi.service.datalocation.Location,
>  \
>  
> osgi.service;effective:=active;objectClass=org.eclipse.osgi.service.debug.DebugOptions,
>  \
>  
> osgi.service;effective:=active;objectClass=org.eclipse.osgi.service.debug.DebugOptionsListener,
>  \
>  
> osgi.service;effective:=active;objectClass=org.eclipse.osgi.service.environment.EnvironmentInfo,
>  \
>  
> osgi.service;effective:=active;objectClass=org.eclipse.osgi.service.localization.BundleLocalization,
>  \
>  
> osgi.service;effective:=active;objectClass=org.eclipse.osgi.service.security.TrustEngine,
>  \
>  
> osgi.service;effective:=active;objectClass=org.eclipse.osgi.service.urlconversion.URLConverter,
>  \
>  
> osgi.service;effective:=active;objectClass=org.eclipse.osgi.signedcontent.SignedContentFactory,
>  \
>  
> osgi.service;effective:=active;objectClass=org.osgi.service.condpermadmin.ConditionalPermissionAdmin,
>  \
>  
> osgi.service;effective:=active;objectClass=org.osgi.service.log.LogReaderService,
>  \
>  osgi.service;effective:=active;objectClass=org.osgi.service.log.LogService, \
>  
> osgi.service;effective:=active;objectClass=org.osgi.service.packageadmin.PackageAdmin,
>  \
>  
> osgi.service;effective:=active;objectClass=org.osgi.service.permissionadmin.PermissionAdmin,
>  \
>  
> osgi.service;effective:=active;objectClass=org.osgi.service.resolver.Resolver,
>  \
>  
> osgi.service;effective:=active;objectClass=org.osgi.service.startlevel.StartLevel
> {noformat}
> The currently configuration also contains:
> {noformat}
> osgi.service;effective:=active;objectClass=org.osgi.service.url.URLHandlers
> {noformat}
> but this service is not listed by service:list.
> Is it still valid?



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to