非同期並行処理として実行する処理の中では,Java EEの機能を使用できます。Java EEの機能を使用できるTimerManagerおよびWorkManagerのAPIを次に示します。
それぞれのAPIの詳細については,Timer and Work Manager for Application ServersのAPI仕様を参照してください。
TimerManagerおよびWorkManagerで使用できるJava EE機能を次の表に示します。
表10-2 TimerManagerおよびWorkManagerで使用できるJava EEの機能
機能名 | 使用可否 | 参照先 |
---|---|---|
Enterprise Beanの呼び出し | × | - |
ネーミングサービス | ○※ | (1) |
トランザクションサービスとリソース接続 | ○※ | (2) |
ログとトレースの出力 | ○ | (3) |
コンテナ拡張ライブラリの利用 | ○ | (4) |
メソッドキャンセル | × | - |
次に,TimerManagerおよびWorkManagerで使用できる機能を詳細に分類して説明します。また,それぞれの機能を使用する場合の注意事項についても説明します。
ネーミングサービスとして提供する機能がTimerManagerおよびWorkManagerで使用できるかどうかを次の表に示します。
表10-3 ネーミングサービスの機能の使用可否
機能名 | 使用可否 |
---|---|
JNDIを使用したDB Connectorのルックアップ | ○ |
JNDIを使用したJava Mailのルックアップ | × |
JNDIを使用したJavaBeansリソースのルックアップ | × |
JNDIを使用したEntityManagerのルックアップ | × |
JNDIを使用したEntityManagerFactoryのルックアップ | × |
JNDIを使用したTimerManagerのルックアップ | ×※1 |
JNDIを使用したWorkManagerのルックアップ | ×※1 |
JNDIを使用したユーザトランザクションのルックアップ | ○※2 |
注※1 TimerManagerやWorkManagerのスケジュールの延長で,さらにTimerManagerやWorkManagerを呼び出すことはできません。
注※2 スケジュール元が,CMTでトランザクションを管理するEJBの場合は,java:comp/UserTransactionでルックアップできません。必ずHITACHI_EJB/SERVERS/<J2EEサーバ名>/SERVICES/UserTransactionを使用してルックアップしてください。
リソースアダプタには,DB Connectorだけを使用できます。TimerManagerおよびWorkManagerで使用できるDB Connectorを次の表に示します。
表10-4 DB Connectorの使用可否
DB Connector名 | 使用可否 |
---|---|
DBConnector_HiRDB_Type4_CP.rar | ○ |
DBConnector_HiRDB_Type4_XA.rar | ○ |
DBConnector_Oracle_CP.rar | ○ |
DBConnector_Oracle_XA.rar | ○ |
DBConnector_HiRDB_Type4_CP_Cosminexus_RM.rar | × |
DBConnector_HiRDB_Type4_XA_Cosminexus_RM.rar | × |
DBConnector_Oracle_CP_Cosminexus_RM.rar | × |
DBConnector_Oracle_XA_Cosminexus_RM.rar | × |
DBConnector_CP_ClusterPool_Root.rar | × |
DBConnector_Oracle_CP_ClusterPool_Member.rar | × |
DB Connectorを使用する場合,トランザクションサポートレベルには,NoTransaction,LocalTransaction,またはXATransactionを指定してください。DB Connectorのコネクションを取得するには,DB Connectorの別名を設定する必要があります。JNDIによるルックアップでは,設定した別名を使用して,DB Connectorのコネクションを取得してください。DB Connectorの別名を使用したコネクションの取得方法については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「2.6 Enterprise BeanまたはJ2EEリソースへの別名付与(ユーザ指定名前空間機能)」を参照してください。
リソース接続およびトランザクションサービスとして提供する機能がTimerManagerおよびWorkManagerで使用できるかどうかを次の表に示します。
表10-5 トランザクションサービスの機能の使用可否
機能名 | 使用可否 | |
---|---|---|
トランザクション (ユーザトランザクション) | ローカルトランザクション | ○ |
グローバルトランザクション | ○ | |
トランザクションの自動決着※1 | △ | |
トランザクションタイムアウト | ○ | |
コネクションプーリング | DB Connectorによるコネクションプーリング | ○ |
コネクションプールのウォーミングアップ | ○ | |
コネクション数調節 | ○ | |
コネクションシェアリング※2 | △ | |
コネクションアソシエーション | × | |
DB Connectorのステートメントプーリング | ○ | |
コネクションの障害検知 | ○ | |
コネクション枯渇時のコネクション取得待ち | ○ | |
コネクション取得リトライ | ○ | |
コネクション自動クローズ | × | |
コネクションスイーパ | ○ | |
障害調査用SQLの出力 | ○ |
注※1 ユーザトランザクションは,リスナの処理メソッドからリターンする前に決着する必要があります。トランザクションが決着していない場合,例外が発生しなくてもトランザクションはロールバックされて,メッセージ(KDJE43179-W)が出力されます。
注※2 シェアリングできるコネクションの範囲は,デフォルトで設定される「同一トランザクション」だけです。
ログとトレースを出力する機能がTimerManagerおよびWorkManagerで使用できるかどうかを次の表に示します。
表10-6 ログとトレースの機能の使用可否
機能名 | 使用可否 |
---|---|
ユーザログ | ○ |
性能解析トレース | ○ |
コンテナ拡張ライブラリの機能は,TimerManagerおよびWorkManagerを使用しない場合と同様に使用できます。