Hi Martin,
should we extend jersey samples with this and add some more details
about this configuration on wiki to make it more clear? What do you
think?
Petr
2011/3/10 Martin Matula <martin.matula_at_oracle.com>:
> The attached project works fine for me with GF 3.0.1.
> Martin
>
>
> On 9.3.2011 22:27, NBW wrote:
>
> On Wed, Mar 9, 2011 at 4:14 PM, Martin Matula <martin.matula_at_oracle.com>
> wrote:
>>
>> The sample in the guide does not ask you to annotate the class, because it
>> still registers the servlet in web.xml - we need to update that part of the
>> guide - it is confusing and incomplete.
>
> OK.
>>
>> What version of GlassFish are you using?
>
> I am trying this test out in GF 3.1 fcs
>
>>
>> What do you mean you tried it before with GFv3&Servlet 2.5? GFv3 is
>> JavaEE6 - i.e. supports servlet 3.0.
>
> That was a typo, should have said servlet 3.0. It was a different
> application written with Jersey 1.0 and I took that other approach with the
> deployment descriptorless project, a class that extended Application etc. I
> just mentioned it as an example of a different way I have deployed in the
> past with success, sorry for any confusion around that.
>
>>
>> Can you send me your project?
>
> Not easily. Is there a jersey sample that takes this approach?
>
>>
>> Where exactly (in what package) is your FooTest class?
>
> FooTest is in package com.myapp.api
> TestApplication is in package com.myapp.ws.rs
> -Noah
>>
>>
>>
>> On 9.3.2011 22:07, NBW wrote:
>>
>> Hi Martin,
>> Thanks for your suggestion. I gave it a shot but no joy. I added back the
>> sun-web.xml with context-root set appropriately, left out the web.xml and
>> annotated my 'application' class which extends PackagesResourceConfig with
>> @ApplicationPath("/") (even though this is not in the example in the user's
>> guide).
>> In a previous Jersey 1.0 application that I wrote and deployed to GFv3 &
>> Servlet 2.5 I had things set up like so:
>> no web.xml
>> no sun-web.xml
>> a class that extended Application and was annotated with
>> @ApplicationPath("/api")
>> and things worked, my Root resource classes were 'auto discovered' in that
>> case.
>> -Noah
>>
>> On Wed, Mar 9, 2011 at 3:46 PM, Martin Matula <martin.matula_at_oracle.com>
>> wrote:
>>>
>>> Hi,
>>> You need to annotate your application class with @ApplicationPath("/")
>>> annotation. This replaces the servlet and servlet mapping entry in the
>>> web.xml. You still need to keep the sun-web.xml to specify application
>>> context path:
>>> <sun-web-app error-url="">
>>> <context-root>/contextRoot</context-root>
>>> </sun-web-app>
>>> Martin
>>>
>>> ----- Original Message -----
>>> From: emailnbw_at_gmail.com
>>> To: users_at_jersey.java.net
>>> Sent: Wednesday, March 9, 2011 8:59:30 PM GMT +01:00 Amsterdam / Berlin /
>>> Bern / Rome / Stockholm / Vienna
>>> Subject: [Jersey] Question about PackagesResourceConfig usage
>>>
>>> I was trying to try out the approach of deploying my Jersey service by
>>> extending PackagesResourceConfig as is done in Example 2.8 of the User's
>>> Guide [1]. My class looks like this:
>>> package com.myapp.ws.rs;
>>> public class TestApplication extends PackagesResourceConfig {
>>> public TestApplication() {
>>> super("com.myapp.api");
>>> }
>>> }
>>> I have a Servlet 3.0 web.xml file, however, it simply contains the <web
>>> app .. > element. I also have a 3.0 sun-web.xml which is empty right now
>>> save for the DOCTYPE and an empty <sun-web-app> element.
>>> My Provider resource class looks like this (some content omitted):
>>> @Path("/foo")
>>> @Stateless
>>> public class FooTest {
>>> @EJB
>>> FooBean aFooBean;
>>> @GET
>>> @Produces(MediaType.APPLICATION_JSON)
>>> @Path("/hw")
>>> public Response getHW() {
>>> return Response.ok("hello, world").build();
>>> }
>>> ....
>>> I get a 404 when I try to access http://localhost:8080/contextRoot/foo/hw
>>> where contextRoot is the cr for my web app. This test code deploys and works
>>> fine when I take the servlet 2.5 web.xml approach of using the Jersey
>>> ServletContainer servlet.
>>> Any hints as to what I am missing with this other approach? Thanks,
>>> -Noah
>>> [1]
>>> - http://jersey.java.net/nonav/documentation/latest/user-guide.html#d4e194
>
>