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