@Override
  public void init(final FilterConfig config) {
    LOG.info("Starting Session Filter initialization");
    registerInstantiators();
    filterConfig = config;

    if (started.getAndDecrement() > 0) {
      // Allow override for testing purposes
      String managerClassStr = config.getInitParameter("session-manager-class");

      // Otherwise default
      if (managerClassStr == null) {
        managerClassStr = GemfireSessionManager.class.getName();
      }

      try {
        manager = (SessionManager) Class.forName(managerClassStr).newInstance();
        manager.start(config, getClass().getClassLoader());
      } catch (Exception ex) {
        LOG.error("Exception creating Session Manager", ex);
      }

      startingLatch.countDown();
    } else {
      try {
        startingLatch.await();
      } catch (InterruptedException iex) {
        // Ignore.
      }

      LOG.debug("SessionManager and listener initialization skipped - " + "already done.");
    }

    LOG.info("Session Filter initialization complete");
    LOG.debug("Filter class loader {}", getClass().getClassLoader());
  }
This is where all the initialization happens.
extensions/geode-modules-session/src/main/java/org/apache/geode/modules/session/filter/SessionCachingFilter.java