code: protected void setSessionStoreService(SessionStoreService sessionStoreService) {
          if (TraceComponent.isAnyTracingEnabled() && LoggingUtil.SESSION_LOGGER_CORE.isLoggable(Level.FINER)) {
              LoggingUtil.SESSION_LOGGER_CORE.entering(CLASS_NAME, "setSessionStoreService", sessionStoreService);
          }
          this.sessionStoreService = sessionStoreService;
          this.registerSessionManager();
          if (TraceComponent.isAnyTracingEnabled() && LoggingUtil.SESSION_LOGGER_CORE.isLoggable(Level.FINER)) {
              LoggingUtil.SESSION_LOGGER_CORE.exiting(CLASS_NAME, "setSessionStoreService");
          }
      }
docs: <p>
  Changes to the session database configuration in the httpSessionDatabase element
  in server.xml require an application restart because certain properties have an effect
  during application start/stop.
  </p>
  <p>
  This method is called whenever a new DatabaseStoreService is
  registered. A DatabaseStoreService is registered the first time
  the sessionDatabase feature is enabled, and also when a change
  has been made to the session database configuration. When a
  configuration change is made, first the unset operation is called,
  and then the set operation is called. We must register a new
  SessionManager service during both calls to ensure that a SessionManager
  service is always available.
  </p>
  <p>
  A configuration change should trigger exactly one
  application restart if the SessionManager service has been
  registered AND initialized, but no application restarts if the
  SessionManager is not initialized (a restart is not needed because
  no one is using the registered/unregistered SessionManager service).
  </p>
  <p>
  In the case where both the httpSession element is changed AND
  the httpSessionDatabase element is changed during the same configuration
  event, only one application restart should occur. This behavior will
  occur despite the fact that the SessionManager service will be re-registered
  three times: unsetSessionStoreService, setSessionStoreService, and modified.
  This behavior is achieved by relying on the appRecycleService to wait for
  the end of the configuration event before restarting the apps.
  </p>
  
  @param sessionStoreService the service used to persist session
  information beyond the local server's memory