Thanks. Now it makes more sense. --- Best regards, Neeraj
On Thu, Sep 6, 2012 at 3:25 PM, Toni Menzel <[email protected]> wrote: > Injecting the service itself is of cause a shortcut. I was unsure what you > wanted to test. > I understand you are just getting into it, its possibly best to go step by > step: > - my test uses the native container rather than paxrunner container (you > can switch back to paxrunner if desired but its not recommended as this > will go away in Pax Exam 3) > - I upgraded to Pax Exam 2.5 > - Used Felix instead of Eclipse > > Thats roughly about it. So you should just look at the consumer pom.xml > and understand the dependencies. > Native Container (pax-exam-container-native) needs a concrete OSGi > framework, so i added felix. You can also use equinox if wanted. Just look > it up on search.maven.org. > > > Toni Menzel | Founder | Rebaze GmbH > [email protected] | www.rebaze.com > Access To Alien Technology: Great software needs a great foundation. We > help unlocking the next level in technology. > Rebaze Pass for Maven <http://goo.gl/1YLlt>, Rebaze Pass for > OSGi<http://goo.gl/WP8XT> > , Rebaze Pass for Neo4j <http://www.rebaze.com/services/>, Rebaze Pass > for Jenkins <http://www.rebaze.com/services/> > > > > On Thu, Sep 6, 2012 at 11:48 AM, neeraj bhusare > <[email protected]>wrote: > >> Thank you very much. In addition to your changes, I have injected the >> service (@Inject HelloWorldService service) and it worked fine. I >> understand the changes you have made, but I still don't understand what was >> wrong in my code. Do you have any pointers that might help me understand >> what was the issue. From my side I am also going through the PAX EXAM >> documentation. >> >> NOTE: I had made the changes you had recommended in your previous reply >> and tested the same, which for some reason didn't work. >> --- >> Best regards, Neeraj >> >> >> >> On Thu, Sep 6, 2012 at 2:24 PM, Toni Menzel <[email protected]>wrote: >> >>> Here are my changes. You can also download as ZIP if you don't like Git: >>> https://github.com/tonit/temp-paxexam-neeraj >>> >>> -- >>> Toni Menzel | Founder | Rebaze GmbH >>> [email protected] | www.rebaze.com >>> Access To Alien Technology: Great software needs a great foundation. We >>> help unlocking the next level in technology. >>> Rebaze Pass for Maven <http://goo.gl/1YLlt>, Rebaze Pass for >>> OSGi<http://goo.gl/WP8XT> >>> , Rebaze Pass for Neo4j <http://www.rebaze.com/services/>, Rebaze Pass >>> for Jenkins <http://www.rebaze.com/services/> >>> >>> >>> >>> On Thu, Sep 6, 2012 at 10:38 AM, Toni Menzel <[email protected]>wrote: >>> >>>> I will push my changes to your code later and let you know. There you >>>> can review. >>>> >>>> >>>> >>>> On Thu, Sep 6, 2012 at 10:34 AM, neeraj bhusare < >>>> [email protected]> wrote: >>>> >>>>> Thanks for the review. I made the changes to the publisher pom, and >>>>> the generated manifest now has the metadata about the bundle activator. In >>>>> addition, I also added "org.neclipse.helloworld.service" in the imported >>>>> packages, which was missing. But still the publish bundle stays in the >>>>> Installed (ID=2) state and the service is not registered. >>>>> >>>>> >Also be aware that the service might not have been published already >>>>> when the test is called. At best consume with a >service tracker or >>>>> similar. >>>>> >>>>> Assuming that the service is not published, the test will fail and I >>>>> am ok with that for now. What I don't understand is that the publish >>>>> bundle >>>>> doesn't go into the starting/active state. I had read that the bundle >>>>> might >>>>> stay in the Installed state if its dependencies are not resolved. But that >>>>> doesn't seem to be the case. Could there be anything else causing the >>>>> issue. >>>>> >>>>> For now, I plan to use the simple BundleContext#registerService() and >>>>> BundleContext#getServiceReference api. I'll use the DS approach sometime >>>>> later. I assume this has nothing to do with the bundle remaining in >>>>> installed state. >>>>> >>>>> Thanks again for the review and posting your findings. I'll make the >>>>> changes you suggested. >>>>> --- >>>>> Best regards, Neeraj >>>>> >>>>> >>>>> >>>>> On Thu, Sep 6, 2012 at 12:53 PM, Toni Menzel >>>>> <[email protected]>wrote: >>>>> >>>>>> Also be aware that the service might not have been published already >>>>>> when the test is called. At best consume with a service tracker or >>>>>> similar. >>>>>> >>>>>> Please note: this message sent from a Mobile device. >>>>>> On Sep 6, 2012 9:04 AM, "Toni Menzel" <[email protected]> wrote: >>>>>> >>>>>>> Hi Neeraj, >>>>>>> >>>>>>> You are never publishing the service because the activator is not >>>>>>> called. >>>>>>> Add >>>>>>> >>>>>>> >>>>>>> <Bundle-Activator>org.neclipse.helloworld.publish.HelloWorldActivator</Bundle-Activator> >>>>>>> to the manifest of your publisher or use some other meaning of >>>>>>> automatically publish the service (DS,Blueprint etc). >>>>>>> >>>>>>> Other than the problem itself, here are some more findings after >>>>>>> reviewing your example code: >>>>>>> - Upgrade to Pax Exam 2.5 >>>>>>> - Is there a particular reason you are using paxrunner container ? >>>>>>> Try the Native Container. Much faster. Gives you more options choosing >>>>>>> the >>>>>>> framework. >>>>>>> - Never(!) use artifact.version=0.0.1 in development iteration. >>>>>>> Instead, you are always using -SNAPSHOT versions (e.g. 0.0.1-SNAPSHOT). >>>>>>> A >>>>>>> released version (everything non snapshot) is assumed to never change. >>>>>>> Just >>>>>>> leads you into trouble. >>>>>>> >>>>>>> Let me know if this works for you. >>>>>>> Toni >>>>>>> >>>>>>> Toni Menzel | Founder | Rebaze GmbH >>>>>>> [email protected] | www.rebaze.com >>>>>>> Access To Alien Technology: Great software needs a great >>>>>>> foundation. We help unlocking the next level in technology. >>>>>>> Rebaze Pass for Maven <http://goo.gl/1YLlt>, Rebaze Pass for >>>>>>> OSGi<http://goo.gl/WP8XT> >>>>>>> , Rebaze Pass for Neo4j <http://www.rebaze.com/services/>, Rebaze >>>>>>> Pass for Jenkins <http://www.rebaze.com/services/> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Thu, Sep 6, 2012 at 12:32 AM, neeraj bhusare < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> I have some problems sharing the project via Github. Could you >>>>>>>> please take a look at the attached project zip. Also, please >>>>>>>> ignore the typos in my previous post. I meant, I had tried using >>>>>>>> #start(), >>>>>>>> #start(true)... >>>>>>>> >>>>>>>> >>>>>>>> Thanks in advance. >>>>>>>> --- >>>>>>>> Best regards, Neeraj >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Sep 6, 2012 at 1:46 AM, Toni Menzel <[email protected] >>>>>>>> > wrote: >>>>>>>> >>>>>>>>> Can you share example code ? Best via Github? >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Toni Menzel | Founder | Rebaze GmbH >>>>>>>>> [email protected] | www.rebaze.com >>>>>>>>> Access To Alien Technology: Great software needs a great >>>>>>>>> foundation. We help unlocking the next level in technology. >>>>>>>>> Rebaze Pass for Maven <http://goo.gl/1YLlt>, Rebaze Pass for >>>>>>>>> OSGi<http://goo.gl/WP8XT> >>>>>>>>> , Rebaze Pass for Neo4j <http://www.rebaze.com/services/>, Rebaze >>>>>>>>> Pass for Jenkins <http://www.rebaze.com/services/> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, Sep 5, 2012 at 9:59 PM, neeraj bhusare < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> I am working on a small example project that has two bundles. The >>>>>>>>>> first bundle publishes a service and the second contains the test >>>>>>>>>> that >>>>>>>>>> tries to read/test the presence of the service in one of its @Test >>>>>>>>>> methods. >>>>>>>>>> I also iterate through the list of installed bundles and print their >>>>>>>>>> state. >>>>>>>>>> All the bundles, except the first bundle (that exposes the service) >>>>>>>>>> are in >>>>>>>>>> the Active state. I have tried using #state(), #state(true) but the >>>>>>>>>> state >>>>>>>>>> of the bundle remains the same (Installed). Unless the bundle goes >>>>>>>>>> into >>>>>>>>>> Starting/Active state, the services won't get registered and I can't >>>>>>>>>> test >>>>>>>>>> it. >>>>>>>>>> I have tried installing the first bundle separately using the >>>>>>>>>> OSGi console and it works fine. The services are registered >>>>>>>>>> properly. But >>>>>>>>>> the same doesn't work when the bundle is provisioned in the test. Am >>>>>>>>>> I >>>>>>>>>> missing something here? >>>>>>>>>> >>>>>>>>>> Thanks in advance. >>>>>>>>>> --- >>>>>>>>>> Best regards, Neeraj >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> general mailing list >>>>>>>>>> [email protected] >>>>>>>>>> http://lists.ops4j.org/mailman/listinfo/general >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> general mailing list >>>>>>>>> [email protected] >>>>>>>>> http://lists.ops4j.org/mailman/listinfo/general >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> general mailing list >>>>>>>> [email protected] >>>>>>>> http://lists.ops4j.org/mailman/listinfo/general >>>>>>>> >>>>>>>> >>>>>>> >>>>>> _______________________________________________ >>>>>> general mailing list >>>>>> [email protected] >>>>>> http://lists.ops4j.org/mailman/listinfo/general >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> general mailing list >>>>> [email protected] >>>>> http://lists.ops4j.org/mailman/listinfo/general >>>>> >>>>> >>>> >>> >>> _______________________________________________ >>> general mailing list >>> [email protected] >>> http://lists.ops4j.org/mailman/listinfo/general >>> >>> >> >> _______________________________________________ >> general mailing list >> [email protected] >> http://lists.ops4j.org/mailman/listinfo/general >> >> > > _______________________________________________ > general mailing list > [email protected] > http://lists.ops4j.org/mailman/listinfo/general > >
_______________________________________________ general mailing list [email protected] http://lists.ops4j.org/mailman/listinfo/general
