public class SessionManager
extends java.lang.Object
The purpose of this is to be the root-most singleton server object that
also manages Tenant-based user session limits.
It listens to the Servlet container for sessions being destroyed.
This is a singleton object.
It is also used as the object to get and maintain all the metadata about
the server and tenants. It will read the configuration, and provide this
to the rest of the module.
This object will maintain a single super session
with the server, and it will allow users' access to that super session
based on configuration settings. This will be used to gather the list
of all the tenants in the server, and the list of users for each tenant.