2.16.4 開発時の注意事項
No-Interface viewを使用するSession Beanを開発する際の注意事項を次に示します。
-
ローカルビジネスインタフェースを省略したSession Beanのメソッドには,java.rmi.RemoteExceptionを含めないでください。
ただし,javax.ejbパッケージ内のインタフェースを実装したメソッドの場合は,throws節にjava.rmi.RemoteExceptionが含まれていても,エラーにはなりません。
-
javax.ejbパッケージ内のインタフェースを実装したSession Beanのメソッドは,ビジネスメソッドとしてみなされません。No-Interface viewを使用する場合は,クライアントからこれらのメソッドを呼び出さないでください。
-
Beanクラスやその親クラスのすべてのメソッドでfinalは宣言できません。finalを宣言したメソッドは,No-Interface viewでは呼び出せません。
-
Session Beanのメソッドにstaticまたはfinalが宣言されている場合,これらのメソッドはビジネスメソッドとは見なされません。No-Interface viewを使用する場合,クライアントからこれらのメソッドは呼び出さないでください。
-
通常のビジネスインタフェースでは,@AroundInvokeアノテーションを使用すると,ビジネスメソッドの実行がデプロイメントエラーになります。しかし,No-Interface viewを使用する場合は,@AroundInvokeアノテーションをpublicメソッドで使用すると,エラーにはなりません。ビジネスメソッドとして扱われます。
-
標準仕様では,@Removeアノテーションはビジネスメソッドで使用されます。しかし@PreDestroyアノテーションがあわせて設定されているビジネスメソッドで@Removeアノテーションを指定すると,クライアントからメソッドを呼び出したときにjavax.ejb.NoSuchObjectLocalExceptionがスローされます。