EJBと同じJVM内のクライアントからEJBにアクセスしている場合、リモートインターフェースは不要です。リモートインターフェースは、EJBがデプロイされているJVMの外部にあるEJBクライアントによって使用されます。したがって、特定のケースでは、必要なのは
@EJB
private MyServiceBean myService;
あなたのケースでリモートインターフェースインジェクションメカニズムを使用すると、同じ結果に到達するために不必要なラウンドトリップが発生します。
さまざまなEJB呼び出しモードのユースケースは次のとおりです。
@Remote
:リモートビジネスインターフェイスを示します。メソッドパラメータは値で渡され、RMIプロトコルの一部としてシリアル化可能である必要があります(Apressの最初のJava EE6プラットフォームから引用)
@Local
:ローカルビジネスインターフェイスを示します。メソッドパラメータは、参照によってクライアントからBeanに渡されます(Apressの最初のJava EE6プラットフォームから引用)
なし:これは、インターフェースが指定されていないプレーンインジェクションタイプです。EJBと同じJVM内では、これで問題ありません。設計の観点から(緩い結合原理)、@Local
注入法を使用することをお勧めします