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
