アクセス・インテントの例外
以下に示すのは、アクセス・インテント・ポリシーを使用するアプリケーションへの応答で発生する例外です。
- com.ibm.ws.ejbpersistence.utilpm.OptimisticUpdateFailedException
- ロード要求から保管要求までの間に別のトランザクションでフィールドの変更があったために、 Optimistic Concurrency の下で更新に失敗した場合は、OptimisticUpdateFailedException が発生し、 そのコミットは失敗します。
- com.ibm.ws.ejbpersistence.utilpm.PersistenceManagerException
- ejbLoad() メソッドを駆動するメソッドが
読み取り専用として構成されているにもかかわらず、
Bean の状態をロードしたトランザクション内で更新が行われる場合は、
ejbStore() メソッドの起動中に例外がスローされ、
トランザクションはロールバックされます。ejbRemove() メソッドも同様に、
読み取り専用として設定されているトランザクションでは正常に処理できません。
更新ヒントが Bean 管理パーシスタンスを持つエンティティー Bean のメソッドに適用されると、
同じ振る舞いが行われて例外がスローされます。
転送例外オブジェクトには、メッセージ・ストリング「PMGR1103E:
update instance level read only bean beanName」が含まれています。
ファインダー ejbSelect またはコンテナー管理関係 (CMR) accessor メソッドが本質的に読み取り専用の結果を戻すため、 適用されたアクセス・インテント・ポリシーを順守することができない場合は、この例外がスローされます。 転送例外オブジェクトには、メッセージ・ストリング「PMGR1001: そのような DataAccessSpec はありません。- methodName」が含まれています。
このエラーが最も頻繁に発生するのは、読み取り専用の EJB Query Language (EJB QL) ステートメントを含むカスタム・ファインダーが、wsPessimisticUpdate または wsPessimisticUpdate-Exclusive という適用済みのアクセス・インテントを使用して呼び出された場合です。 これらのポリシーでは、実行される SQL SELECT ステートメントで USE AND KEEP UPDATE LOCKS 文節を使用する必要がありますが、読み取り専用の照会では、USE AND KEEP UPDATE LOCKS はサポートされません。その他の読み取り専用の照会の例として、 結合、つまり ORDER BY、GROUP BY、および DISTINCT のキーワードの使用などを挙げることができます。
この例外を除去するには、EJB 照会を編集して、 本質的に読み取り専用の結果を戻さないようにするか、または 適用されているアクセス・インテント・ポリシーを変更します。- 更新アクセスが必要な場合は、 wsPessimisticUpdate-WeakestLockAtLoad または wsOptimisticUpdate に適用されているアクセス・インテントの設定を変更します。
- 更新アクセスが本当に必要ではない場合は、wsPessimisticRead または wsOptimisticRead を使用します。
- エンティティー Bean 間で共有される接続が必要な場合は、wsPessimisticUpdate-WeakestLockAtLoad または wsPessimisticRead を使用します。
- com.ibm.websphere.ejb.container.CollectionCannotBeFurtherAccessed
- 遅延コレクションが、有効範囲からなくなり、 ローカルのバッファーに既に入っている内容では間に合わなくなってから駆動された場合は、 CollectionCannotBeFurtherAccessed 例外がスローされます。
- com.ibm.ws.exception.RuntimeWarning
- アプリケーションが正しく構成されていないと、
アプリケーションの始動時に、
ランタイム警告例外がスローされ、開始処理は終了します。
検査機能を選択して、アプリケーションの構成の妥当性を検査することができます。
誤った構成の例としては、以下のようなものがあります。
- 2 つの異なるアクセス・インテント・ポリシーで構成されたメソッド
- 未定義のアクセス・インテント・ポリシーで構成されたメソッド