Java セッションの Maven 依存関係とデータ フィルターを追加する
このページでは、Maven の依存関係を追加し、単一サイトおよびマルチサイトのセッション プロバイダー用のフィルターを定義して Web セッションを構成する手順を説明します。 NCache.
Java セッションの Maven 依存関係の追加
ユーザーは次の Maven 依存関係を追加する必要があります。 pom.xml
ファイルの操作中に NCache Tomcat バージョン 10 以下のセッション キャッシュ モジュール。 それはすべてを追加します 。ジャー ファイルをプロジェクトに追加します。
<dependency>
<groupId>com.alachisoft.ncache</groupId>
<artifactId>ncache-javax-sessions</artifactId>
<version>x.x.x</version>
</dependency>
Tomcat バージョン 10 以降の場合、次の Maven を追加します。dependency
>で pom.xml
ファイルにソフトウェアを指定する必要があります。
<dependency>
<groupId>com.alachisoft.ncache</groupId>
<artifactId>ncache-sessions</artifactId>
<version>x.x.x</version>
</dependency>
Note
使用するには 達人 のパッケージ NCache Professional、 変更 <artifactId>
に示すように:
<artifactId>ncache-professional-sessions</artifactId>
.
Javaセッションのフィルタの定義
必要な Maven 依存関係をアプリケーションに追加した後、Web アプリケーションのデプロイメント記述子にフィルターを追加する必要があります。デプロイメント記述子は、という名前の XML ファイルです。 web.xml アプリケーションのルート ディレクトリの下の WEB-INF ディレクトリにあります。 正しいセッション キャッシュを確保するには、これをデプロイメント記述子の最初のフィルターとして適用します (フィルターはデプロイメント記述子で定義された順序で実行されるため)。 フィルター実装を含むクラス ファイルは次のとおりです。
com.alachisoft.ncache.web.sessionstate.NCacheSessionStoreProvider
フィルタを設定するには、最初にフィルタを定義する必要があります。filter > タグを使用してフィルターの URL マッピングを指定します。フィルタマッピング>タグ。 次のフィルター構成は、フィルターが Web アプリケーション内のすべての URL に適用されることを意味します。
<filter>
<filter-name>NCacheSessionProvider</filter-name>
<filter-class>com.alachisoft.ncache.web.session.NCacheSessionProvider</filter-class>
</filter>
<filter-mapping>
<filter-name>NCacheSessionProvider</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
あなたは NCache で指定された設定を持つセッションフィルター セッション.xml にあるファイル %NCHOME%/config
。 構成設定をロードするには、フィルター初期化パラメーターで configPath を指定する必要があります。
<init-param>
<param-name>configPath</param-name>
<param-value>%NCHOME%/config</param-value>
</init-param>
Note
configPath の値は、次のインストール ディレクトリである必要があります。 NCache.
以下は、フィルターを定義した後のデプロイメント記述子がどのようになるかを示す例です。
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<filter>
<filter-name>NCacheSessionProvider</filter-name>
<filter-class>com.alachisoft.ncache.web.session.NCacheSessionProvider</filter-class>
<init-param>
<param-name>configPath</param-name>
<param-value>%NCHOME%/config</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>NCacheSessionProvider</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
セッション モジュールは、単一リージョンまたはマルチリージョンとして構成できます。
単一サイトのセッション状態プロバイダー
単一リージョンのセッション状態プロバイダーの場合は、 セッション.xml 次のように:
<?xml version="1.0" encoding="UTF-8"?>
<servlet-session-config>
<cache id="demoCache"/>
<log log-props="log4j.properties"/>
<locking enable-session-locking="true" retries-count="2" retry-interval="500ms" lock-timeout="36000ms" empty-session-when-locked="false"/>
</servlet-session-config>
マルチサイトセッション状態プロバイダー
内の Web ファームごとに XNUMX つのプライマリ キャッシュと XNUMX つ以上のセカンダリ キャッシュを指定する必要があります。 セッション.xml ファイル。 XNUMX 次キャッシュはすべてのローカル トラフィックに使用され、すべての XNUMX 次キャッシュはユーザーが別のリージョンにリダイレクトされるときに使用されます。 内の各キャッシュに定義された sid-prefix セッション.xml ファイルがセッション ID に追加されます。 この sid プレフィックスは、セッションを保持しているキャッシュにクライアントを誘導するのに役立ちます。
マルチリージョン セッション モジュールの場合は、次の構成を指定します。 セッション.xml ファイル:
<servlet-session-config>
<log log-props="log4j.properties"/>
<locking enable-session-locking="true" retries-count="2" retry-interval="500ms" lock-timeout="36000ms" empty-session-when-locked="false"/>
<multi-site-cache>
<primary-cache id="LondonCache" sid-prefix="LDNC"/>
<secondary-cache id="TokyoCache" sid-prefix="TKYC"/>
<secondary-cache id="NewYorkCache" sid-prefix="NYKC"/>
</multi-site-cache>
</servlet-session-config>