パッケージをjava.ejb及びjavax.ejb配置に名前変更した。エンタプライズJavaBeansAPIは, 標準拡張としてパッケージされ,標準拡張の接頭はjavax.でなければならない。同様に, java.jtsもjavax.jtsに名前変更した。
コンテナが確実に複数のEJBクラスをサポート可能にした。javax.ejb.Containerは, javax.ejb.EJBHomeに改名された。EJBクラスのライフサイクル操作を記述するインタフェースは, クライアントが目にするため,それに対して“Container”を使用するのは混乱を招くと指摘するレビューワもいる。
ファクトリ及びファインダメソッドをエンタプライズビーンのhome interfaceの一部とした。これによって,EJBクラスごとのJavaクラスの数,及びクライアントとEJBオブジェクトを生成又は発見するように要求されるコンテナとの間を往復する数は, 減少する。それと同時にクライアントビューAPIを単純にする。
セションビーンのPINNEDモードを除外した。このモードは“危険”であると考えるレビューワが多い。PINNEDモードがコンテナに記憶資源を効率よく管理させないのがその理由である。
無状態セションビーンのライフサイクルを明らかにした。
例外処理規定に関する章を付加した。
部品とコンテナとの間の契約をcomponent contractに名前変更した。それ以前に使用されていたcontainer contractという語では混乱するレビューワがいたためである。
ファインダメソッドの記述を付加した。
メソッドejbCreateを消滅させて,実体生成プロトコルをejbCreate及びejbPostCreateの二つに変更した。これによって,データベース及びその関連の中間層オブジェクトにおける実体生成に含まれる離散的なステップのより明瞭な分離が提供される。
実体部品プロトコルの記述に分類をより多く付加した。
エンタプライズビーンプロバイダ及びコンテナプロバイダの責任に関する情報をより多く付加した。
SessionSynchronization.beginTransaction()をSessionSynchronization.afterBegin()に名前変更し,UserTransaction.begin()と混乱しないようにした。
コンテナ管理実体ビーンズに対応する分離レベルの規定を付加した。
インタフェースjavax.ejb.EntityContextのjavadocにおいてバグを固定した。
非トランザクションのセションビーンズ及びトランザクションのセションビーンズに関する状態図を, 合わせて一つの図にした。
セションビーンでトランザクション適用範囲を使用する場合の制限の定義を付加した(セションビーンはその場合単一のトランザクションだけに存在できる。)。
エンタプライズビーンのクラスがエンタプライズビーンの遠隔インタフェースを実装可能にした。この変更は, レビューワが要求したものであり,現存のJava CodeをエンタプライズJavaBeansへ移行するのが容易になる。
javax.ejb.EJBExceptionを規定から除外した。代わりに,標準java.rmi.RemoteExceptionによる使用を規定に入れた。この変更の前に,エンタプライズビーンクラスが遠隔インタフェースを実装できるように変更されたため,この変更が必要となった。
例外処理に関する規則をいくつか変更した。
インタフェースjavax.jts.CurrentTransactionをjavax.jts.UserTransactionに名前変更し,インタフェースorg.omg.CosTransactions.Currentと混同しないようにした。インタフェースjavax.jts.UserTransactionは, アプリケーションレベルで使用しても“安全な”操作のサブセットを定義し,現存のプラットフォームにより使用されるトランザクション管理者のほとんどがインタフェースjavax.jts.UserTransactionをサポートできる。
TX_BEAN_MANAGEDトランザクションに関する規定を付加した。
セションビーンズ及びビーン管理永続性をもつ実体にも適用可能な配置記述子で分離レベルを提供可能にした。
メソッドdestroy()をメソッドremove()に名前変更した。この変更を要求したレビューワが何人かおり,実装における名前空間の衝突の可能性を指摘している。
生成引数をメソッドejbPostCreateに付加した。これによって,メソッドejbPostCreateで生成引数を必要とする実体ビーンのプログラミングが単純になる。(事前に,ビーンはメソッドejbCreateでこれらの引数を保管しなければならない。)
メソッドごとの配置引数の使用における制限を付加した。
javax.ejb.EJBMetaDataを例に付加し,このインタフェースをコンテナツール対応の要求として実装するクラスの生成を付加した。
メソッドgetRollbackOnlyをインタフェースjavax.ejb.EJBContextに付加した。このメソッドにより,インスタンスは現トランザクションがロールバックに関してマークされているかどうかをテストできる。テストを実施することにより,エンタプライズビーンは, 例外をとらえた後に無益な計算をしないですむ。
例に関するプレースホルダ附属書を除外した。代わりに,この規定でではなくエンタプライズJavaBeansウェブサイト上で例を提供する。
コンテナ管理永続性を有する実体ビーンズのメソッドejbFind<METHOD>についてビーンプロバイダの責任を明らかにした。
12.3.4に例外処理及びトランザクション管理に関する規則を二つ付加した。新しい規則はTX_BEAN_MANAGEDビーンズに関するものである。
メソッドjavax.rmi.PortableRemoteObject.narrow()を使用して,規定で使用されたコードサンプルでのJNDIルックアップ後の狭める操作を実施する。メソッドlookup()からホームインタフェースに対応するまさにそのスタブを返し,クライアントアプリケーションがJavaキャストを使用可能にするJNDIプロバイダもいれば,ホームインタフェース型に明示的に狭める操作を要求するより広範な型を返すプロバイダもいる。メソッドjavax.rmi.PortableRemoteObject.narrow()は,明示的に狭める操作を実施することを目的としたJavaRMIの標準的方法とする。
配置記述子メソッド名を幾つか変更した。