Hey guys, thanks for your effort! I gave a shot on the maven-bundle-plugin without success. Now I'm able to deploy and activate all bundles BUT no method (BotImpl.run <https://github.com/tmoreira2020/poc-osgi-whiteboard/blob/100366917e63ac535cdc2f6d390e59d7c8f2ca39/br.com.thiagomoreira.bot.impl/src/main/java/br/com/thiagomoreira/bot/impl/BotImpl.java#L42>) is called in my code. The code is in the branch maven-bundle-plugin <https://github.com/tmoreira2020/poc-osgi-whiteboard/tree/maven-bundle-plugin> .
Thanks Thiago Moreira +55 48 99911-6331 On Tue, Sep 4, 2018 at 8:52 AM Jean-Baptiste Onofré <[email protected]> wrote: > Hi, > > Give me some time to complete Cave and I will take a look. The issue is > not related to KAR, it's around the features resolver. I think it could > be a race condition or a mistake in the requirements (as I didn't > reproduce the issue, and we use the same approach in examples without > problem). > > I keep you posted asap. > > Regards > JB > > On 04/09/2018 13:47, Francois Papon wrote: > > Yes, I also tried to install the feature manually (JB tips) outside of > > the Kar but it didn't solve. > > > > May be I missed something in Felix for the registring of the component > > in the componentFactory. > > > > regards, > > > > François Papon > > [email protected] > > > > Le 04/09/2018 à 15:42, Milen Dyankov a écrit : > >> 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 > >>>>>>>>>>>>> > >> > > > > -- > Jean-Baptiste Onofré > [email protected] > http://blog.nanthrax.net > Talend - http://www.talend.com >
