mobyletSession.xmlについて(ver 1.0.4以降)

mobyletを利用してセッションを使う場合、mobyletSessionを利用することが出来ます。
mobyletSessionはUID/GUIDベースで管理可能なmobylet独自のセッション機構です。
また、デフォルトで冗長構成に対応しています。

<制限事項>
Seasar2連携時、HotDeploy環境下ではClassCastExceptionが発生する可能性があります。
(セッションオブジェクトがコンテナ管理外のクラスであれば問題無し)
この現象は将来のバージョンで対応予定です。

mobyletSession.xmlを配置する

mobyletSession.xmlを配置する

「mobyletSession.xml」は、Webアプリケーション単位に用意されなかった場合
mobylet-core-xxx.jarに含まれているmobyletSession.xmlを読み込むことで初期化を行いますが
Webアプリケーション単位にファイルが用意されている場合は、そちらを優先して読み込みます。

「mobyletSession.xml」を配置するディレクトリは「mobylet.xml」と同じディレクトリになります。
※「mobylet.xml」を配置するディレクトリについてはこちら

mobyletSession.xmlの初期設定

初期設定

mobyletSession.xmlはデフォルトで以下のように定義されています。

<?xml version="1.0" encoding="UTF-8"?>
<mobyletSession>
    <key>GUID</key>
    <timeout>30</timeout>
    <adapter>org.mobylet.core.session.impl.MobyletMultiSessionAdapter</adapter>
    <distribution>
        <protocol>http</protocol>
        <path>${contextPath}/mobyletSession</path>
        <parameters>
            <sessionKey>s</sessionKey>
            <objectData>o</objectData>
            <invokeType>i</invokeType>
        </parameters>
        <receiveHosts>
            <host name="host1">127.0.0.1:8080</host>
        </receiveHosts>
        <allowIps>
            <ip>127.0.0.1</ip>
        </allowIps>
    </distribution>
</mobyletSession>

要素 key

セッションを管理するためのキーとなるID情報。
「UID」若しくは「GUID」を指定出来ます。

要素 timeout

セッションを保持する時間(単位:分)
該当するIDで最後にタッチしてからこの時間を経過した場合、そのIDのセッション情報は破棄される。
※メモリ上からセッション情報が消失するタイミングとは異なる

要素 adapter

セッション情報へ接続するためのアダプタクラス
mobylet-coreには以下の2つのクラスが用意されている。

  • org.mobylet.core.session.impl.MobyletSingleSessionAdapter(WEBAPPサーバ冗長構成非対応)
  • org.mobylet.core.session.impl.MobyletMultiSessionAdapter(WEBAPPサーバ冗長構成対応)

※Google App Engineをご利用になる場合は「MobyletSingleSessionAdapter」を指定してください

要素 distribution

サーバ冗長構成時に各サーバにセッション情報を振り分けるための設定を行う。

要素 distribution/protocol

各サーバ間でセッション情報を通信する際のプロトコル
「http」若しくは「https」が利用可能。
※セッション情報がインターネット網を流れる場合は「https」の選択がオススメ

要素 distribution/path

セッション情報をやり取りするための専用URI
実際のアプリでは利用しないURIを指定し、このURLをセッション情報通信用URIとして利用させる。

要素 distribution/parameters

セッション情報を受け渡すパラメータキー
※特に変更する必要は無し

要素 distribution/receiveHosts

セッションを保持するアプリケーションを指定する
「host」タグは複数記述することが可能で、name属性はログ出力用のホスト名を記載し、
値に「ホスト名(IPアドレス):ポート番号」を指定する。
通常は冗長構成を取る全サーバを指定する(1台構成の場合でも使用可能)。

要素 distribution/allowIps

セッション情報を通信可能なIPを指定する
ここで指定したIPアドレス以外はセッション情報を通信することができません。
通常は冗長構成を取る全サーバを指定する(サブネットマスクを利用したIPアドレス帯域の指定も可能)

非冗長構成の場合

MobyletSingleSessionAdapterの設定

非冗長構成時は通信を伴わない、一般的なセッション管理を行うことも可能です。
この場合は次のような「mobyletSession.xml」を「mobylet.xml」と同じディレクトリに配置します。

<?xml version="1.0" encoding="UTF-8"?>
<mobyletSession>
    <key>GUID</key>
    <timeout>30</timeout>
    <adapter>org.mobylet.core.session.impl.MobyletSingleSessionAdapter</adapter>
</mobyletSession>
ページのTOPへ戻る