Google App Engine/Java (以下 GAE/J) でセッションを有効にすると、Datastore上に_ah_SESSIONがどんどん増え続けます。
削除用サーブレットが用意されているので、Cronで実行すれば良い。
WEB-INF/web.xml
<servlet> <servlet-name>_ah_sessioncleanup</servlet-name> <servlet-class>com.google.apphosting.utils.servlet.SessionCleanupServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>_ah_sessioncleanup</servlet-name> <url-pattern>/_ah/sessioncleanup</url-pattern> </servlet-mapping> <security-constraint> <web-resource-collection> <web-resource-name>session-cleanup</web-resource-name> <url-pattern>/_ah/sessioncleanup</url-pattern> </web-resource-collection> <auth-constraint> <role-name>admin</role-name> </auth-constraint> </security-constraint>
WEB-INF/cron.xml
<?xml version="1.0" encoding="UTF-8"?> <cronentries> <cron> <url>/_ah/sessioncleanup?clear</url> <description>Clean up sessions</description> <schedule>every 12 hours</schedule> </cron> </cronentries>
■参考サイト
GAE/J でセッションを有効にすると_ah_SESSIONがどんどん膨れ上がる件 – TsutomuUchimaの日記
Provide a servlet for session cleanup – Google App Engine for Java | Google グループ