Oh, you are right. The service is indeed there. I did a quick check earlier and couldn't find it (may have used the wrong command) and then I saw "effective:=active" which rings a bell about an old discussion here about this being or not being enforced in certain Karaf versions. On Mon, Sep 3, 2018 at 8:18 PM Thiago Moreira (timba) <[email protected]> wrote: > > > Exactly! > > Thiago Moreira > +55 48 99911-6331 > > > On Mon, Sep 3, 2018 at 12:07 PM Francois Papon <[email protected]> > wrote: >> >> Hi, >> >> When I tried, the bundle "BotImpl" provided the service >> 'org.osgi.service.component.ComponentFactory', I can see it in the >> "services" command output. >> >> However it's not binded in the BotApplication by the @Reference. >> >> regards, >> >> François Papon >> [email protected] >> >> Le 03/09/2018 à 19:02, Jean-Baptiste Onofré a écrit : >> > Hi Milen, >> > >> > effective means that it expects a service available in the registry. So, >> > if ComponentFactory is preset in the registry (you can check with the ls >> > command), it should work via the feature. >> > >> > I will provide a fix to Thiago. >> > >> > Regards >> > JB >> > >> > On 03/09/2018 16:40, Milen Dyankov wrote: >> >> This is a shot it the dark and I'm sure JB will correct me if I'm >> >> wrong but I think it may be due to `effective:=active` directive. >> >> >> >> See, if you deploy the `scr` feature and your bundles, they are >> >> activated. But IMHO the application bundle shouldn't resolve because >> >> It has >> >> `Require-Capability: ... >> >> osgi.service;filter:="(objectClass=org.osgi.service.component.ComponentFactory)";effective:=active, >> >> .....` >> >> but there is no such service registered. >> >> >> >> Therefore my guess is that direct deployment of bundles ignores the >> >> requirement as it is `effective:=active` but it is enforced by the >> >> feature/kar resolver. >> >> >> >> Best, >> >> Milen >> >> On Mon, Sep 3, 2018 at 3:55 PM Francois Papon >> >> <[email protected]> wrote: >> >>> Hi, >> >>> >> >>> I tried yesterday and I'm able to reproduce after migrate on >> >>> maven-bundle-plugin, I will search more deeply for the component-factory >> >>> ;) >> >>> >> >>> regards, >> >>> >> >>> François Papon >> >>> [email protected] >> >>> >> >>> Le 03/09/2018 à 17:47, Thiago Moreira (timba) a écrit : >> >>> >> >>> >> >>> Hey guys, were you able to reproduce the problem? >> >>> >> >>> Thanks >> >>> >> >>> Thiago Moreira >> >>> +55 48 99911-6331 >> >>> >> >>> >> >>> On Sun, Sep 2, 2018 at 1:10 PM Jean-Baptiste Onofré <[email protected]> >> >>> wrote: >> >>>> Some may see this as a pro, some as a cons ;) >> >>>> >> >>>> Anyway, maven-bundle-plugin uses bnd (library). The bnd plugin allows to >> >>>> delegate the headers definition in the specific file. >> >>>> >> >>>> maven-bundle-plugin defines a lot of default headers based on Maven. >> >>>> That's what I would like to check (the diff in the generated headers). >> >>>> >> >>>> Regards >> >>>> JB >> >>>> >> >>>> On 02/09/2018 17:25, Francois Papon wrote: >> >>>>> You don't have to declare things in a bnd.bnd file, you can define it >> >>>>> directly in the plugin configuration in your pom.xml like this : >> >>>>> >> >>>>> <plugin> >> >>>>> <groupId>org.apache.felix</groupId> >> >>>>> <artifactId>maven-bundle-plugin</artifactId> >> >>>>> <configuration> >> >>>>> <instructions> >> >>>>> <Export-Package> >> >>>>> org.apache.karaf.vineyard.registry.api >> >>>>> </Export-Package> >> >>>>> </instructions> >> >>>>> </configuration> >> >>>>> </plugin> >> >>>>> >> >>>>> regards, >> >>>>> >> >>>>> François Papon >> >>>>> [email protected] >> >>>>> >> >>>>> Le 02/09/2018 à 19:21, Thiago Moreira (timba) a écrit : >> >>>>>> What is the advantages in your point of view of bundle over bnd? >> >>>>>> Maybe I should start another thread... >> >>>>>> >> >>>>>> Thiago Moreira >> >>>>>> +55 48 99911-6331 >> >>>>>> >> >>>>>> >> >>>>>> On Sun, Sep 2, 2018 at 12:12 PM Francois Papon >> >>>>>> <[email protected] <mailto:[email protected]>> >> >>>>>> wrote: >> >>>>>> >> >>>>>> Sorry, I missed it, I see it now :) >> >>>>>> >> >>>>>> @Component(service = Bot.class, factory = "bot.factory") >> >>>>>> public class BotImpl implements Bot { >> >>>>>> >> >>>>>> regards >> >>>>>> >> >>>>>> François Papon >> >>>>>> [email protected] <mailto:[email protected]> >> >>>>>> >> >>>>>> Le 02/09/2018 à 19:09, Francois Papon a écrit : >> >>>>>>> Ok, >> >>>>>>> >> >>>>>>> You should use the maven-bundle-plugin instead of the bnd-plugin, >> >>>>>>> it's more convenient ;) >> >>>>>>> >> >>>>>>> Btw, I see that in your BotApplication class you are searching a >> >>>>>>> service with a component.factory property = bot.factory but I >> >>>>>>> can't see where you are registring this factory >> >>>>>>> >> >>>>>>> @Reference(target = "(component.factory=bot.factory)") >> >>>>>>> protected ComponentFactory factory; >> >>>>>>> >> >>>>>>> regards, >> >>>>>>> >> >>>>>>> François Papon >> >>>>>>> [email protected] <mailto:[email protected]> >> >>>>>>> Le 02/09/2018 à 19:01, Thiago Moreira (timba) a écrit : >> >>>>>>>> Nice! I already look the example. >> >>>>>>>> >> >>>>>>>> Thiago Moreira >> >>>>>>>> +55 48 99911-6331 >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> On Sun, Sep 2, 2018 at 11:57 AM Francois Papon >> >>>>>>>> <[email protected] >> >>>>>>>> <mailto:[email protected]>> wrote: >> >>>>>>>> >> >>>>>>>> I will take a look ;) >> >>>>>>>> >> >>>>>>>> You can also take a look on the Karaf SCR example to deal >> >>>>>>>> with scr. >> >>>>>>>> >> >>>>>>>> regards, >> >>>>>>>> >> >>>>>>>> François Papon >> >>>>>>>> [email protected] <mailto:[email protected]> >> >>>>>>>> >> >>>>>>>> Le 02/09/2018 à 18:01, Thiago Moreira (timba) a écrit : >> >>>>>>>>> Hey François, the project is available >> >>>>>>>>> here https://github.com/tmoreira2020/poc-osgi-whiteboard >> >>>>>>>>> >> >>>>>>>>> Thanks >> >>>>>>>>> >> >>>>>>>>> Thiago Moreira >> >>>>>>>>> +55 48 99911-6331 >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> On Sun, Sep 2, 2018 at 10:45 AM francois.papon >> >>>>>>>>> <[email protected] >> >>>>>>>>> <mailto:[email protected]>> wrote: >> >>>>>>>>> >> >>>>>>>>> Hi, >> >>>>>>>>> >> >>>>>>>>> Can you share your bundle and your feature ? >> >>>>>>>>> >> >>>>>>>>> Regards, >> >>>>>>>>> >> >>>>>>>>> François >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> Envoyé depuis mon smartphone Samsung Galaxy. >> >>>>>>>>> >> >>>>>>>>> -------- Message d'origine -------- >> >>>>>>>>> De : "Thiago Moreira (timba)" <[email protected] >> >>>>>>>>> <mailto:[email protected]>> >> >>>>>>>>> Date : 02/09/2018 16:14 (GMT+04:00) >> >>>>>>>>> À : [email protected] >> >>>>>>>>> <mailto:[email protected]> >> >>>>>>>>> Objet : Re: Unable to deploy a Karaf kar file >> >>>>>>>>> containing a ComponentFactory OSGi declarative service >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> I have tried with Karaf 4.2.1 without lucky. My >> >>>>>>>>> steps: >> >>>>>>>>> >> >>>>>>>>> 1. Unzip the bundle >> >>>>>>>>> 2. Start with karaf command >> >>>>>>>>> 3. Build the project with mvn clean install >> >>>>>>>>> 4. Install the kar file >> >>>>>>>>> 1. Copy the kar file >> >>>>>>>>> br.com.thiagomoreira.kar-1.0.0-SNAPSHOT.kar to >> >>>>>>>>> the deploy folder >> >>>>>>>>> 2. Or use the kar:install command >> >>>>>>>>> 5. Logs and console prints the exception: *Unable to >> >>>>>>>>> resolve >> >>>>>>>>> >> >>>>>>>>> br.com.thiagomoreira.application/1.0.0.201809021204: missing >> >>>>>>>>> requirement >> >>>>>>>>> >> >>>>>>>>> [br.com.thiagomoreira.application/1.0.0.201809021204] >> >>>>>>>>> osgi.service; >> >>>>>>>>> >> >>>>>>>>> filter:="(objectClass=org.osgi.service.component.ComponentFactory)"; >> >>>>>>>>> effective:=active* >> >>>>>>>>> >> >>>>>>>>> I have tried to install SCR feature before the kar >> >>>>>>>>> fail too, without lucky. What I'm missing? >> >>>>>>>>> >> >>>>>>>>> Yes, I was using ServiceMix 7.0.1 but now I switched >> >>>>>>>>> to Karaf 4.2.1 (after your reply in the ServiceMix >> >>>>>>>>> mailing list) >> >>>>>>>>> >> >>>>>>>>> Thanks >> >>>>>>>>> >> >>>>>>>>> Thiago Moreira >> >>>>>>>>> +55 48 99911-6331 >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> On Sun, Sep 2, 2018 at 1:53 AM Jean-Baptiste Onofré >> >>>>>>>>> <[email protected] <mailto:[email protected]>> wrote: >> >>>>>>>>> >> >>>>>>>>> Hi, >> >>>>>>>>> >> >>>>>>>>> I tried on both Karaf 4.1.6 and Karaf 4.2.1, and it >> >>>>>>>>> works fine for me: >> >>>>>>>>> the SCR feature is installed and my SCR bundle >> >>>>>>>>> starts correctly when I >> >>>>>>>>> put the kar in the deploy folder or when I use >> >>>>>>>>> kar:install. >> >>>>>>>>> >> >>>>>>>>> So, you are using SMX 7.0.1 as Karaf version ? >> >>>>>>>>> >> >>>>>>>>> Regards >> >>>>>>>>> JB >> >>>>>>>>> >> >>>>>>>>> On 01/09/2018 19:10, Thiago Moreira (timba) wrote: >> >>>>>>>>> > >> >>>>>>>>> > I need scr as prerequisite to run my app. The >> >>>>>>>>> thing is I'm running a >> >>>>>>>>> > docker that has a vanilla ServiceMix (7.0.1) >> >>>>>>>>> installation and my goal is >> >>>>>>>>> > to be able to deploy a single file with >> >>>>>>>>> everything that I need. >> >>>>>>>>> > >> >>>>>>>>> > I tried to install scr and then deploy the kar >> >>>>>>>>> (via deploy folder) but >> >>>>>>>>> > not lucky >> >>>>>>>>> > >> >>>>>>>>> > Yes, the >> >>>>>>>>> service >> >>>>>>>>> org.osgi.service.component.ComponentFactory is >> >>>>>>>>> > installed and it is provided by my "Bot >> >>>>>>>>> Implementation" bundle. >> >>>>>>>>> > >> >>>>>>>>> > I didn't understand your last question. Is >> >>>>>>>>> there another way to >> >>>>>>>>> > achieve the installation of everything at once >> >>>>>>>>> (like EARs)? >> >>>>>>>>> > >> >>>>>>>>> > BTW, I'm an OSGi/Karaf/ServiceMix beginner. :D >> >>>>>>>>> > >> >>>>>>>>> > Thiago Moreira >> >>>>>>>>> > +55 48 99911-6331 >> >>>>>>>>> > >> >>>>>>>>> > >> >>>>>>>>> > On Sat, Sep 1, 2018 at 1:28 PM Jean-Baptiste >> >>>>>>>>> Onofré <[email protected] >> >>>>>>>>> <mailto:[email protected]> >> >>>>>>>>> > <mailto:[email protected] >> >>>>>>>>> <mailto:[email protected]>>> wrote: >> >>>>>>>>> > >> >>>>>>>>> > Oh sorry, I missed the cause: the service >> >>>>>>>>> > org.osgi.service.component.ComponentFactory >> >>>>>>>>> is not there ;) >> >>>>>>>>> > >> >>>>>>>>> > Why do you have as a prerequisite ? >> >>>>>>>>> > >> >>>>>>>>> > I guess that if you install the scr feature >> >>>>>>>>> before the kar it works fine >> >>>>>>>>> > right ? >> >>>>>>>>> > >> >>>>>>>>> > Can you check if you have the >> >>>>>>>>> ComponentFactory service ? >> >>>>>>>>> > >> >>>>>>>>> > By the way, why did you define the >> >>>>>>>>> requirement in your bundle ? >> >>>>>>>>> > >> >>>>>>>>> > Regards >> >>>>>>>>> > JB >> >>>>>>>>> > >> >>>>>>>>> > On 01/09/2018 18:19, Thiago Moreira (timba) >> >>>>>>>>> wrote: >> >>>>>>>>> > > >> >>>>>>>>> > > Hey JB, yes it does. Check it here >> >>>>>>>>> feature.xml >> >>>>>>>>> > > >> >>>>>>>>> > >> >>>>>>>>> >> >>>>>>>>> <https://github.com/tmoreira2020/poc-osgi-whiteboard/blob/master/br.com.thiagomoreira.kar/src/main/feature/feature.xml> >> >>>>>>>>> > > >> >>>>>>>>> > > Thiago Moreira >> >>>>>>>>> > > +55 48 99911-6331 >> >>>>>>>>> > > >> >>>>>>>>> > > >> >>>>>>>>> > > On Sat, Sep 1, 2018 at 1:05 PM >> >>>>>>>>> Jean-Baptiste Onofré >> >>>>>>>>> > <[email protected] <mailto:[email protected]> >> >>>>>>>>> <mailto:[email protected] >> >>>>>>>>> <mailto:[email protected]>> >> >>>>>>>>> > > <mailto:[email protected] >> >>>>>>>>> <mailto:[email protected]> >> >>>>>>>>> <mailto:[email protected] >> >>>>>>>>> <mailto:[email protected]>>>> wrote: >> >>>>>>>>> > > >> >>>>>>>>> > > Hi, >> >>>>>>>>> > > >> >>>>>>>>> > > does the features XML used to create >> >>>>>>>>> the kar contain the scr >> >>>>>>>>> > feature ? >> >>>>>>>>> > > >> >>>>>>>>> > > Basically, as you are using DS, you >> >>>>>>>>> have to install the scr >> >>>>>>>>> > feature. >> >>>>>>>>> > > >> >>>>>>>>> > > Regards >> >>>>>>>>> > > JB >> >>>>>>>>> > > >> >>>>>>>>> > > On 01/09/2018 17:52, Thiago Moreira >> >>>>>>>>> (timba) wrote: >> >>>>>>>>> > > > >> >>>>>>>>> > > > Hey all! Does anyone can help me >> >>>>>>>>> with this question? >> >>>>>>>>> > > > >> >>>>>>>>> > > >> >>>>>>>>> > >> >>>>>>>>> >> >>>>>>>>> https://stackoverflow.com/questions/52118716/unable-to-deploy-a-karaf-kar-file-containing-a-componentfactory-osgi-declarative >> >>>>>>>>> > > > >> >>>>>>>>> > > > Thanks >> >>>>>>>>> > > > >> >>>>>>>>> > > > p.s. I have tried to send the >> >>>>>>>>> question directly to here >> >>>>>>>>> > before but >> >>>>>>>>> > > seems >> >>>>>>>>> > > > that I wasn't properly added to the >> >>>>>>>>> list. Given another try... >> >>>>>>>>> > > > >> >>>>>>>>> > > > Thiago Moreira >> >>>>>>>>> > > > +55 48 99911-6331 >> >>>>>>>>> > > >> >>>>>>>>> > > -- >> >>>>>>>>> > > Jean-Baptiste Onofré >> >>>>>>>>> > > [email protected] >> >>>>>>>>> <mailto:[email protected]> >> >>>>>>>>> <mailto:[email protected] >> >>>>>>>>> <mailto:[email protected]>> >> >>>>>>>>> > <mailto:[email protected] >> >>>>>>>>> <mailto:[email protected]> >> >>>>>>>>> <mailto:[email protected] >> >>>>>>>>> <mailto:[email protected]>>> >> >>>>>>>>> > > http://blog.nanthrax.net >> >>>>>>>>> > > Talend - http://www.talend.com >> >>>>>>>>> > > >> >>>>>>>>> > >> >>>>>>>>> > -- >> >>>>>>>>> > Jean-Baptiste Onofré >> >>>>>>>>> > [email protected] >> >>>>>>>>> <mailto:[email protected]> >> >>>>>>>>> <mailto:[email protected] >> >>>>>>>>> <mailto:[email protected]>> >> >>>>>>>>> > http://blog.nanthrax.net >> >>>>>>>>> > Talend - http://www.talend.com >> >>>>>>>>> > >> >>>>>>>>> >> >>>>>>>>> -- >> >>>>>>>>> Jean-Baptiste Onofré >> >>>>>>>>> [email protected] <mailto:[email protected]> >> >>>>>>>>> http://blog.nanthrax.net >> >>>>>>>>> Talend - http://www.talend.com >> >>>>>>>>> >> >>> >> >> >>
-- http://about.me/milen
