JavaTM Platform
Standard Ed. 6

java.rmi.activation
클래스 Activatable

java.lang.Object 
  상위를 확장 java.rmi.server.RemoteObject 
      상위를 확장 java.rmi.server.RemoteServer 
          상위를 확장 java.rmi.activation.Activatable
모든 구현된 인터페이스:
Serializable , Remote


public abstract class Activatable
extends RemoteServer

영속적인 액세스를 필요로 해, 시스템으로부터 기동할 수 있는 원격 객체를 지원합니다.

생성자 및 static exportObject 메소드의 경우, export 하는 원격 객체의 Stub는,UnicastRemoteObject 로 설명한 방법으로 취득됩니다.

이 클래스의 인스턴스를 명시적으로 직렬화하려고 하면(자) 실패합니다.

도입된 버젼:
1.2

필드의 개요
 
클래스 java.rmi.server. RemoteObject 로부터 상속된 필드
ref
 
생성자 의 개요
protected Activatable (ActivationID  id, int port)
          지정된 포트상에서 객체를 기동 또는 export 하기 위해서 사용하는 생성자 입니다.
protected Activatable (ActivationID  id, int port, RMIClientSocketFactory  csf, RMIServerSocketFactory  ssf)
          지정된 포트상에서 객체를 기동 또는 export 하기 위해서 사용하는 생성자 입니다.
protected Activatable (String  location, MarshalledObject <? > data, boolean restart, int port)
          이 객체의 기동 기술자를 (위치, 데이터, 재기동 모드를 지정해) 등록해, 포트를 지정해 객체를 export 하는 것으로써, 기동 가능한 원격 객체를 구축합니다.
protected Activatable (String  location, MarshalledObject <? > data, boolean restart, int port, RMIClientSocketFactory  csf, RMIServerSocketFactory  ssf)
          이 객체의 기동 기술자를 (위치, 데이터, 재기동 모드를 지정해) 등록해, 포트 및 클라이언트와 서버 소켓 팩토리를 지정해 객체를 export 하는 것으로써, 기동 가능한 원격 객체를 구축합니다.
 
메소드의 개요
static Remote exportObject (Remote  obj, ActivationID  id, int port)
          기동 가능한 원격 객체를 RMI 런타임에 export 하는 것으로써, 착신 호출의 접수에 객체를 사용할 수 있도록(듯이) 합니다.
static Remote exportObject (Remote  obj, ActivationID  id, int port, RMIClientSocketFactory  csf, RMIServerSocketFactory  ssf)
          기동 가능한 원격 객체를 RMI 런타임에 export 하는 것으로써, 착신 호출의 접수에 객체를 사용할 수 있도록(듯이) 합니다.
static ActivationID exportObject (Remote  obj, String  location, MarshalledObject <? > data, boolean restart, int port)
          지정한 객체의 기동 기술자를 (위치, 데이터, 재기동 모드를 지정해) 등록해, 포트를 지정해 그 객체를 export 합니다.
static ActivationID exportObject (Remote  obj, String  location, MarshalledObject <? > data, boolean restart, int port, RMIClientSocketFactory  csf, RMIServerSocketFactory  ssf)
          지정한 객체의 기동 기술자를 (위치, 데이터, 재기동 모드를 지정해) 등록해, 포트 및 클라이언트와 서버 소켓 팩토리를 지정해 그 객체를 export 합니다.
protected  ActivationID getID ()
          객체의 기동 식별자를 돌려줍니다.
static boolean inactive (ActivationID  id)
          대응하는 기동 id 의 객체가 현재 정지하고 있는 것을 시스템에 통지합니다.
static Remote register (ActivationDesc  desc)
          기동 가능한 원격 객체의 객체 기술자를 등록해, 요구에 응해 원격 객체를 기동할 수 있도록(듯이) 합니다.
static boolean unexportObject (Remote  obj, boolean force)
          RMI 런타임으로부터 원격 객체 obj 를 삭제합니다.
static void unregister (ActivationID  id)
          id 에 관련한 기동 기술자의 등록을 취소합니다.
 
클래스 java.rmi.server. RemoteServer 로부터 상속된 메소드
getClientHost , getLog , setLog
 
클래스 java.rmi.server. RemoteObject 로부터 상속된 메소드
equals , getRef , hashCode , toString , toStub
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , finalize , getClass , notify , notifyAll , wait , wait , wait
 

생성자 의 상세

Activatable

protected Activatable(String  location,
                      MarshalledObject <? > data,
                      boolean restart,
                      int port)
               throws ActivationException ,
                      RemoteException 
이 객체의 기동 기술자를 (위치, 데이터, 재기동 모드를 지정해) 등록해, 포트를 지정해 객체를 export 하는 것으로써, 기동 가능한 원격 객체를 구축합니다.

주: 원격 객체를 등록 및 export 하는 조작은 원자성이 보증되지 않기 때문에, 기동 가능한 원격 객체를 등록 및 export 하는 Activatable 생성자 의 사용은 추천 되지 않습니다. 대신에, 어플리케이션으로 기동 기술자를 등록해, 원격 객체를 개별적으로 export 하는 것으로써, 예외가 적절히 처리되도록 해 주세요.

이 메소드는, 이 객체 및 지정한 위치, 데이터, 재기동 모드, 및 포트를 사용해 exportObject 메소드를 호출합니다. 그 후,getID() 를 호출하면(자),exportObject 의 호출로 반환되는 기동 식별자가 돌려주어집니다.

파라미터:
location - 객체가 사용하는 클래스의 위치
data - 객체의 초기화 데이터
port - 객체의 export처의 포트. port=0 의 경우는 익명 포트가 사용되는
restart - true 의 경우는, activator가 재기동했을 때, 또는 돌연의 크래쉬 후에 객체의 기동 그룹을 재기동했을 때에 객체도 기동된다. false 의 경우는, restarttrue 로 지정해도, 신규 등록 객체를 최초로 곧 기동하는 것은 아니다. 초기 기동은 곧바로 하행 깨지지 않는다
예외:
ActivationException - 객체의 등록이 실패했을 경우
RemoteException - 다음의 어느 쪽인지가 실패했을 경우. a) 기동 시스템에의 객체의 등록 b) RMI 런타임에의 객체의 export
도입된 버젼:
1.2

Activatable

protected Activatable(String  location,
                      MarshalledObject <? > data,
                      boolean restart,
                      int port,
                      RMIClientSocketFactory  csf,
                      RMIServerSocketFactory  ssf)
               throws ActivationException ,
                      RemoteException 
이 객체의 기동 기술자를 (위치, 데이터, 재기동 모드를 지정해) 등록해, 포트 및 클라이언트와 서버 소켓 팩토리를 지정해 객체를 export 하는 것으로써, 기동 가능한 원격 객체를 구축합니다.

주: 원격 객체를 등록 및 export 하는 조작은 원자성이 보증되지 않기 때문에, 기동 가능한 원격 객체를 등록 및 export 하는 Activatable 생성자 의 사용은 추천 되지 않습니다. 대신에, 어플리케이션으로 기동 기술자를 등록해, 원격 객체를 개별적으로 export 하는 것으로써, 예외가 적절히 처리되도록 해 주세요.

이 메소드는, 이 객체, 및 지정한 위치, 데이터, 재기동 모드, 포트, 클라이언트와 서버 소켓 팩토리를 사용해 exportObject 메소드를 호출합니다. 그 후,getID() 를 호출하면(자),exportObject 의 호출로 반환되는 기동 식별자가 돌려주어집니다.

파라미터:
location - 객체가 사용하는 클래스의 위치
data - 객체의 초기화 데이터
restart - true 의 경우는, activator가 재기동했을 때, 또는 돌연의 크래쉬 후에 객체의 기동 그룹을 재기동했을 때에 객체도 기동된다. false 의 경우는, restarttrue 로 지정해도, 신규 등록 객체를 최초로 곧 기동하는 것은 아니다. 초기 기동은 곧바로 하행 깨지지 않는
port - 객체의 export처의 포트. port=0 의 경우는 익명 포트가 사용되는
csf - 원격 객체의 호출해에 사용하는, 클라이언트측 소켓 팩토리
ssf - 원격 객체 호출을 수신하는, 서버측 소켓 팩토리
예외:
ActivationException - 객체의 등록이 실패했을 경우
RemoteException - 다음의 어느 쪽인지가 실패했을 경우. a) 기동 시스템에의 객체의 등록 b) RMI 런타임에의 객체의 export
도입된 버젼:
1.2

Activatable

protected Activatable(ActivationID  id,
                      int port)
               throws RemoteException 
지정된 포트상에서 객체를 기동 또는 export 하기 위해서 사용하는 생성자 입니다. 「기동 가능한」원격 객체에는, 이하의 2 개의 인수를 가지는 생성자 이 필요합니다.

이 클래스의 구상 서브 클래스는, 전술한 생성자 을 통해서 기동될 때, 이 생성자 을 호출할 필요가 있습니다. 기동 가능한 객체를 구축하면(자), 지정된 port 상의 RMI 런타임에 원격 객체가 export 되어 클라이언트로부터의 착신 호출의 접수에 사용할 수 있게 됩니다.

파라미터:
id - 객체의 기동 식별자
port - 객체의 export처의 포트 번호
예외:
RemoteException - RMI 런타임에의 객체의 export가 실패했을 경우
도입된 버젼:
1.2

Activatable

protected Activatable(ActivationID  id,
                      int port,
                      RMIClientSocketFactory  csf,
                      RMIServerSocketFactory  ssf)
               throws RemoteException 
지정된 포트상에서 객체를 기동 또는 export 하기 위해서 사용하는 생성자 입니다. 「기동 가능한」원격 객체에는, 이하의 2 개의 인수를 가지는 생성자 이 필요합니다.

이 클래스의 구상 서브 클래스는, 전술한 생성자 을 통해서 기동될 때, 이 생성자 을 호출할 필요가 있습니다. 기동 가능한 객체를 구축하면(자), 지정된 port 상의 RMI 런타임에 원격 객체가 export 되어 클라이언트로부터의 착신 호출의 접수에 사용할 수 있게 됩니다.

파라미터:
id - 객체의 기동 식별자
port - 객체의 export처의 포트 번호
csf - 원격 객체의 호출해에 사용하는, 클라이언트측 소켓 팩토리
ssf - 원격 객체 호출을 수신하는, 서버측 소켓 팩토리
예외:
RemoteException - RMI 런타임에의 객체의 export가 실패했을 경우
도입된 버젼:
1.2
메소드의 상세

getID

protected ActivationID  getID()
객체의 기동 식별자를 돌려줍니다. 이 메소드는, 서브 클래스만이 객체의 식별자를 취득할 수 있도록(듯이) 보호되고 있습니다.

반환값:
객체의 기동 식별자
도입된 버젼:
1.2

register

public static Remote  register(ActivationDesc  desc)
                       throws UnknownGroupException ,
                              ActivationException ,
                              RemoteException 
기동 가능한 원격 객체의 객체 기술자를 등록해, 요구에 응해 원격 객체를 기동할 수 있도록(듯이) 합니다.

파라미터:
desc - 객체의 기술자
반환값:
기동 가능한 원격 객체가 사용하는 Stub
예외:
UnknownGroupException - desc 에 있는 그룹 ID 가 기동 시스템에 등록되지 않은 경우
ActivationException - 기동 시스템이 동작하고 있지 않는 경우
RemoteException - 원격 호출이 실패했을 경우
도입된 버젼:
1.2

inactive

public static boolean inactive(ActivationID  id)
                        throws UnknownObjectException ,
                               ActivationException ,
                               RemoteException 
대응하는 기동 id 의 객체가 현재 정지하고 있는 것을 시스템에 통지합니다. 객체가 현재 기동중인 경우, 그 객체는 RMI 런타임으로부터 「안 export」되고 (보류중, 혹은 진행중의 호출이 없는 경우만), 이후의 착신 호출을 수신할 수 없게 됩니다. 이 호출은 VM 의 ActivationGroup 에 객체가 정지하고 있는 것을 통지해, ActivationGroup 는, 해당하는 ActivationMonitor 에 통지를 실시합니다. 이 호출이 정상적으로 완료했을 경우, activator에의 후속의 기동 요구에 의해 객체가 다시 기동됩니다. 이 조작은, 객체가 기동중에서 만나도, 안 export 끝난 경우는 true 를 돌려줍니다.

파라미터:
id - 객체의 기동 식별자
반환값:
처리가 성공했을 경우는 true. 객체가 기동중에서 만나도, 안 export가 끝난 상태인지, export중이며, 보류중 혹은 실행중의 호출이 없는 경우, 처리는 성공한다. 객체에 보류중 혹은 실행중의 호출이 있어, 객체를 종료할 수 없는 경우는 false
예외:
UnknownObjectException - 객체가 불명한 경우. 벌써 정지하고 있는 경우도 있다
ActivationException - 그룹이 동작하고 있지 않는 경우
RemoteException - 호출 통지 모니터가 실패했을 경우
도입된 버젼:
1.2

unregister

public static void unregister(ActivationID  id)
                       throws UnknownObjectException ,
                              ActivationException ,
                              RemoteException 
id 에 관련한 기동 기술자의 등록을 취소합니다. 그 id 를 사용해 객체를 기동할 수 없게 됩니다.

파라미터:
id - 객체의 기동 식별자
예외:
UnknownObjectException - 객체 (id)가 불명한 경우
ActivationException - 기동 시스템이 동작하고 있지 않는 경우
RemoteException - 기동 시스템에의 원격 호출이 실패했을 경우
도입된 버젼:
1.2

exportObject

public static ActivationID  exportObject(Remote  obj,
                                        String  location,
                                        MarshalledObject <? > data,
                                        boolean restart,
                                        int port)
                                 throws ActivationException ,
                                        RemoteException 
지정한 객체의 기동 기술자를 (위치, 데이터, 재기동 모드를 지정해) 등록해, 포트를 지정해 그 객체를 export 합니다.

주: 원격 객체를 등록 및 export 하는 조작은 원자성이 보증되지 않기 때문에, 이 메소드 ( 및 기동 가능한 원격 객체를 등록 및 export 하는 Activatable 생성자 )의 사용은 추천 되지 않습니다. 대신에, 어플리케이션으로 기동 기술자를 등록해, 원격 객체를 개별적으로 export 하는 것으로써, 예외가 적절히 처리되도록 해 주세요.

이 메소드는, 지정한 객체, 위치, 데이터, 재기동 모드, 포트, 및 null 의 클라이언트와 서버 소켓 팩토리를 사용해 exportObject 메소드가 호출해, 생성된 기동 식별자를 돌려줍니다.

파라미터:
obj - export 대상의 객체
location - 객체의 코드의 위치
data - 객체의 bootstrap 데이터
restart - true 의 경우는, activator가 재기동했을 때, 또는 돌연의 크래쉬 후에 객체의 기동 그룹을 재기동했을 때에 객체도 기동된다. false 의 경우는, restarttrue 로 지정해도, 신규 등록 객체를 최초로 곧 기동하는 것은 아니다. 초기 기동은 곧바로 하행 깨지지 않는
port - 객체의 export처의 포트. port=0 의 경우는 익명 포트가 사용된다
반환값:
기동 시스템이 잘못한 그룹인 경우에, 기술자 desc 를 등록했을 때에 취득했다 기동 식별자
예외:
ActivationException - 그룹이 정지하고 있는 경우
RemoteException - 객체의 등록 혹은 export가 실패했을 경우
도입된 버젼:
1.2

exportObject

public static ActivationID  exportObject(Remote  obj,
                                        String  location,
                                        MarshalledObject <? > data,
                                        boolean restart,
                                        int port,
                                        RMIClientSocketFactory  csf,
                                        RMIServerSocketFactory  ssf)
                                 throws ActivationException ,
                                        RemoteException 
지정한 객체의 기동 기술자를 (위치, 데이터, 재기동 모드를 지정해) 등록해, 포트 및 클라이언트와 서버 소켓 팩토리를 지정해 그 객체를 export 합니다.

주: 원격 객체를 등록 및 export 하는 조작은 원자성이 보증되지 않기 때문에, 이 메소드 ( 및 기동 가능한 원격 객체를 등록 및 export 하는 Activatable 생성자 )의 사용은 추천 되지 않습니다. 대신에, 어플리케이션으로 기동 기술자를 등록해, 원격 객체를 개별적으로 export 하는 것으로써, 예외가 적절히 처리되도록 해 주세요.

이 메소드는, 최초로, 다음의 방법으로 특정의 객체의 기동 기술자를 등록합니다. ActivationGroup.getSystem 메소드를 호출해 기동 시스템을 가져옵니다. 다음에, 이 메소드는, 기동 시스템의 registerObject 메소드를 호출해, 객체 ActivationID 를 가져옵니다. 그 때, 객체의 클래스명, 및 위치, 데이터, 재기동 모드를 지정해 구축한 ActivationDesc 가 사용됩니다. 기동 시스템의 취득시 또는 기동 기술자의 등록시에 예외가 발생했을 경우, 그 예외는 호출해 측에 throw 됩니다.

다음에, 이 메소드는 exportObject 메소드를 호출해 객체를 export 합니다. 그 때, 지정한 원격 객체, 등록으로부터 취득한 기동 식별자, 지정한 포트, 및 지정한 클라이언트와 서버 소켓 팩토리가 사용됩니다. 객체의 export시에 예외가 발생하면(자), 이 메소드는, 기동 시스템의 unregisterObject 메소드를 기동 식별자를 지정해 호출해, (등록으로부터 취득한) 기동 식별자의 등록 해제를 시도합니다. 식별자의 등록 해제시에 예외가 발생하는 경우, 그 예외는 무시되어 객체의 export시에 발생한 원의 예외가 호출해 측에 throw 됩니다.

마지막으로, 이 메소드는, 이 VM 의 기동 그룹에 대해서 activeObject 메소드를 기동 식별자 및 원격 객체를 지정해 호출해, 기동 식별자를 호출해 측에 돌려줍니다.

파라미터:
obj - export 대상의 객체
location - 객체의 코드의 위치
data - 객체의 bootstrap 데이터
restart - true 의 경우는, activator가 재기동했을 때, 또는 돌연의 크래쉬 후에 객체의 기동 그룹을 재기동했을 때에 객체도 기동된다. false 의 경우는, restarttrue 로 지정해도, 신규 등록 객체를 최초로 곧 기동하는 것은 아니다. 초기 기동은 곧바로 하행 깨지지 않는
port - 객체의 export처의 포트. port=0 의 경우는 익명 포트가 사용되는
csf - 원격 객체의 호출해에 사용하는, 클라이언트측 소켓 팩토리
ssf - 원격 객체 호출을 수신하는, 서버측 소켓 팩토리
반환값:
기동 시스템에 기술자를 등록해 얻을 수 있었다 기동 식별자
예외:
ActivationException - 그룹이 정지하고 있는 경우
RemoteException - 객체의 등록 혹은 export가 실패했을 경우
도입된 버젼:
1.2

exportObject

public static Remote  exportObject(Remote  obj,
                                  ActivationID  id,
                                  int port)
                           throws RemoteException 
기동 가능한 원격 객체를 RMI 런타임에 export 하는 것으로써, 착신 호출의 접수에 객체를 사용할 수 있도록(듯이) 합니다. port 의 값이 0 의 경우, 객체는 익명 포트에 export 됩니다.

기동시에,exportObject 메소드는,Activatable 클래스를 확장하지 않는 「기동 가능한」객체로부터 명시적으로 불려 가는 일이 있습니다. 이 객체는 구축시에 export 되기 (위해)때문에,Activatable 클래스를 확장해 이 메소드를 직접 호출하는 객체는 필요는 없습니다.

파라미터:
obj - 구현된 원격 객체
id - 객체의 기동 식별자
port - 객체의 export처의 포트. port=0 의 경우는 익명 포트가 사용된다
반환값:
기동 가능한 원격 객체가 사용하는 Stub
예외:
RemoteException - 객체의 export에 실패했을 경우
도입된 버젼:
1.2

exportObject

public static Remote  exportObject(Remote  obj,
                                  ActivationID  id,
                                  int port,
                                  RMIClientSocketFactory  csf,
                                  RMIServerSocketFactory  ssf)
                           throws RemoteException 
기동 가능한 원격 객체를 RMI 런타임에 export 하는 것으로써, 착신 호출의 접수에 객체를 사용할 수 있도록(듯이) 합니다. port 의 값이 0 의 경우, 객체는 익명 포트에 export 됩니다.

기동시에,exportObject 메소드는,Activatable 클래스를 확장하지 않는 「기동 가능한」객체로부터 명시적으로 불려 가는 일이 있습니다. 이 객체는 구축시에 export 되기 (위해)때문에,Activatable 클래스를 확장해 이 메소드를 직접 호출하는 객체는 필요는 없습니다.

파라미터:
obj - 구현된 원격 객체
id - 객체의 기동 식별자
port - 객체의 export처의 포트. port=0 의 경우는 익명 포트가 사용되는
csf - 원격 객체의 호출해에 사용하는, 클라이언트측 소켓 팩토리
ssf - 원격 객체 호출을 수신하는, 서버측 소켓 팩토리
반환값:
기동 가능한 원격 객체가 사용하는 Stub
예외:
RemoteException - 객체의 export에 실패했을 경우
도입된 버젼:
1.2

unexportObject

public static boolean unexportObject(Remote  obj,
                                     boolean force)
                              throws NoSuchObjectException 
RMI 런타임으로부터 원격 객체 obj 를 삭제합니다. 삭제가 성공하면(자), 객체는 RMI 입접속호의 접수를 위해서(때문에) 사용할 수 없게 됩니다. 파라미터 force 가 true 로 설정되어 있으면(자), 원격 객체에의 보류 상태의 호출이 있는 경우나, 진행중의 호출이 있는 경우에서도, 객체는 강제적으로 안 export 됩니다. 파라미터 force 가 false 로 설정되어 있으면(자), 객체에의 보류중 또는 진행중의 호출이 없는 경우에게만, 객체가 안 export 됩니다.

파라미터:
obj - 안 export 되는 원격 객체
force - true 의 경우는, 보류중 또는 진행중의 호출이 있어도, 객체를 안 export 한다. false 의 경우는, 보류중 또는 진행중의 호출이 없을 때에만, 객체를 안 export 한다
반환값:
오퍼레이션이 성공했을 경우는 true, 그렇지 않은 경우는 false
예외:
NoSuchObjectException - 원격 객체가 현재 export되어 있지 않은 경우
도입된 버젼:
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 도 참조해 주세요.