2016-08-26 3 views
0

원격 객체의 스텁 인스턴스가 어디서 만들어 졌는지 모르겠습니다. 전화 번호 Naming.bind을 호출하여 rmiregistry에 등록 할 때 생성됩니까? 레지스트리가 RMI를 통해 호출되기 때문에 이는 의미가 있습니다.RMI에서 인스턴스화 된 스텁의 위치

그러나 UnicastRemoteObject.exportObject을 호출하여 스텁을 만들 수 있습니까?

이 특정 코드 from oracle 나를 혼동 :

Compute engine = new ComputeEngine(); 
Compute stub = (Compute) UnicastRemoteObject.exportObject(engine, 0); 
String name = "Compute"; 
Registry registry = LocateRegistry.getRegistry(); 
registry.rebind(name, stub); 

Naming.bind를 사용하여 내가 스텁 또는 원격 개체를 전달해야합니까?

답변

1

스터브를 사용하면 예를 들어, 원격 메소드 파라미터 또는 결과, 원격 객체를 전달할 때 원격 객체 치환 원격 객체

  • 내보낼 때 생성

      이다
    1. 레지스트리에서 바인딩하거나 검색 할 때.

    Naming.bind()를 사용하여 내가 스텁 또는 원격 개체를 전달해야합니까?

    어느 쪽이든. (2) 때문에 중요하지 않습니다.