code: public void init (Properties config, ConnectionProvider conprov, RunQueue pruneQueue)
          throws PersistenceException
      {
          // save this for later
          _config = config;
  
          // create the user repository
          _repository = createRepository(conprov);
  
          // fetch the login URL from the properties
          _loginURL = config.getProperty("login_url");
          if (_loginURL == null) {
              log.warning("No login_url supplied in user manager config. Authentication won't work.");
              _loginURL = "/missing_login_url";
          }
  
          // look up any override to our user auth cookie
          String authCook = config.getProperty("auth_cookie.name");
          if (!StringUtil.isBlank(authCook)) {
              _userAuthCookie = authCook;
          }
  
          if (USERMGR_DEBUG) {
              log.info("UserManager initialized", "acook", _userAuthCookie, "login", _loginURL);
          }
  
          // register a cron job to prune the session table every hour
          if (pruneQueue != null) {
              _pruner = new Interval(pruneQueue) {
                  @Override public void expired () {
                      try {
                          _repository.pruneSessions();
                      } catch (PersistenceException pe) {
                          log.warning("Error pruning session table.", pe);
                      }
                  }
              };
              _pruner.schedule(SESSION_PRUNE_INTERVAL, true);
          }
      }
docs: Prepares this user manager for operation. See {@link #init(Properties,ConnectionProvider)}.
  
  @param pruneQueue an optional run queue on which to run our periodic session pruning task.