8.2.1 ポートレットイベント制御
ポートレットイベント制御はすべてのポートレットイベントを制御します。
ポートレットイベント機能は仕様に従ってイベントを制御するため,ポートレット開発者はこの制御を踏まえてイベントの発生を考慮し,処理を記述してください。
ポートレットイベントの仕様を次に示します。
- 次の優先順位で各ポートレットに対してイベントが処理されます。
優先順位 | イベント名称 |
---|
1 | ポートレットアクションイベント |
2 | ポートレット間通信イベント |
- 各イベント単位に,イベントがキューイングされます。
- イベントはポートレットに関係なくイベント発生順にキューイングされ,順番に実行されます(優先キューといわれる,イベントを優先的に実行できる機能はありません)。
ただし,ポートレット並列化機能を使用しているときは,ポートレット単位に並列して実行されます。
例えば,ポートレット通信イベントのキューにポートレットA,B,C,Aの順に4個キューングされているとします。この場合,1番目のポートレットAの処理が完了すれば,ポートレットB,Cの処理が完了していなくても,4番目のポートレットAの処理が実行できます。
- 優先順位が高いイベントが一つでもある場合は,そのイベントが優先的に処理・実行されます。
- すべてのイベント処理はシングルスレッドで実行されます。したがって,異なるイベントが別のスレッドで並行して呼び出されたり,同一のイベントが並行して呼び出されたりすることはありません。
ただし,ポートレット並列化機能を使用するときはポートレット単位にイベントが実行できます。
- イベントは要求を受けるたびに無条件にキューイングされるため,同一のイベントが一つのポートレットで2回以上呼び出されることがあります。
- 注意事項
- ポートレットの実行順序は規定できないため,画面レイアウトやポートレットの処理速度を考慮してイベントの処理を実装してはなりません。
- uCosminexus Portal Frameworkに障害が発生した場合,必ずしもすべてのイベント処理が呼び出されるわけではありません。初期処理や終了処理が実行されないおそれがあることを考慮してください。