2013-06-02 20 views
5

現在、Java RMI(Remote Method Invocation)を学習しており、OracleのWebサイトで提供されているチュートリアルに従っています。しかし、私は特定の質問があります:Java RMI:rmicコンパイラによって生成されるスタブスケルトンの役割

rmicによって生成されたスタブスケルトンの使用法は何ですか?それは本当に必要ですか?

+0

ここをクリックhttp://docs.oracle.com/javase/1.5.0/docs/guide/rmi/spec/rmi-arch2.html – BeNdErR

+0

スケルトンは1998年以来使用されていません。 – EJP

+1

@ EJP- SIR、スタックオーバフロー時に 'rmi'タグに関連する何十件もの回答を見ました。彼らは他の公式のチュートリアルと比べて真剣に最善のものです。あなたはrmi.Pleaseに関連する個人的なブログを持っていますか、私はそれらが必要です!ありがとう... –

答えて

8

スタブ/スケルトンは、コミュニケーションの詳細を開発者から隠します。 Stubは、リモートインタフェースを実装するクラスです。これは、リモートオブジェクトのクライアントサイドプレースホルダとして機能します。スタブはサーバー側スケルトンと通信します。 スケルトンはサーバー側のスタブの対応物です。どちらもネットワーク経由で通信します。スケルトンは実際には実際のリモートオブジェクトがスタブの要求をそれに委譲し、その応答をスタブに返すことを知っています。 RMIの必須ビルディングブロックであるため、両方が必要です。

+2

あなたは両方を必要としません。 1998年以来、スケルトンは必要ありません。また、Javadocの序文にある「UnicastRemoteObject」に従った場合にも、スタブは必要ありません。 – EJP

+1

@EJP私は、UnicastRemoteObjectを使用していても、背後にはスタブオブジェクトがあると思います。すべてのオブジェクトは、リモートオブジェクトを表すためにクライアントマシン上に作成されます。そのオブジェクトはプロキシであり、私はスタブと呼ぶことができると思います。これは、古いスタブクラスのインスタンスが満たす役割を確実に満たします。 –

+0

@TheodoreNorvell動的生成*スタブオブジェクトがあります。これ以上生成する必要はありません。 – EJP

関連する問題