JBoss 6.0 AS の localhost にアプリケーションをデプロイしています。このアプリケーションには、ExampleEJB と呼ばれる 1 つのリモート EJB Bean があります。今、私は ExampleEJB を使用する単純なクライアント アプリケーションをコーディングしようとしています。このクライアント アプリケーションは、どのアプリケーション サーバーにもデプロイされません。アイデアは、単純な Java SE クライアント プログラムをコーディングすることです。ルックアップを実行しようとして、次のように記述しました。
Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
env.put(Context.PROVIDER_URL,"localhost:1099");
env.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
InitialContext ic = new InitialContext(env);
この時点で、私は 2 つのアプローチを試しました。最初のアプローチは、Java EE 6 チュートリアル ( http://docs.oracle.com/javaee/6/tutorial/doc/gipjf.html )で例示されているような直接ルックアップを実行することでした。
ExampleEJB exampleEJB = (ExampleEJB) ic.lookup("java:global/myApp/ExampleEJB");
2 番目の試みは、JNDI コンテキスト環境を取得してから、この環境から目的の Bean を取得することでした。
Context envContext = (Context)ic.lookup("java:/comp/env");
envContext.lookup(...)
問題は、「javax.naming.NameNotFoundException: global not bound」および「javax.naming.NameNotFoundException: comp not bound」という例外をそれぞれ受け取ることです。希望どおりにルックアップを実行できません。
誰かが手がかりを持っていますか?