2011-08-12 11 views
1

は両方RMI exportObject(リモートobj、PORT); createRegistry(PORT);私は思ったんだけど

UnicastRemoteObject.exportObject(Remote,portNo) & LocateRegistry.createRegistry(portNo); 

ポルノは同じになることができますか?

私はそれが動作するかテストしますが、合併症があれば私は心配ですか?

exportObjectがオブジェクトを指定する必要があるのはなぜですか? exportObject(Remote obj)を使用すると、NullPointerExceptionがスローされます。私は思ったんだけど

答えて

2

は両方

UnicastRemoteObject.exportObject(Remote,portNo) & 
LocateRegistry.createRegistry(portNo); 

PORTNOは同じになることができますか?

そうではありません。不等ソケットファクトリを使用している場合を除き、そうではありません。問題がある場合、例外がスローされます。

私はそれが動作するかテストしますが、合併症があれば気になりますか?

実際、リッスンポートに保存することをお勧めします。 IANAで予約されているRegistry.REGISTRY_PORTを使用することができます。したがって、netadminも引数をすべてシャットダウンする必要があります。

なぜexportObjectは作業するオブジェクトを指定する必要がありますか?

これは静的メソッドであるためです。

exportObject(リモートobj)を使用すると、 StubNotFoundExceptionがスローされます。

スタブを生成していないためです。 > = 1.5を使用している場合、生成されたスタブは必要ありませんが、ポート番号を指定する必要があります。ゼロを指定すると、システムに割り当てられたポート番号が取得されますが、不等なソケットファクトリを使用していない限り、リモートオブジェクト(この場合はレジストリ)を既にエクスポートしている場合は、ポートを再び共有します。

+0

等しくないソケットファクトリを定義するように気をつけますか?このソケットとRMIの新しい種類のごめんなさい。 1.6を使用していますが、NullPointExceptionが発生します。 – seesee

+0

@seesee NullPointerExceptionは、何かが初期化されていないことを意味します。私はそのコードをデバッグし、どの変数が初期化されていないかを調べることを提案します。 –

+0

@seesee不等なソケットファクトリは、sf1.equals(sf2)がfalseを返すソケットファクトリであり、Javaのどこでも同じです。 – EJP

関連する問題