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 07:40:16 -0700 (PDT)

but, did find it in...

http://download.java.net/maven/glassfish/



paulbrickell wrote:
>
> Sahoo,
>
> Really appreciate your help.
>
> I'm afraid I do not find com.sun.enterprise.hk2 in either of the
> repositories you listed.
>
> Thanks,
> Paul B.
>
>
>
> Sahoo wrote:
>>
>> OK, thanks for clarifying about the deployment part.
>>
>> You should be able to do this in your code:
>>
>> org.jvnet.hk2.component.Habitat =
>> org.jvnet.hk2.component.Habitat.class.cast(sCtx.getAttribute("org.glassfish.servlet.habitat"));
>>
>>
>> org.jvnet.hk2.component package is part of HK2 project, so you can set
>> up your maven dependency like this:
>>
>> <dependency>
>> <groupId>com.sun.enterprise</groupId>
>> <artifactId>hk2</artifactId>
>> <version>RELEASE</version>
>> <scope>provided</scope>
>> <dependency>
>>
>> Ensure that you have added http://download.java.net/maven/2 and
>> http://download.java.net/maven/1 as additional maven 2 and maven 1
>> repositories either in your pom.xml or in your maven settings.xml.
>>
>> Thanks,
>> Sahoo
>>
>> paulbrickell wrote:
>>> 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
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> 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-tp23634609p23636778.html
Sent from the java.net - glassfish users mailing list archive at Nabble.com.