Salut,
aloleary wrote:
> I am using ServletAdapter
>
> so
>
> adapter.setContextPath("/rest");
>
> was what I was missing - seems pretty obvious now
yes this is a design issue we have right now. We need to fix that to
make the user experience more trivial. I will file an RFE and see what
we can do.
Thanks!
-- Jeanfrancois
>
> -A-
>
> for anyone else here is the full code thats allowing me also to boostrap
> spring+spring security:
> - test code so not very pretty right now
>
> // -----------------------------
> final URI baseUri =
> UriBuilder.fromUri("http://localhost/").port(PORT).build();
>
> final ServletAdapter adapter = new ServletAdapter();
>
> adapter.addInitParameter(
> "com.sun.jersey.config.property.packages",
> JERSEY_PACKAGE_ROOT);
>
> adapter.addContextParameter(
> "contextConfigLocation", SPRING_APP_CONTEXT);
>
> adapter.addServletListener(
> "org.springframework.web.context.ContextLoaderListener");
>
> SpringServlet springServlet = new SpringServlet();
>
> adapter.setServletInstance(springServlet);
> adapter.setContextPath("/rest");
>
> DelegatingFilterProxy delegatingFilterProxy = new
> DelegatingFilterProxy();
> delegatingFilterProxy.setTargetBeanName("filterChainProxy");
>
> // Add Spring Security
> adapter.addFilter(delegatingFilterProxy,
> "springSecurityFilterChain", null);
>
> adapter.addServletListener("org.springframework.security.ui.session.HttpSessionEventPublisher");
>
> threadSelector = GrizzlyServerFactory.create(baseUri, adapter);
>
> // -----------------------------
>
> Jeanfrancois Arcand-2 wrote:
>> Salut,
>>
>> aloleary wrote:
>>> ...
>>>
>>> eh.. found it .. actually quite simple:
>>>
>>> adapter.setContextPath("/rest");
>> which Adapter are you using? It might be in that adapter that the 404 is
>> getting returned. Are you using the ServletAdapter?
>>
>> Thanks!!!1
>>
>> -- Jeanfrancois
>>
>>
>>> -A
>>>
>>>
>>> aloleary wrote:
>>>> Sorry to be back again!
>>>>
>>>> so i refactored to the following code:
>>>>
>>>> ws = new GrizzlyWebServer(PORT);
>>>> ws.addGrizzlyAdapter(adapter, new String[]{"/rest"});
>>>> ws.start();
>>>>
>>>> However the server responds to the following url:
>>>>
>>>> GET http://localhost:9998/system/status OK
>>>>
>>>> But I want it to respond to this:
>>>> GET http://localhost:9998/rest/system/status 404
>>>>
>>>> So I know the adapter is ok - it responds to all my calls - its just
>>>> always on '/'
>>>>
>>>> The reason I need it this way is that /rest/* is configured with spring
>>>> security/basic auth so its important for the embedded grizzly to reflect
>>>> that.
>>>>
>>>> Any thoughts ?
>>>>
>>>> Thanks in advance
>>>> -Al-
>>>>
>>>>
>>>>
>>>> Jeanfrancois Arcand-2 wrote:
>>>>> Salut,
>>>>>
>>>>> aloleary wrote:
>>>>>> Its a good question - the answer is I don't based on the way I am
>>>>>> configuring
>>>>>> it above....
>>>>>>
>>>>>> After the lines above I do the following (apologies for not including
>>>>>> before):
>>>>>>
>>>>>> // Add Spring Security
>>>>>> adapter.addFilter(delegatingFilterProxy,
>>>>>> "springSecurityFilterChain", null);
>>>>>>
>>>>>> adapter.addServletListener("org.springframework.security.ui.session.HttpSessionEventPublisher");
>>>>>>
>>>>>> threadSelector = GrizzlyServerFactory.create(baseUri,
>>>>>> adapter);
>>>>>>
>>>>>> And now I have a running server...
>>>>>>
>>>>>> I guess I could refactor a bit to get usage of
>>>>>> GrizzlyWebServer.addGrizzlyAdapter(adapter,"/rest");
>>>>> Yes I suspect this is the issue. But when you set the servletPath to
>>>>> /rest, it doesn't work? Are you getting 404 ?
>>>>>
>>>>> Thanks (and thanks for using Atmosphere :-))
>>>>>
>>>>> -- Jeanfrancois
>>>>>
>>>>>
>>>>>> -A-
>>>>>>
>>>>>>
>>>>>> Jeanfrancois Arcand-2 wrote:
>>>>>>> Salut,
>>>>>>>
>>>>>>> aloleary wrote:
>>>>>>>> Hello,
>>>>>>>> I have embeded Grizzly working great as part of my junit4.x test
>>>>>>>> framework (@BeforeClass to boot strap for all tests and @AfterClass
>>>>>>>> to
>>>>>>>> tear
>>>>>>>> down) I have configured it properly to bootstrap my spring context
>>>>>>>> and
>>>>>>>> spring-security.
>>>>>>>>
>>>>>>>> I have one small problem I cannot work out how to programatically
>>>>>>>> configure the equivalent of the servlet mapping in web-xml fragment
>>>>>>>> e.g.
>>>>>>>>
>>>>>>>> <!-- REST Support (Jersey/Spring) -->
>>>>>>>> <servlet>
>>>>>>>> <servlet-name>rest-servlet</servlet-name>
>>>>>>>> <servlet-class>
>>>>>>>>
>>>>>>>> com.sun.jersey.spi.spring.container.servlet.SpringServlet
>>>>>>>> </servlet-class>
>>>>>>>> <load-on-startup>1</load-on-startup>
>>>>>>>> </servlet>
>>>>>>>>
>>>>>>>> <servlet-mapping>
>>>>>>>> <servlet-name>rest-servlet</servlet-name>
>>>>>>>> <url-pattern>/rest/*</url-pattern>
>>>>>>>> </servlet-mapping>
>>>>>>>>
>>>>>>>> Here is my embedded code:
>>>>>>>>
>>>>>>>> URI baseUri =
>>>>>>>> UriBuilder.fromUri("http://localhost/").port(PORT).build();
>>>>>>>> final ServletAdapter adapter = new ServletAdapter();
>>>>>>>>
>>>>>>>> adapter.addInitParameter("com.sun.jersey.config.property.packages",
>>>>>>>> JERSEY_PACKAGE_ROOT);
>>>>>>>>
>>>>>>>> adapter.addContextParameter("contextConfigLocation",
>>>>>>>> SPRING_APP_CONTEXT);
>>>>>>>>
>>>>>>>> adapter.addServletListener("org.springframework.web.context.ContextLoaderListener");
>>>>>>>> adapter.setServletInstance(new SpringServlet());
>>>>>>>>
>>>>>>>> adapter.setContextPath(baseUri.getPath()); // so this is
>>>>>>>> just
>>>>>>>> '/'
>>>>>>>> here
>>>>>>>>
>>>>>>>> //adapter.setServletPath("/rest"); << this does not seem
>>>>>>>> to
>>>>>>>> work ?
>>>>>>>>
>>>>>>>> Any help really appreciated...
>>>>>>> How do you add the Adapter to the GrizzlyWebServer? Try something
>>>>>>> like:
>>>>>>>
>>>>>>> GrizzlyWebServer.addGrizzlyAdapter(adapter,"/rest");
>>>>>>>
>>>>>>> Let me know the result.
>>>>>>>
>>>>>>> Thanks!
>>>>>>>
>>>>>>> -- Jeanfrancois
>>>>>>>
>>>>>>>
>>>>>>>> Thanks
>>>>>>>> -A-
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>>>
>>>>>>>
>>>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>>>
>>>>>
>>>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>
>>
>>
>