users@glassfish.java.net

Re: Can a web service deployed in Grizzly access Felix

From: paulbrickell <paul.brickell_at_evolvedintelligence.com>
Date: Wed, 20 May 2009 06:11:17 -0700 (PDT)

Sahoo,

Sorry. You are of course right about the web service deployment. It's just a
war file deployed in glassfish (atually I am debugging in Eclipse).

I did try just dropping the bundle in the autodeploy-bundles dir, but it did
not seem to start (I saw none of the logging from my BundleActivator.start
method) . I suspect I might be behind on the build. I will pick up the
latest nightly today.

As described in my original post I have pulled the Habitat object from the
app context. But I cannot cast it to the right type. I still do not know an
appropriate maven dependency I can add to get it.

Thanks for your help.



Sahoo wrote:
>
> Paul,
>
> 1. You don't have to modify Felix config file. You can drop your OSGi
> bundle in domain1/autodeploy-bundles dir and it will be automatically
> started when server starts. Please use the latest nightly build as I
> fixed an important bug around this.
>
> 2. What do you mean by deploying a web service in Grizzly? Can you tell
> us how you packaged your web service and how you deployed such a thing?
> Did you really mean GlassFish or Grizzly?
>
> 3. All the registered OSGi services can be accessed via Habitat object.
> The OSGi service interface names are mapped to contract names in Habitat.
> e.g., if you have an OSGi service Foo.class which implements I1 and I2,
> then you can access it via Habitat.getByContract(I1 or I2.class)
>
> Thanks,
> Sahoo
>
> paulbrickell wrote:
>> I don't know if this is a silly question, but I am having some
>> fundamental
>> issues understanding the Glassfish v3 architecture and could use a
>> pointer.
>>
>> I have created a bundle and added an entry in the glassfish/felix.conf
>> e.g.
>>
>> file:///home/me/myworkspace/my-bundle/target/my-bundle-1.0-SNAPSHOT.jar
>>
>> I see this bundle starting and all is well. It opens a socket to which I
>> can
>> connect and exchange data, which is nice. The reason I created a bundle
>> and
>> not a H2K module is that I want it to be activated at server start-up
>> time.
>> I could not see a way of doing this with H2K. Maybe I missed something.
>>
>>
>> Now I want to reference this service from a web service that I have
>> deployed
>> in Grizzly. I simply cannot figure out how to do this. The docs do not
>> really cover this, which leads me to believe I am doing something
>> fundamentally wrong.
>>
>> Do Felix and Grizzly share any kind of context or is there a static way
>> to
>> access the Felix services from a web application deployed in Grizzly?
>>
>> I have tried this....
>>
>> wsContext.getMessageContext();
>> ServletContext sCtx = (ServletContext)
>> mc.get(MessageContext.SERVLET_CONTEXT);
>> Object habitat = sCtx.getAttribute("org.glassfish.servlet.habitat");
>>
>> This, I believe, gets me a reference to the H2K habitat, but my bundle is
>> an
>> OSGi bundle deployed in Felix, not an H2K service. Can I navigate to my
>> bundle through this habitat? Is it right to try? If so is there a maven
>> dependency I need to pick up the Habitat class as I cannot seem to find
>> it
>> anywhere.
>>
>> I would appreciate any pointers. TIA.
>> Paul B.
>>
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>
>
>

-- 
View this message in context: http://www.nabble.com/Can-a-web-service-deployed-in-Grizzly-access-Felix-tp23634609p23635169.html
Sent from the java.net - glassfish users mailing list archive at Nabble.com.