You don't have to implement HttpContext yourself. Just call HttpService.createDefaultHttpContext() to get a new instance of HttpContext which you can use to create your own ServletContext boundary. At least this is how we have implemented the OSGi/Http spec in GlassFish. If you want to try out GlassFish Http Service and have questions around that, then don't ask here; please use GlassFish forum.

Sahoo

On Thursday 09 February 2012 05:02 PM, Ivanhoe Abrahams wrote:
Yes

what I have also tried was to create a org.osgi.service.http.HttpContext for each servlet but still the context-path remains "/". What I do not understand how implementing the HttpContext which has the following structure

   java.lang.String getMimeType( java.lang.String name);
   java.net.URL getMimeType( java.lang.String name);
   boolean getResource java.lang.String name);

would translate into the servletcontext's contextpath changing from "/" to something else.

Regards
Ivanhoe


||On Thu, Feb 9, 2012 at 1:17 PM, Sahoo <[email protected] <mailto:[email protected]>> wrote:

    This is a bit odd or am I misunderstanding this discussion. OSGi
    HttpService spec does talk about ServletContext which existed even
    in Servlet 2.1. Each org.osgi.service.http.HttpContext should map
    to its own ServletContext. Is that now how Felix HttpService
    implemented?

    Thanks,
    Sahoo


    On Thursday 09 February 2012 03:25 PM, Felix Meschberger wrote:

        Hi,

        This is a bit of a grey area at this point in time. AFAICT the
        current Http Service spec is based on Servlet API 2.1 and
        there was no Servlet Context at that time.

        Thus all servlets deployed registered with a single Http
        Service share the same Servlet Context and thus HttpSession.

        Regards
        Felix

        Am 09.02.2012 um 10:38 schrieb Ivanhoe Abrahams:

            Hi all

            I have been playing around with the httpservice.
            In my playpen want to get OSGI (Felix) and Vaadin to play
            nicely together
            (which it does).
            However at this point I am facing a problem whereby I
            register two servlets
            with different aliases (these servlets extend Vaadin's
            AbstractApplicationServlet).
            My problem is that these two servlets(actually vaadin
            applications), seem
            to be sharing the same session and what I would like to
            know is, Is there a
            way to register
            servlets under different context-paths? because the
            context path for both
            servlets is "/" which is what is causing the servlets to
            share the same
            session, i think.
            I want to be able to do this programmatically as well.

            The way I am testing this is simply to fire up chrome and
            open 2 url's eg:

            http://localhost:8080/testapp1/
            and then another tab
            http://localhost:8080/testapp2/

            However when I access the second url, it seems like the
            httprequest
            contains the first app's session. Hence my question about
            context-paths and
            how to
            seperate the two app's (in terms of session management).

            Any advice would be helpful.

            By the way I am use the http service bundle
            (ExtHttpService) to register
            servlets and filters and have jetty enabled in the config
            file.

            Regards
            Ivanhoe


        ---------------------------------------------------------------------
        To unsubscribe, e-mail: [email protected]
        <mailto:[email protected]>
        For additional commands, e-mail: [email protected]
        <mailto:[email protected]>



    ---------------------------------------------------------------------
    To unsubscribe, e-mail: [email protected]
    <mailto:[email protected]>
    For additional commands, e-mail: [email protected]
    <mailto:[email protected]>



Reply via email to