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
toni.men...@rebaze.com | 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 <toni.men...@rebaze.com> 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 
> <neerajbhus...@gmail.com>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 <toni.men...@rebaze.com>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" <toni.men...@rebaze.com> 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
>>>> toni.men...@rebaze.com | 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 <
>>>> neerajbhus...@gmail.com> 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 <toni.men...@rebaze.com>wrote:
>>>>>
>>>>>> Can you share example code ? Best via Github?
>>>>>>
>>>>>> --
>>>>>> Toni Menzel | Founder | Rebaze GmbH
>>>>>> toni.men...@rebaze.com | 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 <
>>>>>> neerajbhus...@gmail.com> 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
>>>>>>> general@lists.ops4j.org
>>>>>>> http://lists.ops4j.org/mailman/listinfo/general
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> general mailing list
>>>>>> general@lists.ops4j.org
>>>>>> http://lists.ops4j.org/mailman/listinfo/general
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> general mailing list
>>>>> general@lists.ops4j.org
>>>>> http://lists.ops4j.org/mailman/listinfo/general
>>>>>
>>>>>
>>>>
>>> _______________________________________________
>>> general mailing list
>>> general@lists.ops4j.org
>>> http://lists.ops4j.org/mailman/listinfo/general
>>>
>>>
>>
>> _______________________________________________
>> general mailing list
>> general@lists.ops4j.org
>> http://lists.ops4j.org/mailman/listinfo/general
>>
>>
>
_______________________________________________
general mailing list
general@lists.ops4j.org
http://lists.ops4j.org/mailman/listinfo/general

Reply via email to