2.16.1 No-Interface viewの概要
Session Beanは,次の3種類のクライアントからアクセスされます。
-
リモートクライアント
リモートビジネスインタフェース(またはリモートホームインタフェース)を使用してビジネスメソッドを呼び出すクライアントです。Session Beanのリモートクライアントビュー(remote client view)で提供されたメソッドを呼び出します。
-
ローカルクライアント
ローカルインタフェースを使用してビジネスメソッドを呼び出すクライアントです。Session Beanのローカルクライアントビュー(local client view)で提供されたメソッドを呼び出します。
-
Webサービスクライアント
Webサービスを使用してビジネスメソッドを呼び出すクライアントです。Session BeanのWebサービスクライアントビュー(WebService client view)で提供されたメソッドを呼び出します。
No-Interface viewは,ローカルクライアントビューの一つです。EJB 3.1以降で使用できます。
No-Interface viewを使用することで,ローカルビジネスインタフェースの定義が不要になります。アプリケーションでリモートクライアントビュー,ローカルクライアントビューまたはWebサービスクライアントビューのどれも実装していない場合,EJBコンテナによってNo-Interface viewが作成されます。また,アプリケーションでどれかのビューが実装されている場合も,明示的に@LocalBeanアノテーションを指定することで,No-Interface viewが使用できるようになります。Session BeanでNo-Interface viewを使用するための特別なインタフェースを実装する必要はありません。
No-Interface viewを使用すると,Session Beanのすべてのpublicメソッドがクライアントから使用できるようになります。クライアントからNo-Interface viewへの参照は,DIまたはJNDIのルックアップで取得できます。
No-Interface viewは,アプリケーション開始時に作成され,アプリケーションが停止するまで使用できます。
- 注意事項
-
クライアントからNo-Interface viewで公開されたメソッドを呼び出す場合,public以外のアクセス修飾子を指定したメソッドは呼び出せません。public以外のアクセス修飾子を指定したメソッドを呼び出した場合は,javax.ejb.EJBExceptionが発生します。