Interface SessionStore

All Known Subinterfaces:
ClusteredSessionStore, CookieSessionStore, InfinispanSessionStore, LocalSessionStore, RedisSessionStore

public interface SessionStore
A session store is used to store sessions for an Vert.x-Web web app
Author:
Tim Fox, Paulo Lopes
  • Field Details

    • DEFAULT_SESSIONID_LENGTH

      static final int DEFAULT_SESSIONID_LENGTH
      Default length for a session id. More info: https://www.owasp.org/index.php/Session_Management_Cheat_Sheet
      See Also:
  • Method Details

    • create

      static SessionStore create(Vertx vertx)
      Create a Session store given a backend and configuration JSON.
      Parameters:
      vertx - vertx instance
      Returns:
      the store or runtime exception
    • create

      static SessionStore create(Vertx vertx, JsonObject options)
      Create a Session store given a backend and configuration JSON.
      Parameters:
      vertx - vertx instance
      options - extra options for initialization
      Returns:
      the store or runtime exception
    • init

      SessionStore init(Vertx vertx, JsonObject options)
      Initialize this store.
      Parameters:
      vertx - the vertx instance
      options - optional Json with extra configuration options
      Returns:
      self
    • retryTimeout

      long retryTimeout()
      The retry timeout value in milli seconds used by the session handler when it retrieves a value from the store.

      A non positive value means there is no retry at all.

      Returns:
      the timeout value, in ms
    • createSession

      Session createSession(long timeout)
      Create a new session using the default min length.
      Parameters:
      timeout - - the session timeout, in ms
      Returns:
      the session
    • createSession

      Session createSession(long timeout, int length)
      Create a new session.
      Parameters:
      timeout - - the session timeout, in ms
      length - - the required length for the session id
      Returns:
      the session
    • get

      Future<Session> get(String cookieValue)
      Get the session with the specified ID.
      Parameters:
      cookieValue - the unique ID of the session
      Returns:
      future that will be called with a result holding the session, or a failure
    • delete

      Future<Void> delete(String id)
      Delete the session with the specified ID.
      Parameters:
      id - the session id
      Returns:
      future that will be called with a result, or a failure
    • put

      Future<Void> put(Session session)
      Add a session with the specified ID.
      Parameters:
      session - the session
      Returns:
      future that will be called with a result, or a failure
    • clear

      Future<Void> clear()
      Remove all sessions from the store.
      Returns:
      future that will be called with a result, or a failure
    • size

      Future<Integer> size()
      Get the number of sessions in the store.

      Beware of the result which is just an estimate, in particular with distributed session stores.

      Returns:
      future that will be called with a result, or a failure
    • close

      void close()
      Close the store