web-dev-qa-db-ja.com

アプリケーションクライアントからリモートEJBモジュールを接続する方法

リモートのGlassfishサーバーにEJBモジュールがあり、コンピューターにアプリケーションクライアントがあります。アプリケーションクライアントからリモートEJBに接続したい。

これが私のEJBインターフェースです:

@Remote
public interface BookEJBRemote
{
    public String getTitle();
}

これが私のejbです:

@Stateless
public class BookEJB implements BookEJBRemote
{

    @Override
    public String getTitle()
    {
        return "Twenty Thousand Leagues Under the Sea";
    }
}

いくつか質問があります:

  1. リモートアプリケーションクライアントで依存性注入を使用してejbに接続できますか?もしそうなら、私はこれを達成するために何ができますか。 Sun-ejb-jar.xmlおよびSun-application-client.xmlで構成する必要がありますか?つまり、@ EJBBookEJBRemoteブックのように依存性注入を使用する場合。アプリケーションクライアントコンテナは、注入するejbをどのように認識しますか?どこに情報を指定すればよいですか?
  2. アプリケーションクライアントを実行するにはどうすればよいですか? Glassfishサーバーでpackage-appclientを実行して、appclient.jarを取得し、コンピューターにコピーしようとしました。次に、appclient.jar -clientmyAppClient.jarと入力します。それはうまくいきませんでした。ターゲットサーバーをポイントするにはどうすればよいですか?
  3. クライアントで依存性注入を使用できない場合は、JNDIルックアップを使用する必要があると思います。 Sun-ejb-jar.xmlまたはSun-application-client.xmlでjndi名を構成する必要がありますか?

どのように試しても、アプリケーションクライアントを実行することはできませんか?実例を挙げていただけますか?そして、すべてのアドバイスと例に感謝しますか?

14
Zeck

これを確認してください チュートリアル作成Javaスタンドアロンクライアント 。基本的には、次のことを行う必要があります。

  • クライアントはコンテナ環境を使用できないため、JNDIを自分でセットアップします。
  • リモートインターフェイスを検索します。
  • そしてもちろん、クラスパスに必要なjarファイルを含めます
3
stacker