|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.nio.channels.spi.SelectorProvider
public abstract class SelectorProvider
셀렉터 및 선택 가능 채널의 서비스 프로바이더 클래스입니다.
셀렉터 프로바이더는, 제로 인수 생성자 을 가져, 이하의 추상 메소드를 구현하는, 이 클래스의 구상 서브 클래스입니다. 지정된 Java 가상 머신 호출은,provider
메소드에 의해 반환되는, 시스템 전체로 단일의 디폴트 프로바이더 인스턴스를 보관 유지합니다. 이 메소드의 최초의 호출은, 이하의 디폴트 프로바이더를 검출합니다.
시스템 전체의 디폴트 프로바이더는,DatagramChannel
,Pipe
,Selector
,ServerSocketChannel
, 및 SocketChannel
의 각 클래스의 정적인 open 메소드에 의해 사용되는 것 외에System.inheritedChannel()
메소드에 의해도 사용됩니다. 프로그램내에서 디폴트 이외의 프로바이더를 사용하는 경우는, 그 프로바이더를 인스턴스화한 뒤, 이 클래스에 정의되고 있는 open 메소드를 직접 호출합니다.
이 클래스내의 모든 메소드는, 복수의 병행 thread로 안전하게 사용할 수 있습니다.
생성자 의 개요 | |
---|---|
protected |
SelectorProvider ()
이 클래스의 새로운 인스턴스를 초기화합니다. |
메소드의 개요 | |
---|---|
Channel |
inheritedChannel ()
Java 가상 머신을 작성한 엔티티로부터 상속된 채널을 돌려줍니다. |
abstract DatagramChannel |
openDatagramChannel ()
데이터 그램 채널을 오픈합니다. |
abstract Pipe |
openPipe ()
파이프를 오픈합니다. |
abstract AbstractSelector |
openSelector ()
셀렉터를 오픈합니다. |
abstract ServerSocketChannel |
openServerSocketChannel ()
서버 소켓 채널을 오픈합니다. |
abstract SocketChannel |
openSocketChannel ()
소켓 채널을 오픈합니다. |
static SelectorProvider |
provider ()
이 Java 가상 머신 호출을 위한 시스템 전체의 디폴트 셀렉터 프로바이더를 돌려줍니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
protected SelectorProvider()
SecurityException
- 시큐리티 매니저가 인스톨 되고 있어 그 매니저가 RuntimePermission
("selectorProvider") 를 거부하는 경우메소드의 상세 |
---|
public static SelectorProvider provider()
이 메소드를 최초로 호출했을 때, 다음의 순서로 디폴트 프로바이더 객체가 검출됩니다.
시스템 프로퍼티 java.nio.channels.spi.SelectorProvider 가 정의되고 있는 경우, 이것이 구상 프로바이더 클래스의 완전 지정명으로 보여집니다. 그 후, 클래스가 로드 되어 인스턴스가 작성됩니다.
시스템 클래스 로더의 인식하는 jar 파일에 프로바이더 클래스가 인스톨 되고 있어, 이 jar 파일에 자원 디렉토리 META-INF/services 내의 프로바이더 구성 파일 java.nio.channels.spi.SelectorProvider 가 포함되어 있는 경우, 파일로 지정되고 있는 최초의 클래스명이 사용됩니다. 그 후, 클래스가 로드 되어 인스턴스가 작성됩니다.
마지막으로, 상기의 수단으로 지정된 프로바이더가 존재하지 않는 경우는, 시스템의 디폴트 프로바이더 클래스의 인스턴스가 작성되어 결과가 돌려주어집니다.
다음번 이후의 호출에서도, 1 번째의 호출시에 반환된 프로바이더가 돌려주어집니다.
public abstract DatagramChannel openDatagramChannel() throws IOException
IOException
public abstract Pipe openPipe() throws IOException
IOException
public abstract AbstractSelector openSelector() throws IOException
IOException
public abstract ServerSocketChannel openServerSocketChannel() throws IOException
IOException
public abstract SocketChannel openSocketChannel() throws IOException
IOException
public Channel inheritedChannel() throws IOException
Java 가상 머신 등, 많은 operating system의 프로세스를 기동할 때에, 그 프로세스를 작성한 엔티티로부터 채널을 상속시킬 수가 있습니다. 다만, 그방법은 시스템에 의존합니다. 채널의 접속처로서 사용 가능한 엔티티에 대해서도 같습니다. 예를 들어, UNIX 시스템의 경우, 특정의 관련 네트워크 포트상에서 요구가 수신되면(자), 인터넷 서비스 demon (inetd) 경유로 그 요구를 처리하는 프로그램이 기동됩니다. 이 예의 경우, 기동된 프로세스는, 네트워크 소켓을 나타내는 채널을 상속합니다.
상속된 채널이 네트워크 소켓을 표현하고 있는 경우, 이 메소드로부터 반환되는 Channel
의 형태는, 다음의 순서로 결정됩니다.
상속된 채널이 스트림 지향의 접속이 끝난 소켓을 표현하고 있는 경우,SocketChannel
가 돌려주어집니다. 소켓 채널은, 적어도 처음은 블록 모드이며, 특정의 소켓 주소에 바인드 되고 있어 특정의 피어에 접속되고 있습니다.
상속된 채널이 스트림 지향의 대기중의 소켓을 표현하고 있는 경우,ServerSocketChannel
가 돌려주어집니다. 서버 소켓 채널은, 적어도 처음은 블록 모드이며, 특정의 소켓 주소에 바인드 되고 있습니다.
상속된 채널이 데이터그램 지향의 소켓을 표현하고 있는 경우,DatagramChannel
가 돌려주어집니다. 데이터 그램 채널은, 적어도 처음은 블록 모드이며, 특정의 소켓 주소에 바인드 되고 있습니다.
이 메소드는, 여기서 설명한 네트워크 지향의 채널에 가세해 장래적으로 다른 종류의 채널도 돌려주게 될 예정입니다.
이 메소드의 첫회 호출시에는, 채널이 작성되어 그것이 돌려주어집니다. 이 메소드의 후속 호출시에는, 그 같은 채널이 돌려주어집니다.
IOException
- 입출력 에러가 발생했을 경우
SecurityException
- 시큐리티 매니저가 인스톨 되고 있어 그 매니저가 RuntimePermission
("inheritedChannel") 를 거부하는 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.