- PR -

JBossを使用してローカルアプリ上でのlookup

1
投稿者投稿内容
せぶん
会議室デビュー日: 2005/06/20
投稿数: 5
投稿日時: 2005-06-20 18:57
現在JBossを使用して、UserTransactionや、dateSourceをlookupしています。
Servlet上からは"java:comp/UserTransaction"等で、正常にlookupで斬るのですが、
ローカルアプリで同様の処理でlookupするとjavax.naming.NameNotFoundExceptionが発生してしまいます。

以前、WebLogicで同じ処理を実行した場合正常に動作したのですが、
JbossはローカルアプリからJNDIサービスが見えなかったりするのでしょうか?

ご存知の方がおられましたらご教示お願いします。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-06-20 23:02
InitialContext 生成時に PROVIDER_URL が適切に設定されていないのではないでしょうか?
WebLogic でうまくいったのはサーバがデフォルトの localhost:7001 で起動していたか、PROVIDER_URL が適切に設定されていたからではないかと思います。
せぶん
会議室デビュー日: 2005/06/20
投稿数: 5
投稿日時: 2005-06-21 12:01
レスありがとうございます。

現在以下のような処理を記述しているのですが、PROVIDER_URL等も誤っていないと思います。どうでしょうか?
ちなみに、環境はwindowsXpでJboss3.2.6です。

Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
env.put(Context.PROVIDER_URL, "jnp://127.0.0.1:1099");
env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");

// 初期コンテキストを取得
Context iContext = new InitialContext(env);

// ルックアップしてトランザクションを取得
(UserTransaction) iContext.lookup("java:comp/UserTransaction");
Hyde
ベテラン
会議室デビュー日: 2005/05/18
投稿数: 63
投稿日時: 2005-06-24 16:09

RMIのクライアントをキックするときに
クラスパスに

set JBOSS_CLIENT=%JBOSS_HOME%\client
set JBOSS_CP=
set JBOSS_CP=%JBOSS_CP%;%JBOSS_CLIENT%\jboss-client.jar
set JBOSS_CP=%JBOSS_CP%;%JBOSS_CLIENT%\jboss-common-client.jar
set JBOSS_CP=%JBOSS_CP%;%JBOSS_CLIENT%\jbosssx-client.jar
set JBOSS_CP=%JBOSS_CP%;%JBOSS_CLIENT%\jboss-jaas.jar
set JBOSS_CP=%JBOSS_CP%;%JBOSS_CLIENT%\jboss-j2ee.jar
set JBOSS_CP=%JBOSS_CP%;%JBOSS_CLIENT%\jnp-client.jar
set JBOSS_CP=%JBOSS_CP%;%JBOSS_CLIENT%\jnet.jar
set JBOSS_CP=%JBOSS_CP%;%JBOSS_CLIENT%\log4j.jar
set JBOSS_CP=%JBOSS_CP%;%JBOSS_CLIENT%\jboss-transaction-client.jar
set JBOSS_CP=%JBOSS_CP%;%JBOSS_HOME%\server\default\conf


java -classpath %FEC_JBOSS_CP% RMIClient

などをいれてみたら、私の場合はLookUpできました。

せぶん
会議室デビュー日: 2005/06/20
投稿数: 5
投稿日時: 2005-06-28 13:06
ありがとうございます。クラスパスを追加したらうまくいきました。
ですが、不思議です。
クラスパスがないのなら、javax.naming.NameNotFoundException以外のExceptionが発生しそうな気がするのですが。。
1

スキルアップ/キャリアアップ(JOB@IT)