2.3.4 入出力プラグインのインスタンスのライフサイクル
プラグインのインスタンスのライフサイクルについて説明します。
(1) 入出力プラグインのインスタンスの生成および保持
同一プラグインIDの入出力プラグインのインスタンスは,一つの画面につき一つずつ保持されます。各インスタンスは,画面IDをキーにしてHTTPセッションに保持されます。入出力プラグインのインスタンスについて,次の図に示します。
|
|
入出力プラグインを実行するときに,HTTPセッションから画面IDとプラグインIDをキーにして,実行する入出力プラグインのインスタンスを取得します。HTTPセッションからインスタンスを取得できない場合は,新たなインスタンスを生成してHTTPセッションに追加します。このとき生成するのは実行するインスタンスだけです。例えば,次の図のように分岐ノードがある業務コンテンツを実行する際,ノード1→ノード2→ノード4の順で遷移した場合は,プラグインA,プラグインB,プラグインDだけ実行されて,プラグインCは実行されません。したがって,この遷移で業務コンテンツを実行したときは,プラグインCのインスタンスは生成しません。
|
|
(2) 入出力プラグインのインスタンスの破棄
入出力プラグインのインスタンスが破棄されるタイミングを次の表に示します。破棄するタイミングは業務実行画面,および業務実行画面(プレビュー)のどちらで操作した場合も同じです。
|
項番 |
タイミング |
破棄されるプラグインのインスタンス |
|---|---|---|
|
1 |
業務実行画面,または業務実行画面(プレビュー)で業務コンテンツを表示したとき※1 |
操作を実行したときのHTTPセッションが,操作した画面の画面IDをキーにして保持しているインスタンス |
|
2 |
[編集画面表示]メニューをクリックしたとき |
|
|
3 |
[閉じる]ボタンをクリックしたとき※2 |
|
|
4 |
[完了]ボタンをクリックしたとき※3 |
|
|
5 |
[ログアウト]ボタンをクリックしたとき |
破棄するHTTPセッションが保持している,すべてのインスタンス |
|
6 |
セッションがタイムアウトしたとき |
- 注※1
-
メニュー領域から業務コンテンツを選択した場合にインスタンスが破棄されます。基本URLにパラメタを指定して特定の業務コンテンツを開いた場合は,インスタンスは破棄されません。
- 注※2
-
ユーザプロパティファイル(ucnp_user.properties)のucnp.base.server.close.button.settingプロパティに「logout_close」が指定されている場合に[閉じる]ボタンをクリックしたときは,項番5の[ログアウト]ボタンをクリックしたときと同じインスタンスを破棄します。プロパティの詳細はマニュアル「ナビゲーション プラットフォーム 導入から運用まで」のucnp.base.server.close.button.settingプロパティ(ヘッダ領域の[閉じる]ボタンの表示有無)についての説明を参照してください。
- 注※3
-
ユーザプロパティファイル(ucnp_user.properties)のucnp.base.client.complete.button.window.closeプロパティに「true」が指定されている場合だけインスタンスを破棄します。プロパティの詳細はマニュアル「ナビゲーション プラットフォーム 導入から運用まで」のucnp.base.client.complete.button.window.closeプロパティ(業務実行画面で[完了]ボタンをクリックしたときのWebブラウザ動作)についての説明を参照してください。