EclipseでEJB 3.1のいくつかのプラクティスを実行しています。分離されたWebプロジェクトからのEJBインタフェース参照
私は私がやろうとしていますどのようなEJBプロジェクトとWildfly 9
上の動的Webプロジェクトを持っているが(動的Webプロジェクトでの)サーブレットからEJBメソッド (EJBプロジェクト)を呼び出すことです
@EJB
IBeanRemote bean; //realize the bean variable is declared as the remote EJB Interfase.
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().println(bean.getMethod());
}
と私のEJBは非常に単純です:
@Remote
@Stateless
public interfase IBeanRemote {
public String getMethod();
}
...
public BeanRemote extends IBeanRemote
{
@Override
public String getMethod() {
return "How to call this ejb?";
}
}
両プロジェクトはバインあるサーブレットコードに@EJBアノテーションを使用して G EARプロジェクトにパッケージ化、私は することができません(IBeanRemoteとサーブレットが分離プロジェクトであるため)WebプロジェクトからIBeanRemote型リファレンスを参照して、そう、ライン
@EJB
IBeanRemote bean;
は、コンパイルすることができません。
WebプロジェクトのビルドパスにEJBプロジェクトを追加するのが一般的な解決策ですが、非常にリモートのサーバー上で実行されるリモートEJBを使用している場合は意味がありません。Webプロジェクトは何も知らないはずですEJB実装について
サーブレットクラス をeclipseでコンパイルして呼び出すために、WebプロジェクトにIRemoteBean参照型を取得するにはどうすればよいですか?
実際、私はEAR内でEJBプロジェクトを作成するときにこのオプションをチェックすることで、eclipseでejbクライアントjarを自動的に作成できることに気付きました。 ejbインタフェースのみがクライアントjarにエクスポートされます。まことにありがとうございます。 –