|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.management.remote.rmi.RMIServerImpl
public abstract class RMIServerImpl
연결기 서버를 나타내는 RMI 객체입니다. 원격 클라이언트는,newClient(Object)
메소드를 사용해 접속을 작성할 수 있습니다. 이 메소드는, 접속을 나타내는 RMI 객체를 돌려줍니다.
사용자 코드는, 반드시 이 클래스를 직접 참조하지 않습니다. 일반적으로, RMI 접속 서버는,RMIConnectorServer
클래스에서 작성됩니다. 원격 클라이언트는, 일반적으로,JMXConnectorFactory
를 사용하는지,RMIConnector
를 인스턴스화하는 것에 의해 접속을 작성합니다.
이것은 추상 클래스입니다. 구상 서브 클래스는, JRMP 와 IIOP 의 어느 쪽을 사용할까 등, 클라이언트 접속 객체의 상세를 정의합니다.
생성자 의 개요 | |
---|---|
RMIServerImpl (Map <String ,? > env)
새로운 RMIServerImpl 를 구축합니다. |
메소드의 개요 | |
---|---|
protected void |
clientClosed (RMIConnection client)
makeClient 에 의해 작성된 클라이언트 접속의 종료시에 불려 가는 메소드입니다. |
void |
close ()
이 접속 서버를 종료합니다. |
protected abstract void |
closeClient (RMIConnection client)
makeClient 로 작성된 클라이언트 접속을 종료합니다. |
protected abstract void |
closeServer ()
close() 에 의해 불려 가 연결기 서버를 종료합니다. |
protected abstract void |
export ()
이 RMI 객체를 export 합니다. |
ClassLoader |
getDefaultClassLoader ()
이 연결기 서버로 사용되는 디폴트의 ClassLoader 를 가져옵니다. |
MBeanServer |
getMBeanServer ()
이 연결기 서버의 접속처의 MBeanServer 입니다. |
protected abstract String |
getProtocol ()
이 객체의 프로토콜 캐릭터 라인을 돌려줍니다. |
String |
getVersion ()
이 연결기 서버가 인식하는 RMI 연결기 프로토콜의 버젼입니다. |
protected abstract RMIConnection |
makeClient (String connectionId,
Subject subject)
새로운 클라이언트 접속을 작성합니다. |
RMIConnection |
newClient (Object credentials)
새로운 클라이언트 접속을 작성합니다. |
void |
setDefaultClassLoader (ClassLoader cl)
이 연결기 서버의 디폴트의 ClassLoader 를 설정합니다. |
void |
setMBeanServer (MBeanServer mbs)
이 연결기 서버의 접속처의 MBeanServer 를 설정합니다. |
abstract Remote |
toStub ()
이 서버 객체의 원격 처리 가능한 Stub를 돌려줍니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public RMIServerImpl(Map <String ,? > env)
새로운 RMIServerImpl
를 구축합니다.
env
- 새로운 RMIServerImpl
의 속성을 포함한다
환경. 이 파라미터가 null 의 경우,
빈 상태(empty)의 맵을 지정했을 경우와 같은 것이 된다메소드의 상세 |
---|
protected abstract void export() throws IOException
이 RMI 객체를 export 합니다.
IOException
- 이 RMI 객체를 export 할 수 없는 경우public abstract Remote toStub() throws IOException
IOException
- Stub를 취득할 수 없는 경우.
예를 들어, RMIServerImpl 가 아직 export되어 있지 않은 경우 등public void setDefaultClassLoader(ClassLoader cl)
이 연결기 서버의 디폴트의 ClassLoader
를 설정합니다. 새로운 클라이언트 접속은, 이 클래스 로더를 사용합니다. 기존의 클라이언트 접속에 영향은 없습니다.
cl
- 이 연결기 서버로 사용된다
새로운 ClassLoader
getDefaultClassLoader()
public ClassLoader getDefaultClassLoader()
이 연결기 서버로 사용되는 디폴트의 ClassLoader
를 가져옵니다.
ClassLoader
setDefaultClassLoader(java.lang.ClassLoader)
public void setMBeanServer(MBeanServer mbs)
이 연결기 서버의 접속처의 MBeanServer
를 설정합니다. 새로운 클라이언트 접속은, 이 MBeanServer
와 서로 작용합니다. 기존의 클라이언트 접속에 영향은 없습니다.
mbs
- 새로운 MBeanServer
. null 이라도 좋지만,
그 경우, 새로운 클라이언트 접속은 거부되는getMBeanServer()
public MBeanServer getMBeanServer()
이 연결기 서버의 접속처의 MBeanServer
입니다. 이것은, 이 객체상에서 setMBeanServer(javax.management.MBeanServer)
에게 건네지는 마지막 값입니다. 메소드 호출이 아직 행해지지 않은 경우는 null 가 됩니다.
MBeanServer
setMBeanServer(javax.management.MBeanServer)
public String getVersion()
RMIServer
의 기술:이 연결기 서버가 인식하는 RMI 연결기 프로토콜의 버젼입니다. 다음의 형식의 캐릭터 라인이 됩니다.
protocol-version implementation-name
protocol-version
는 0 이상의 복수의 정수를 피리어드 (.
)(으)로 단락지은 형식이 됩니다. 이 문서에 기재되어 있는 버젼의 구현에서는, 캐릭터 라인 1.0
을 사용합니다.
프로토콜 버젼과 구현명의 사이에는 공백 문자를 1 개 입력합니다. 구현명의 형식은 지정되고 있지 않습니다만, 구현의 버젼 번호를 포함하는 것을 추천합니다. 시큐리티상의 이유등에 의해, 구현명으로서 공문자열을 지정할 수도 있습니다.
RMIServer
내의 getVersion
public RMIConnection newClient(Object credentials) throws IOException
새로운 클라이언트 접속을 작성합니다. 이 메소드는,makeClient
를 호출해, 반환된 클라이언트 접속 객체를 내부 리스트에 추가합니다. close()
메소드에 의해, 이 RMIServerImpl
가 종료되었을 경우, 리스트내의 각 객체의 close()
메소드가 불려 갑니다.
이 내부 리스트내에 클라이언트 접속 객체가 존재하고 있어도, 이 클라이언트 접속 객체가 가베지 컬렉션의 대상으로부터 제외되는 것은 아닙니다.
RMIServer
내의 newClient
credentials
- 이 객체는,
RMIConnection
를 작성하기 전에,
호출측의 인증용으로서 서버에게 건네지는 사용자 정의의 증명서를
지정한다. null 도 가능
RMIConnection
일반적으로,
makeClient
에 의해 작성된 객체.
덧붙여 구현은,RMIConnection
를 구현하는 다른 객체에,
이 객체를 랩 할 수 있다
IOException
- 새로운 클라이언트 객체를
작성 또는 export 할 수 없는 경우
SecurityException
- 지정된 증명서에서는,
서버가 사용자를 인증할 수 없는 경우
IllegalStateException
- getMBeanServer()
가
null 의 경우protected abstract RMIConnection makeClient(String connectionId, Subject subject) throws IOException
새로운 클라이언트 접속을 작성합니다. 이 메소드는, 공개 메소드 newClient(Object)
에 의해 불려 갑니다.
connectionId
- 새로운 접속의 ID.
이 연결기 서버에 의해 유효화 된 모든 접속은,
각각 다른 ID 를 가진다.
이 파라미터가 null 의 경우의 동작은 부정subject
- 인증 끝난 비인증자. null 도 가능
RMIConnection
IOException
- 새로운 클라이언트 객체를
작성 또는 export 할 수 없는 경우protected abstract void closeClient(RMIConnection client) throws IOException
makeClient
로 작성된 클라이언트 접속을 종료합니다.
client
- 이전에
makeClient
에 의해 반환된,closeClient
메소드가 아직
1 회도 불려 가지 않은 접속. client
가 null 의 경우를 포함해,
어떠한 조건 위반이 있었을 경우,
동작은 부정이 된다
IOException
- 클라이언트 접속을
종료할 수 없는 경우protected abstract String getProtocol()
이 객체의 프로토콜 캐릭터 라인을 돌려줍니다. 반환되는 캐릭터 라인은, RMI/JRMP 의 경우는 rmi
, RMI/IIOP 의 경우는 iiop
가 됩니다.
protected void clientClosed(RMIConnection client) throws IOException
makeClient
에 의해 작성된 클라이언트 접속의 종료시에 불려 가는 메소드입니다. makeClient
를 정의하는 서브 클래스는, 생성된 객체의 close
메소드가 불려 갔을 때, 이 메소드가 불려 가도록(듯이) 설정할 필요가 있습니다. 이것에 의해,RMIServerImpl
의 접속 리스트로부터의 삭제가 가능하게 됩니다. 이 리스트내에 client
가 존재하고 있지 않아도, 에러가 아닙니다.
이 메소드는, 접속 리스트로부터 client
를 삭제한 뒤,closeClient(client)
를 호출합니다.
client
- 종료한 클라이언트 접속
IOException
- closeClient(javax.management.remote.rmi.RMIConnection)
가
이 예외를 throw 하는 경우
NullPointerException
- client
가 null 의 경우public void close() throws IOException
이 접속 서버를 종료합니다. 이 메소드는, 새로운 클라이언트 접속을 더 이상 받아들이지 않게 하기 위한(해),closeServer()
메소드를 호출합니다. 그러자(면),makeClient
에 의해 반환된 나머지 RMIConnection
객체 1 개(살) 1 개(살)에 대해서, 그 close
메소드가 불려 갑니다.
이 메소드가 2 회 이상 불려 갔을 때의 동작은 지정되고 있지 않습니다.
closeServer()
가 IOException
를 throw 했을 경우, 개개의 접속은 종료합니다. 그 후, 이 메소드로부터 IOException
가 throw 됩니다.
closeServer()
는 정상적으로 종료했지만, 1 개(살) 이상의 접속이 IOException
를 throw 했다고 합니다. 이 경우, 모든 접속이 종료한 뒤, 이러한 IOException
가운데 1 개가 throw 됩니다. 1 개(살) 이상의 접속이 IOException
를 throw 했을 경우, 이 메소드로부터 throw 되는 내용은 부정이 됩니다.
Closeable
내의 close
IOException
- closeServer()
또는
RMIConnection.close()
호출이
IOException
를 throw 했을 경우protected abstract void closeServer() throws IOException
close()
에 의해 불려 가 연결기 서버를 종료합니다. 이 메소드의 종료후, 연결기 서버는 새로운 접속을 일절 받아들이지 않게 됩니다.
IOException
- 연결기 서버의 종료에
실패했을 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.