Оптимизация сессии в Jetty + Wicket - PullRequest
0 голосов
/ 23 февраля 2011

Есть ли способ обмена сеансами на диск с помощью jetty, если они простаивают в течение n.n. минут

Это расследуется, но мы подозреваем, что у нас есть много незанятых пользователей, вошедших в систему с большим размером сеанса. Поэтому, пока они ничего не делают, их сеанс может быть перенесен на диск.

Есть ли настройка, утилита или способ для этого?

We are using wicket+jetty.

Просто сократить время ожидания уничтожения сеанса невозможно.

1 Ответ

0 голосов
/ 25 февраля 2011

Если вы используете Jetty 7, ответ - да.

Поскольку возможно настроить и запустить Jetty несколькими способами, довольно сложно дать однозначный ответ о том, как включить это в вашем сценарии.

Результат, который вы хотите, чтобы он вызывал «setIdleSavePeriod» в «HashSessionManager» с ненулевым значением (количество секунд, в течение которых сеанс должен простаивать, прежде чем он будет помещен на диск)

Если вы используете свой сервер с файлом по умолчанию jetty.xml, вам нужно добавить что-то вроде (не проверено):

<Configure class="org.mortbay.jetty.webapp.WebAppContext">
  .
  .
  .
  <Set name="sessionHandler">
    <New class="org.mortbay.jetty.servlet.SessionHandler">
      <Arg>
        <New class="org.mortbay.jetty.servlet.HashSessionManager">
          <Set name="storeDirectory">your/chosen/directory/goes/here</Set>
          <Set name="idleSavePeriod">300</Set>
        </New>
      </Arg>
    </New>
  </Set>
  .
  .
  .
</Configure>
...