6. 配備チューニング

この章では主に配備処理を高速化する方法について解説します。 アプリケーションの開発時には、配備/配備解除が頻繁に繰り返されるため、配備処理の高速化を意識することで開発効率が向上します。

6.1. EJBのメソッド識別情報の割り当て抑止 STD

TPモニタでは、オペレーション毎にトランザクション等の実行時情報を管理する機能を備えています。 あるモジュールが配備されると、TPモニタでは個々のオペレーションを識別するために番号を付与して、内部管理テーブルと状態情報との関連付けを行います。 EJBモジュールの場合には、オペレーションがリモートインタフェースのメソッドに該当します。

メソッド識別情報の割り当て範囲を限定することにより、配備処理中に行われる識別情報の生成数を削減し、配備処理にかかる時間の短縮およびメモリ消費量の削減が可能です。

6.1.1. オプション

割り当て方法は以下の中から選択できます。

メソッド名 ステートレスSession Bean ステートフルSession Bean Entity Bean メッセージドリブンBean
リモートインタフェース
getEJBHome() × × × -
getPrimaryKey() × × × -
getHandle() × × × -
isIdentical(javax.ejb.EJBObject) × × × -
remove() × -
ホームインタフェース
getEJBMetaData() × × × -
getHomeHandle() × × × -
remove(java.lang.Object) × × -
remove(javax.ejb.Handle) × -
[EJB生成メソッド](例:create()メソッド) × -
[ファインダメソッド](例:findByPrimaryKey(String)メソッド) - - -
凡例
割り当てます
× 割り当てません
- 存在しません

(注:メッセージドリブンBeanのonMessage()メソッド、タイマーBeanのejbTimeout()メソッドについてはリモートメソッドではありませんが、どのオプションでも割り当てられます。)

識別情報を割り当てなかったメソッドに対しては以下の機能が使用できなくなります。

しかしながら、割り当てるメソッド数を減らすことにより、モジュールの配備時間が向上し、消費メモリ量が削減されます。

注意:「割り当てない」オプションを使用すると障害発生時の原因解析が困難になる場合があります。頻繁に配備/配備解除を繰り返す開発時には有用ですが、本番環境では「ビジネスメソッドのみ割り当てる」もしくは「全てのリモートメソッドに対して割り当てる」を使用することを強く推奨します。

6.1.2. 指定方法

これらのオプションの指定は、EJBモジュールを配備操作する時に行います。以下では、配備操作を支援する機能毎に説明します。

統合運用管理ツール・運用管理コンソール

コンポーネント配備ダイアログの「EJBメソッド識別情報の割り当て方法」で設定します。

運用管理コマンド

deploy サブコマンドに「--methodid」オプションを指定します。

--methodid all 全てのリモートメソッドに対して割り当てる
--methodid limit ビジネスメソッドのみ割り当てる (既定値)
--methodid none 割り当てない
オートデプロイ (自動配備)

ドメインのautodeployディレクトリ下のautodeploy.propertiesファイルで以下の指定をします。

methodid=all 全てのリモートメソッドに対して割り当てる
methodid=limit ビジネスメソッドのみ割り当てる (既定値)
methodid=none 割り当てない