ちょっと前の話になるけど、EJBを作る際の例外の扱い方について確認していいですか?

・EnterpriseBeanからRuntimeException/RemoteExceptionおよびそれを継承した例外をスローしてはならない。
・EJBExceptionはEJBコンテナによってRemoteExceptionに置き換えられる。
・基本はEJBExceptionをスローすることだが、EJBExceptionだけでは自由度が高くない為、Exceptionを継承したカスタム例外クラスを作るとよい。その場合、カスタム例外クラスはRemoteExceptionから派生してはならない。

以上を受けて…

・Homeインターフェイスについては、CreateExceptionとRemoteExceptionをスローする。
・Remoteインターフェイスについては、RemoteExceptionまたはカスタム例外をスローする。
・EnterpriseBeanについては、EJBExceptionまたはカスタム例外をスローする。
・但しコンテナがコールバックするメソッド(ejbXXXX)はRemoteExceptionをスローする。(ejbCreateのみCreateExceptionとEJBExceptionをスローする)
・EnterpriseBeanからカスタム例外をスローする場合(つまりEJBExceptionをスローしない場合)は、rollback処理を自己責任で実装する。(EJBContext#setRollbackOnlyを呼ぶ等)

こんな認識で合ってます?