JavaTM Platform
Standard Ed. 6

java.rmi.activation
인터페이스 Activator

모든 슈퍼 인터페이스:
Remote


public interface Activator
extends Remote

Activator 는, 원격 객체의 기동을 간단하게 합니다. 절단 되어 가고 있는 원격 참조는, activator의 activate 메소드를 호출해, 기동 가능한 원격 객체에의 「라이브 (live)」참조를 취득하려고 합니다. 기동의 요구를 받아들인 activator는, 기동 식별자 id 의 기동 기술자를 찾고 나서, 그룹을 결정합니다. 그 그룹에서는, 기동하는 객체가,newInstance 의 호출을 통해서 그룹의 ActivationInstantiator 를 사용해, 객체의 재작성을 개시합니다. activator는, 필요에 따라서 기동 그룹의 실행을 개시합니다. 예를 들어, 특정의 그룹 식별자의 기동 그룹이 아직 실행중이 아닌 경우는, activator가 그 그룹의 VM 의 실행을 개시합니다.

Activator 는, 그룹과 그 그룹내의 객체를 등록하는 방법을 제공하는 ActivationSystem, 및, 기동중 혹은 정지중의 객체와 정지중의 그룹의 정보를 취득하는 ActivationMonitor 와 밀접하게 제휴합니다.

activator는, 기동 그룹이 실패했을 경우의 감시 및 검출을 실시해, 그룹 및 그 그룹내의 기동중의 객체에의 무효인 원격 참조를 삭제할 수 있도록(듯이) 합니다.

도입된 버젼:
1.2
관련 항목:
ActivationInstantiator , ActivationGroupDesc , ActivationGroupID

메소드의 개요
 MarshalledObject <? extends Remote > activate (ActivationID  id, boolean force)
          기동 식별자 id 에 관련한 객체를 기동합니다.
 

메소드의 상세

activate

MarshalledObject <?  extends Remote > activate(ActivationID  id,
                                            boolean force)
                                            throws ActivationException ,
                                                   UnknownObjectException ,
                                                   RemoteException 
기동 식별자 id 에 관련한 객체를 기동합니다. 그 객체가 기동하고 있는 것을 activator가 인식하고 있어,force 의 값이 false 의 경우는, 「라이브 (live)」참조의 Stub가 즉석에서 호출해 바탕으로 돌려주어집니다. 그렇지 않은 경우는, 대응하는 원격 객체가 기동하고 있는 것을 activator가 모르면, activator는 이전에 등록된 기동 기술자의 정보를 사용해, 객체를 기동하는 장소가 되는 그룹 (VM)을 결정합니다. 객체의 그룹 기술자에게 대응하는 ActivationInstantiator 가 벌써 존재하는 경우, activator는 기동 그룹의 newInstance 를 호출해, 게다가 객체의 ID 및 기술자를 건네줍니다.

객체의 그룹 기술자가 사용하는 기동 그룹이 아직 존재하지 않는 경우는, activator는, child process의 생성등에 의해,ActivationInstantiator 의 실행을 개시합니다. ActivationSystemactiveGroup 메소드를 통해서 그 기동 그룹의 참조를 나타내는 콜백을 기동 그룹이 받으면(자), activator는, 기동 인스탄시에이타의 newInstance 메소드를 호출해, 보류중의 각 기동 요구를 기동 그룹에 전송 합니다. 요구의 결과인 정렬화 된 원격 객체 참조를 Stub로서 호출해 측에 돌려줍니다.

activator는 원격 객체는 아니고 「정렬화 되었다」객체를 받으므로, 그 객체의 코드를 로드할 필요는 없고, 객체의 분산 가베지 컬렉션에 관여할 필요도 없습니다. activator가 원격 객체에의 강참조를 보관 유지하고 있는 경우, 일반적으로의 분산 가베지 컬렉션 기구아래에서도, activator는 객체를 가베지 컬렉션으로부터 지킵니다.

파라미터:
id - 기동되는 객체의 기동 식별자
force - true 의 경우는, activator는 그룹에 접속해 원격 객체의 참조를 취득한다. 그렇지 않은 경우는, 캐쉬에 들어가 있는 값을 반환값으로서 사용할 수 있다
반환값:
정렬화 된 형식의 원격 객체 (Stub)
예외:
ActivationException - 객체의 기동에 실패했을 경우
UnknownObjectException - 객체가 불명한 (등록되지 않았다) 경우
RemoteException - 원격 호출이 실패했을 경우
도입된 버젼:
1.2

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.