It's what I did on master: I built the registry (adding scr feature in
karaf profile) and the static profile based distribution (using the
karaf profile):

[INFO]
------------------------------------------------------------------------
[INFO] Reactor Summary for Apache Karaf :: Examples :: Profile
4.2.3-SNAPSHOT:
[INFO]
[INFO] Apache Karaf :: Examples :: Profile ................ SUCCESS [
1.184 s]
[INFO] Apache Karaf :: Examples :: Profile :: Registry .... SUCCESS [
0.511 s]
[INFO] Apache Karaf :: Examples :: Profile :: Dynamic Assembly SUCCESS [
 8.058 s]
[INFO] Apache Karaf :: Examples :: Profile :: Static Assembly SUCCESS [
10.768 s]
[INFO]
------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO]
------------------------------------------------------------------------

Then, I started the static profile based distribution:

./karaf-profile-example-static-4.2.3-SNAPSHOT/bin/karaf

I have an issue with ActiveMQ (I gonna fix that), but no problem with
SCR/ConfigAdmin.

Regards
JB

On 04/02/2019 15:32, Michal Dabrowski wrote:
> I used wysiwyg "raw text" formatter and unfortunately all quotes went blank.
> I have edited my post but probably you have not seen it in mail.
> 
> You can reproduce it by running Karaf 4.2.2 karaf-profile-example-static
> (https://github.com/apache/karaf/tree/karaf-4.2.2/examples/karaf-profile-example/karaf-profile-example-static)
> 
> During startup it prints in logs:
> 
> 2019-02-04T15:17:35,403 | ERROR | FelixDispatchQueue | metatype               
>          
> | 35 - org.apache.felix.metatype - 1.2.2 | FrameworkEvent ERROR -
> org.apache.felix.metatype
> org.osgi.framework.ServiceException: Service factory exception:
> org/osgi/service/cm/ManagedService
>         at
> org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:352)
> ~[?:?]
>         at
> org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:247)
> ~[?:?]
>         at
> org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:350)
> ~[?:?]
>         at org.apache.felix.framework.Felix.getService(Felix.java:3737)
> ~[?:?]
>         at
> org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:470)
> ~[?:?]
>         at
> org.apache.felix.metatype.internal.ManagedServiceTracker.addingService(ManagedServiceTracker.java:52)
> ~[?:?]
>         at
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
> ~[?:?]
>         at
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870)
> ~[?:?]
>         at
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
> ~[?:?]
>         at
> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?]
>         at
> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901)
> ~[?:?]
>         at
> org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
> ~[?:?]
>         at
> org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
> ~[?:?]
>         at
> org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
> ~[?:?]
>         at
> org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4595) ~[?:?]
>         at org.apache.felix.framework.Felix.registerService(Felix.java:3587)
> ~[?:?]
>         at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348)
> ~[?:?]
>         at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:322)
> ~[?:?]
>         at
> org.apache.felix.scr.impl.config.ScrConfigurationImpl.start(ScrConfigurationImpl.java:122)
> ~[?:?]
>         at org.apache.felix.scr.impl.Activator.start(Activator.java:100)
> ~[?:?]
>         at
> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697)
> ~[?:?]
>         at org.apache.felix.framework.Felix.activateBundle(Felix.java:2240)
> ~[?:?]
>         at org.apache.felix.framework.Felix.startBundle(Felix.java:2146)
> ~[?:?]
>         at
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1373) ~[?:?]
>         at
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
> ~[?:?]
>         at java.lang.Thread.run(Thread.java:748) [?:?]
> Caused by: java.lang.NoClassDefFoundError:
> org/osgi/service/cm/ManagedService
>         at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
>         at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:?]
>         at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClass(BundleWiringImpl.java:2410)
> ~[?:?]
>         at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2194)
> ~[?:?]
>         at
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1607)
> ~[?:?]
>         at
> org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80)
> ~[?:?]
>         at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053)
> ~[?:?]
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:?]
>         at
> org.apache.felix.scr.impl.config.ScrManagedServiceServiceFactory.getService(ScrManagedServiceServiceFactory.java:47)
> ~[?:?]
>         at
> org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:347)
> ~[?:?]
>         ... 25 more
> Caused by: java.lang.ClassNotFoundException:
> org.osgi.service.cm.ManagedService not found by org.apache.felix.scr [36]
> 
> 
> I think it is because:
> 
> Apache Felix Declarative Services (36) bundle imports: 
> 
> Import-Package = 
>         org.osgi.service.cm;resolution:=optional;version="[1.6,2)", 
> (...) 
> 
> and Static ConfigAdmin headers: 
> 
> Apache Karaf :: OSGi Services :: Static ConfigAdmin (5) 
> ------------------------------------------------------- 
> Build-Jdk = 1.8.0_144 
> Manifest-Version = 1.0 
> 
> Bundle-Activator = org.apache.karaf.services.staticcm.Activator 
> Bundle-Description = Static ConfigAdmin Service 
> Bundle-DocURL = http://karaf.apache.org/
> Bundle-License = https://www.apache.org/licenses/LICENSE-2.0.txt
> Bundle-ManifestVersion = 2 
> Bundle-Name = Apache Karaf :: OSGi Services :: Static ConfigAdmin 
> Bundle-SymbolicName = org.apache.karaf.services.staticcm 
> Bundle-Vendor = The Apache Software Foundation 
> Bundle-Version = 4.2.2 
> 
> Export-Service = 
>         org.osgi.service.cm.ConfigurationAdmin 
> Require-Capability = 
>         osgi.ee;filter:=(&(osgi.ee=JavaSE)(version=1.8)) 
> 
> DynamicImport-Package = 
>         org.osgi.service.log;version="[1.3,2)" 
> Export-Package = 
>         org.osgi.service.cm;uses:=org.osgi.framework;version=1.5 
> Import-Package = 
>         org.osgi.service.cm;version="[1.5,2)", 
>         org.osgi.framework;version="[1.8,2)", 
>         org.osgi.util.tracker;version="[1.5,2)" 
> 
> Static ConfigAdmin provides org.osgi.service.cm 1.5 version but Felix scr
> needs 1.6.
> 
> 
> 
> --
> Sent from: http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html
> 

-- 
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to