开发者

maintain multiple session request over webservices in java

I want to implement following solution (described in a image) using Java Web Services

maintain multiple session request over webservices in java

When ever a user request with a valid credentials using web services , a session is created over server and that server (who receives the request ) creates a connection with the other server i.e. Meta Trader's Server.

Here each user has a different session to maintain their connection and a state with meta trader server.

Note: Currently i am not maintaining any session when a user request instead i am saving the connection object in a

  @javax.ws.rs.core.Context
  ServletContext servletContext;

  MyAppli开发者_如何学Gocation application = new MyApplication();
  servletContext.setAttribute("application", application);

But this solution doesn't serve multiple users naturally. so please anyone has an idea how to solve the issue of serving multiple clients then please reply.

I am using Glassfish and JAX-RS ( Jersery 1.1 ) , JAXB


Simply use the annotation @javax.ws.rs.core.Context to get the HttpServletRequest and use its session within the container in which Jersey is deployed.

The code below is a simple example of a jersey resource that gets the session object and stores values in the session and retrieves them on subsequent calls.

@Path("/helloworld")
public class HelloWorld {

    @GET
    @Produces("text/plain")
    public String hello(@Context HttpServletRequest req) {

        HttpSession session= req.getSession(true);
        Object foo = session.getAttribute("foo");
        if (foo!=null) {
            System.out.println(foo.toString());
        } else {
            foo = "bar";
            session.setAttribute("foo", "bar");
        }
        return foo.toString();


    }
}

But you should NOT use RESTful API like this. It meant to be used as web service which is stateless, not web application. Check the following answers which I got the example and advice from

(jersey security and session management)
https://stackoverflow.com/a/922058
https://stackoverflow.com/a/7752250

(How to manage state in JAX-RS?)
https://stackoverflow.com/a/36713305

(Get ServletContext in JAX-RS resource)
https://stackoverflow.com/a/1814788

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜