6.5. オフラインセッションの事前読み込み
オフラインセッションは、Infinispan キャッシュに加えてデータベースにも保存されます。そのため、サーバーの再起動後もオフラインセッションを使用できます。デフォルトでは、オフラインセッションは、サーバーの起動時にデータベースから Infinispan キャッシュにプリロードされません。これは、プリロードするオフラインセッションが多数ある場合、この方法には欠点があるためです。サーバーの起動時間が大幅に遅くなることがあります。したがって、オフラインセッションはデフォルトでデータベースから遅延フェッチされます。
ただし、Red Hat Single Sign-On は、サーバーの起動時にデータベースから RHDG キャッシュにオフラインセッションを事前にロードするように設定できます。これは、userSessions SPI の preloadOfflineSessionsFromDatabase プロパティーを true に設定すると実現できます。
以下の例は、オフラインセッションを事前ロードする設定方法を示しています。
<subsystem xmlns="urn:jboss:domain:keycloak-server:1.2">
...
<spi name="userSessions">
<default-provider>infinispan</default-provider>
<provider name="infinispan" enabled="true">
<properties>
<property name="preloadOfflineSessionsFromDatabase" value="true"/>
</properties>
</provider>
</spi>
...
</subsystem>
CLI コマンドを使用した同等の設定:
/subsystem=keycloak-server/spi=userSessions:add(default-provider=infinispan)
/subsystem=keycloak-server/spi=userSessions/provider=infinispan:add(properties={preloadOfflineSessionsFromDatabase => "true"},enabled=true)