- - PR -
JBOSS EJB のリモート呼び出しについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-10-28 11:46
セッションBeanの呼び出しで質問です。
EJBサーバーはRedHat7.2のJBOSSに配置されております。 仮にこのサーバーを192.168.0.10とします。 クライアントのJAVAプログラムからEJBサーバーに配置されているセッションBeanの呼び出しを以下のように行います。クライアントは、EJBサーバーと同一セグメント内の別パソコンにあるプログラムです。 JAVAは、1.4系。 クライントは、Windows2000です。 クライアントからセッションBeanのホームオブジェクトを取得するプログラムは以下のようになってます。 -------------------------------------------------------------------- Hashtable p = new Hashtable(); p.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY ,"org.jnp.interfaces.NamingContextFactory"); p.put(javax.naming.Context.PROVIDER_URL ,"jnp://192.168.0.10:1099"); javax.naming.InitialContext initialContext = new javax.naming.InitialContext(p); try { Object objRef = initialContext.lookup(jndiName);//(1)ここ // only narrow if necessary if (narrowTo.isInstance(java.rmi.Remote.class)) return javax.rmi.PortableRemoteObject.narrow(objRef, narrowTo); else return objRef; } finally { initialContext.close(); } -------------------------------------------------------------------- (1)を実行したとき、 java.lang.NullPointerExceptionが発生します。 NamingExceptionでキャッチしてエラー内容を見ると、 javax.naming.CommunicationException [Root exception is java.rmi.NoSuchObjectException: no such object in table] というエラー内容です。 EJBサーバーをRedHatではなく、WindowsのJBOSSを用意してそこに配置して、 同じことを行った場合、問題ありません。 また、EJBサーバー内にクライアントプログラムを置いて同一サーバー内で呼び出しを行った場合も問題ありません。 正常に動作いたします。 ネットワーク環境の問題のような気もします。 RedHatでnmapをした内容を下記に記述いたします。 わたしには関係ありそうなポート(1098,1099)は開いているようにみえるので、問題ないようにみえます。 Port State Service 21/tcp open ftp 22/tcp open ssh 23/tcp open telnet 25/tcp open smtp 111/tcp open sunrpc 1098/tcp open unknown 1099/tcp open unknown 4444/tcp open krb524 4445/tcp open unknown 5001/tcp open commplex-link 5432/tcp open postgres 5680/tcp open canna 6000/tcp open X11 8009/tcp open ajp13 8080/tcp open http-proxy 8083/tcp open unknown 8093/tcp open unknown 22273/tcp open wnn6 32768/tcp open unknown 32769/tcp open unknown 原因わかるかたおりますでしょうか? おたすけください。 |
|
投稿日時: 2005-10-28 13:26
どうやらLinux側のhostsファイルを設定する必要があるようですよ。
http://www.jboss.com/?module=bb&op=viewtopic&t=69148 http://www.jbossgroup.com/index.html?module=bb&op=viewtopic&p=3873725 |
|
投稿日時: 2005-10-31 12:52
UK様
回答ありがとうございます。 なるほど!! http://www.jbossgroup.com/index.html?module=bb&op=viewtopic&p=3873725 をみて、試してみます。 結果は、また、追って、本掲示板に記載いたします。 |
|
投稿日時: 2005-10-31 16:15
Linux側のhostsファイルを見てみたのですが、
127.0.0.1 localhost.localdomain localhost という1行があります。 http://www.jbossgroup.com/index.html?module=bb&op=viewtopic&p=3873725 ↑ すみません、恥かもしれませんが、 ここの値どうすればいいと書かれているのでしょうか? |
|
投稿日時: 2005-10-31 16:22
たとえばそのLinuxマシンのIPアドレスが1.2.3.4、ホスト名がfoo.bar.comだとして、
1.2.3.4 localhost foo foo.bar.com と書けばよいのではないですか? |
|
投稿日時: 2005-10-31 20:22
アドバイスどおりで解決いたしました。
hostsの問題でした。 ありがとうございます。 |
1