0

WebSphereサーバーにデプロイされているEJBにアクセスするためにWebsphere7用のJavaEEアプリケーションクライアントを作成しようとしていますが、JNDIを使用してEJBを解決できないようです('Name comp / env/ejbが見つかりませんコンテキスト「java:」'。

プロジェクトをRBD7.5で「アプリケーション・クライアント・プロジェクト」として作成し、「WebSphere Application Serverv.7.0アプリケーション・クライアント」を使用して実行しています。

初期コンテキストの作成時にプロバイダーURLを指定し、実行構成で情報を提供することの両方を(同時にではなく)試しましたが、違いはありませんでした。

私はおそらく非常に単純なものが欠けています。

ちなみに、launchclientはWebsShereサーバーで実行する必要がありますか、それとも別のサーバーに再コピーできますか?

4

2 に答える 2

0

わかりました、どこかに到達しているようです!

サイドバー:ドキュメントは標準以下であり、チュートリアルは通常、以前にそれを行ったことがある人を対象としているため、これはおそらくアプリケーションサーバーのセットアップで最も苛立たしい部分です。私はJBossの人であり、WebSphereの知識が豊富な人が、おそらく頭のてっぺんから答えを知っているので、助けてくれることを願っています

これが私のマルチEEコンテキストルックアップの例です:

@SuppressWarnings("unchecked")
public static <T> T getObjectFromContext(Class<T> clazz, Namespace namespace)
{
    // java:app/ProductionEJB/OptionsDao!com.danielbchapman.production.beans.SomeDaoRemote
    String lookup;
    if(JEE6)
        lookup = "java:global/" + namespace.toEnterpriseSix() + "/"
                + clazz.getSimpleName().replaceAll("Remote", "") + "!" + clazz.getName();
    else
        lookup = "ProductionEE5/" + clazz.getSimpleName().replaceAll("Remote", "") + "/remote";

    T ret = (T) getObjectFromContext(lookup);
    return ret;
}

コンテキスト文字列(JBoss7 / EE6)は次のとおりです。

java:/global/#{JAR_NAME}/#{IMPLEMENTATION_CLASS}!#{REMOTE_INTERFACE}

私のEE5ルックアップ(JBoss 5.1GA)の場合:

#{EAR_NAME}/#{IMPLEMENTATION_CLASS}

これを簡単にするために必要なことは、管理ツールにジャンプしてデプロイメントを確認することです。コンテキストがわかりますが、一般的に言えば、実装ごとに少し異なる傾向があります。基準があり、私が知る限り、誰もがそれについて自分の意見を持っています。(私の「名前空間」クラスは無視してください。基本的には、それがそうであるかどうかにかかわらず、より多くの情報がありjava:appますjava:global

あなたの情報をもっと投稿してください。私はあなたを正しい方向に推し進めようとします。また、そのチュートリアルを探してください。些細なことだと思います。

于 2012-11-09T22:29:56.030 に答える
0

このレッドブックを読んだことがありますか?それを行う方法の端から端までを示します。 http://www.redbooks.ibm.com/redpapers/pdfs/redp4885.pdf

于 2012-11-15T01:55:28.563 に答える