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
