- PR -

PortableRemoteObject.narrowでnullが返される

1
投稿者投稿内容
kinmojr
会議室デビュー日: 2002/02/21
投稿数: 13
投稿日時: 2005-10-08 11:38
kinmojrと申します。

JNDIでCMPエンティティBeanのリモートホームオブジェクトのリファレンスをルックアップし、PortableRemoteObject.narrowで返された値をキャストするとnullが返されるという現象が発生して困っています。

第1引数に渡すObject(実際の型はCORBAObjectImpl)の値はnullではないのですが・・・。

環境は以下の通りです。
OS:WindowsXP SP2
APサーバ:Sun Java System Application Server Platform Edition 8.1 2005Q2 UR2
JDK:APサーバ付属のJDK(JavaSE5.0.2)
DB:APサーバ付属のPointBase(5.2)

Bean自体の配備は成功し、テーブルも作成されていることを確認しました。

クライアントはAPサーバ上から実行したJavaアプリです。
コードの抜粋を載せます。
import com.titan.cabin.CabinRemote;
import com.titan.cabin.CabinRemoteHome;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
・・・(中略)
(1)Properties p = new Properties();
(2)p.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.cosnaming.CNCtxFactory");
(3)p.put(Context.PROVIDER_URL, "iiop://localhost:3700");
(4)InitialContext ic = new InitialContext(p);

(5)Object ref = ic.lookup("ejb/CabinBean");
(6)CabinRemoteHome home = (CabinRemoteHome) PortableRemoteObject.narrow(ref,CabinRemoteHome.class);

(7)CabinRemote cabin = home.create(new Integer(1));

(5)で返される値はnullではないのですが、(6)で返される値がnullになってしまいます。

何か分かる方がいらっしゃいましたらアドバイスをお願いします。
kinmojr
会議室デビュー日: 2002/02/21
投稿数: 13
投稿日時: 2005-10-08 12:53
kinmojrです。連投すみません。

BeanをステートレスセッションBeanに変えましたが、同じ現象でnarrowの戻り値がnullになってしまいました。
ルックアップは成功しているようなのですが。

お手上げ状態です。
どなたか原因についてご存知の方がいらっしゃいましたら教えてください。
よろしくお願いいたします。
kinmojr
会議室デビュー日: 2002/02/21
投稿数: 13
投稿日時: 2005-10-09 12:36
kinmojrです。

アプリケーションクライアントを使う方法で正常に動作できましたのでご報告します。

JNDIプロパティを使う方法は、あまり情報がありませんね。
APサーバーに付属しているサンプルアプリもアプリケーションクライアントを使ってます。

Sun的には推奨していないのかもしれません。
1

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