JavaTM Platform
Standard Ed. 6

javax.management.loading
클래스 MLet

java.lang.Object 
  상위를 확장 java.lang.ClassLoader 
      상위를 확장 java.security.SecureClassLoader 
          상위를 확장 java.net.URLClassLoader 
              상위를 확장 javax.management.loading.MLet
모든 구현된 인터페이스:
Externalizable , Serializable , MLetMBean , MBeanRegistration
직계의 기존의 서브 클래스:
PrivateMLet


public class MLet
extends URLClassLoader
implements MLetMBean , MBeanRegistration , Externalizable

원격 URL 로부터 착신한 MBean 서버내의 MBean (복수가능)를 인스턴스화해, 등록할 수가 있습니다. m-let 는 관리 애플릿의 쇼트 컷입니다. m-let 서비스는, 취득하는 MBean 의 정보를 지정하는 m-let 텍스트 파일을 로드하는 것으로, MBean 의 처리를 실시합니다. 각 MBean 의 정보는, 단일의 태그 인스턴스 (MLET 태그)로 지정합니다. m-let 텍스트 파일의 위치는 URL 로 지정합니다.  

MLET 태그의 구문은 다음과 같습니다.  

<MLET
CODE = class | OBJECT = serfile
ARCHIVE = "archiveList"
[CODEBASE = codebaseURL]
[NAME = mbeanname]
[VERSION = version]
>
[arglist]
</MLET>  

다음에 각각의 의미를 나타냅니다.

CODE = class
취득하는 MBean 의 패키지명을 포함한 완전 Java 클래스명을 지정하는 속성입니다. ARCHIVE 속성으로 지정되었다 . jar 파일의 쳐 어느 쪽인가에, MBean 의 컴파일이 끝난 상태 . class 파일이 포함되어 있을 필요가 있습니다. CODEOBJECT 중 한쪽이 존재하고 있을 필요가 있습니다.
OBJECT = serfile
취득하는 MBean 의 직렬화 표현을 포함한다 . ser 파일을 지정하는 속성입니다. 이 파일은,ARCHIVE 속성으로 지정되었다 . jar 파일의 쳐 어느 쪽인가에 포함되어 있을 필요가 있습니다. . jar 파일에 디렉토리 계층이 포함되는 경우는, 이 계층내의 파일 패스를 지정합니다. 그렇게 하지 않으면 일치는 발견되지 않습니다. CODEOBJECT 중 한쪽이 존재하고 있을 필요가 있습니다.
ARCHIVE = "archiveList"
취득하는 MBean 에 의해 사용되는 MBean 또는 그 외의 자원을 포함한 1 개 이상의 . jar 파일을 지정하는 필수 속성입니다. . jar 파일의 쳐 어느 쪽인가에,CODE 또는 OBJECT 속성으로 지정된 파일이 포함되어 있을 필요가 있습니다. 어카이브(archive) 리스트에 복수의 파일이 포함되는 경우, 다음의 조건이 필요하게 됩니다. archivelist 내의 모든 . jar 파일이, 코드 베이스 URL 로 지정된 디렉토리에 포함되고 있을 필요가 있습니다.
CODEBASE = codebaseURL
취득하는 MBean 의 코드 베이스 URL 를 지정하는 옵션 속성입니다. ARCHIVE 속성으로 지정되었다 . jar 파일을 포함한 디렉토리를 식별합니다. 이 속성을 지정하는 것은,. jar 파일이 m-let 텍스트 파일과 같은 디렉토리에 없는 경우만입니다. 이 속성이 지정되어 있지 않은 경우, m-let 텍스트 파일의 베이스 URL 가 사용됩니다.
NAME = mbeanname
MBean 인스턴스를 m-let 서비스에 등록할 때, 이 MBean 인스턴스에 할당하는 객체명을 지정하는 옵션 속성입니다. mbeanname 의 선두가 구두점 문자 (:)인 경우, 객체명의 도메인 부분은 MBeanServer.getDefaultDomain() 에 의해 반환되는 MBean 서버의 디폴트 도메인이 됩니다.
VERSION = version
취득하는 MBean 와 관련 . jar 파일의 버젼 번호를 지정하는 옵션 속성입니다. 버젼 번호를 사용하면(자), m-let 텍스트 파일의 다음번 로드시에, 서버로부터 . jar 파일을 로드해, 캐쉬내에 로컬에 포함되고 있는 파일을 갱신할 수가 있습니다. version 에는, 0 이상의 복수의 10 진정수를 피리어드로 단락지어 지정합니다.
arglist
인스턴스화하는 MBean 의 파라미터 (복수가능)의 리스트를 지정하는 옵션 속성입니다. 리스트에 포함되는 것은, MBean 의 생성자 에게 건네지는 파라미터입니다. arglist 내의 각 항목은, 다음의 구문을 사용해 지정합니다.

<ARG TYPE=argumentType VALUE=value>

다음에 각각의 의미를 나타냅니다.

인수 리스트내로 지정하는 인수의 형태는, Java 원시형이나 Java 기본형이 아니면 안됩니다 (java.lang.Boolean, java.lang.Byte, java.lang.Short, java.lang.Long, java.lang.Integer, java.lang.Float, java.lang.Double, java.lang.String).

m-let 텍스트 파일을 로드하면(자), 파일로 지정된 각 MBean 의 인스턴스가 작성되어 등록됩니다.  

m-let 서비스는,java.net.URLClassLoader 를 확장합니다. 이 서비스를 사용해, 에이전트의 VM 내의 원격 클래스 및 jar 파일을 로드할 수 있습니다.

주 - MLet 클래스 로더는,MBeanServerFactory.getClassLoaderRepository(javax.management.MBeanServer) 를 사용해, 로드 된 jar 파일내에 발견되지 않는 클래스를 로드합니다.

도입된 버젼:
1.5
관련 항목:
직렬화 된 형식

생성자 의 개요
MLet ()
          위양 관계의 부모가 되어 있는 디폴트의 ClassLoader 를 사용해, 새로운 MLet 를 구축합니다.
MLet (URL [] urls)
          위양 관계의 부모가 되어 있는 디폴트의 ClassLoader 를 사용해, 지정된 URL 의 새로운 MLet 를 구축합니다.
MLet (URL [] urls, boolean delegateToCLR)
          위양 관계의 부모가 되어 있는 디폴트의 ClassLoader 를 사용해, 지정된 URL 의 새로운 MLet 를 구축합니다.
MLet (URL [] urls, ClassLoader  parent)
          지정된 URL 의 새로운 MLet 를 구축합니다.
MLet (URL [] urls, ClassLoader  parent, boolean delegateToCLR)
          지정된 URL 의 새로운 MLet 를 구축합니다.
MLet (URL [] urls, ClassLoader  parent, URLStreamHandlerFactory  factory)
          지정된 URL, 친클래스 로더, 및 URLStreamHandlerFactory 의 새로운 MLet 를 구축합니다.
MLet (URL [] urls, ClassLoader  parent, URLStreamHandlerFactory  factory, boolean delegateToCLR)
          지정된 URL, 친클래스 로더, 및 URLStreamHandlerFactory 의 새로운 MLet 를 구축합니다.
 
메소드의 개요
 void addURL (String  url)
          지정된 URL 를, 클래스 및 자원을 검색하기 위한 URL 리스트에 추가합니다.
 void addURL (URL  url)
          지정된 URL 를, 클래스 및 자원을 검색하기 위한 URL 리스트에 추가합니다.
protected  URL check (String  version, URL  codebase, String  jarfile, MLetContent  mlet)
          이 메소드는, 캐쉬 기능과 버젼 관리 기능을 지원하기 위해서 이 서비스를 확장할 때 오버라이드(override) 됩니다.
protected  Class <? > findClass (String  name)
          재정의 예정의 클래스 로더의 main 메소드입니다.
protected  String findLibrary (String  libname)
          네이티브 라이브러리의 절대 경로명을 돌아갑니다.
 String getLibraryDirectory ()
          네이티브 라이브러리를 메모리에 로드하기 전에 포함하는 라이브러리 로더에 의해 현재 사용되고 있는 디렉토리를 가져옵니다.
 Set <Object > getMBeansFromURL (String  url)
          MBean 서버에 추가될 예정의 MBean 를 정의하는 MLET 태그를 포함한 텍스트 파일을 로드합니다.
 Set <Object > getMBeansFromURL (URL  url)
          MBean 서버에 추가될 예정의 MBean 를 정의하는 MLET 태그를 포함한 텍스트 파일을 로드합니다.
 URL [] getURLs ()
          클래스 및 자원을 로드하기 위한 URL 의 검색 패스를 돌려줍니다.
 Class <? > loadClass (String  name, ClassLoaderRepository  clr)
          이 MLet 의 URL 내에 클래스가 발견되지 않는 경우, 지정된 ClassLoaderRepository 을 사용해 클래스를 로드합니다.
 void postDeregister ()
          MBean 서버로부터 등록 해제한 뒤, m-let 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.
 void postRegister (Boolean  registrationDone)
          MBean 서버에의 등록이 성공 또는 실패한 뒤, m-let 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.
 void preDeregister ()
          MBean 서버로부터 등록 해제하기 전에, m-let 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.
 ObjectName preRegister (MBeanServer  server, ObjectName  name)
          MBean 서버에 등록되기 전에, m-let 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.
 void readExternal (ObjectInput  in)
          지정된 ObjectInput 로부터, 이 MLet 의 내용을 복원합니다.
 void setLibraryDirectory (String  libdir)
          네이티브 라이브러리를 메모리에 로드하기 전에 포함하는 라이브러리 로더에 의해 사용되는 디렉토리를 설정합니다.
 void writeExternal (ObjectOutput  out)
          이 MLet 의 내용을, 지정된 ObjectOutput 에 보존합니다.
 
클래스 java.net. URLClassLoader 로부터 상속된 메소드
definePackage , findResource , findResources , getPermissions , newInstance , newInstance
 
클래스 java.security. SecureClassLoader 로부터 상속된 메소드
defineClass , defineClass
 
클래스 java.lang. ClassLoader 로부터 상속된 메소드
clearAssertionStatus , defineClass , defineClass , defineClass , defineClass , definePackage , findLoadedClass , findSystemClass , getPackage , getPackages , getParent , getResource , getResourceAsStream , getResources , getSystemClassLoader , getSystemResource , getSystemResourceAsStream , getSystemResources , loadClass , loadClass , resolveClass , setClassAssertionStatus , setDefaultAssertionStatus , setPackageAssertionStatus , setSigners
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 
인터페이스 javax.management.loading. MLetMBean 로부터 상속된 메소드
getResource , getResourceAsStream , getResources
 

생성자 의 상세

MLet

public MLet()
위양 관계의 부모가 되어 있는 디폴트의 ClassLoader 를 사용해, 새로운 MLet 를 구축합니다.


MLet

public MLet(URL [] urls)
위양 관계의 부모가 되어 있는 디폴트의 ClassLoader 를 사용해, 지정된 URL 의 새로운 MLet 를 구축합니다. URL 는, 친클래스 로더내에서 검색된 뒤, 클래스 및 자원으로 지정된 순서로 검색됩니다.

파라미터:
urls - 클래스 및 자원의 로드원이 되는 URL

MLet

public MLet(URL [] urls,
            ClassLoader  parent)
지정된 URL 의 새로운 MLet 를 구축합니다. URL 는, 친클래스 로더내에서 검색된 뒤, 클래스 및 자원으로 지정된 순서로 검색됩니다. parent 인수는, 위양용의 친클래스 로더로서 사용됩니다.

파라미터:
urls - 클래스 및 자원의 로드원이 되는 URL
parent - 위양용의 친클래스 로더

MLet

public MLet(URL [] urls,
            ClassLoader  parent,
            URLStreamHandlerFactory  factory)
지정된 URL, 친클래스 로더, 및 URLStreamHandlerFactory 의 새로운 MLet 를 구축합니다. parent 인수는, 위양용의 친클래스 로더로서 사용됩니다. factory 인수는, 새로운 URL 를 작성할 경우에 프로토콜 핸들러를 취득하기 위한 스트림 핸들러 팩토리로서 사용됩니다.

파라미터:
urls - 클래스 및 자원의 로드원이 되는 URL
parent - 위양용의 친클래스 로더
factory - URL 의 작성시에 사용하는 URLStreamHandlerFactory

MLet

public MLet(URL [] urls,
            boolean delegateToCLR)
위양 관계의 부모가 되어 있는 디폴트의 ClassLoader 를 사용해, 지정된 URL 의 새로운 MLet 를 구축합니다. URL 는, 친클래스 로더내에서 검색된 뒤, 클래스 및 자원으로 지정된 순서로 검색됩니다.

파라미터:
urls - 클래스 및 자원의 로드원이 되는 URL
delegateToCLR - 친 ClassLoader 에서도 URL 에서도 클래스가 발견되지 않고, MLet 가 MBeanServer ClassLoaderRepository 에 처리를 위양 할 필요가 있는 경우는 true

MLet

public MLet(URL [] urls,
            ClassLoader  parent,
            boolean delegateToCLR)
지정된 URL 의 새로운 MLet 를 구축합니다. URL 는, 친클래스 로더내에서 검색된 뒤, 클래스 및 자원으로 지정된 순서로 검색됩니다. parent 인수는, 위양용의 친클래스 로더로서 사용됩니다.

파라미터:
urls - 클래스 및 자원의 로드원이 되는 URL
parent - 위양용의 친클래스 로더
delegateToCLR - 친 ClassLoader 에서도 URL 에서도 클래스가 발견되지 않고, MLet 가 MBeanServer ClassLoaderRepository 에 처리를 위양 할 필요가 있는 경우는 true

MLet

public MLet(URL [] urls,
            ClassLoader  parent,
            URLStreamHandlerFactory  factory,
            boolean delegateToCLR)
지정된 URL, 친클래스 로더, 및 URLStreamHandlerFactory 의 새로운 MLet 를 구축합니다. parent 인수는, 위양용의 친클래스 로더로서 사용됩니다. factory 인수는, 새로운 URL 를 작성할 경우에 프로토콜 핸들러를 취득하기 위한 스트림 핸들러 팩토리로서 사용됩니다.

파라미터:
urls - 클래스 및 자원의 로드원이 되는 URL
parent - 위양용의 친클래스 로더
factory - URL 의 작성시에 사용하는 URLStreamHandlerFactory
delegateToCLR - 친 ClassLoader 에서도 URL 에서도 클래스가 발견되지 않고, MLet 가 MBeanServer ClassLoaderRepository 에 처리를 위양 할 필요가 있는 경우는 true
메소드의 상세

addURL

public void addURL(URL  url)
지정된 URL 를, 클래스 및 자원을 검색하기 위한 URL 리스트에 추가합니다.

정의:
인터페이스 MLetMBean 내의 addURL
오버라이드(override):
클래스 URLClassLoader 내의 addURL
파라미터:
url - URL 의 검색 패스에 추가하는 URL

addURL

public void addURL(String  url)
            throws ServiceNotFoundException 
지정된 URL 를, 클래스 및 자원을 검색하기 위한 URL 리스트에 추가합니다.

정의:
인터페이스 MLetMBean 내의 addURL
파라미터:
url - 추가하는 URL
예외:
ServiceNotFoundException - 이상한 형식의 URL 가 지정되었을 경우

getURLs

public URL [] getURLs()
클래스 및 자원을 로드하기 위한 URL 의 검색 패스를 돌려줍니다. 이것에는, 생성자 으로 지정된 URL 의 원의 리스트와 나중에 addURL() 메소드에 의해 추가된 URL 도 포함됩니다.

정의:
인터페이스 MLetMBean 내의 getURLs
오버라이드(override):
클래스 URLClassLoader 내의 getURLs
반환값:
클래스 및 자원을 로드하기 위한 URL 의 검색 패스

getMBeansFromURL

public Set <Object > getMBeansFromURL(URL  url)
                             throws ServiceNotFoundException 
MBean 서버에 추가될 예정의 MBean 를 정의하는 MLET 태그를 포함한 텍스트 파일을 로드합니다. 이 텍스트 파일의 장소는, URL 로 지정됩니다. MLET 파일로 지정된 MBean 는, MBean 서버로 인스턴스화 되어 등록됩니다.

정의:
인터페이스 MLetMBean 내의 getMBeansFromURL
파라미터:
url - 로드 되는 텍스트 파일의 URL 에 상당하는 URL 객체
반환값:
로드 된 m-let 텍스트 파일내의 MLET 태그 마다 1 개의 엔트리를 포함한 세트. 각 엔트리는, 작성된 MBean 의 ObjectInstance 지정한다. MBean 를 작성할 수 없었던 경우는, throw 가능한 객체 (에러 또는 예외)를 지정한다
예외:
ServiceNotFoundException - m-let 텍스트 파일에 MLET 태그가 포함되지 않은 경우, m-let 텍스트 파일이 발견되지 않는 경우, MLET 태그의 필수 속성이 지정되어 있지 않은 경우, 또는 url 의 값이 null 인 경우
IllegalStateException - MLet MBean 가 MBeanServer 에 등록되지 않은 경우

getMBeansFromURL

public Set <Object > getMBeansFromURL(String  url)
                             throws ServiceNotFoundException 
MBean 서버에 추가될 예정의 MBean 를 정의하는 MLET 태그를 포함한 텍스트 파일을 로드합니다. 이 텍스트 파일의 장소는, URL 로 지정됩니다. MLET 파일로 지정된 MBean 는, MBean 서버로 인스턴스화 되어 등록됩니다.

정의:
인터페이스 MLetMBean 내의 getMBeansFromURL
파라미터:
url - 로드 되는 텍스트 파일의 URL 에 상당하는 String 객체
반환값:
로드 된 m-let 텍스트 파일내의 MLET 태그 마다 1 개의 엔트리를 포함한 세트. 각 엔트리는, 작성된 MBean 의 ObjectInstance 지정한다. MBean 를 작성할 수 없었던 경우는, throw 가능한 객체 (에러 또는 예외)를 지정한다
예외:
ServiceNotFoundException - m-let 텍스트 파일에 MLET 태그가 포함되지 않은 경우, m-let 텍스트 파일이 발견되지 않는 경우, MLET 태그의 필수 속성이 지정되어 있지 않은 경우, 또는 url 의 형식이 이상한 경우
IllegalStateException - MLet MBean 가 MBeanServer 에 등록되지 않은 경우

getLibraryDirectory

public String  getLibraryDirectory()
네이티브 라이브러리를 메모리에 로드하기 전에 포함하는 라이브러리 로더에 의해 현재 사용되고 있는 디렉토리를 가져옵니다.

정의:
인터페이스 MLetMBean 내의 getLibraryDirectory
반환값:
라이브러리 로더에 의해 현재 사용되고 있는 디렉토리
예외:
UnsupportedOperationException - 이 구현이 네이티브 라이브러리의 이 포함 방법을 지원하지 않는 경우
관련 항목:
setLibraryDirectory(java.lang.String)

setLibraryDirectory

public void setLibraryDirectory(String  libdir)
네이티브 라이브러리를 메모리에 로드하기 전에 포함하는 라이브러리 로더에 의해 사용되는 디렉토리를 설정합니다.

정의:
인터페이스 MLetMBean 내의 setLibraryDirectory
파라미터:
libdir - 라이브러리 로더에 의해 사용되는 디렉토리
예외:
UnsupportedOperationException - 이 구현이 네이티브 라이브러리의 이 포함 방법을 지원하지 않는 경우
관련 항목:
getLibraryDirectory()

preRegister

public ObjectName  preRegister(MBeanServer  server,
                              ObjectName  name)
                       throws Exception 
MBean 서버에 등록되기 전에, m-let 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다. ObjectName 가 null 의 경우, m-let 는 디폴트의 이름 <defaultDomain>:type=MLet 를 사용해 등록됩니다.

정의:
인터페이스 MBeanRegistration 내의 preRegister
파라미터:
server - MBean 서버. m-let 는 여기에 등록되는
name - m-let 의 객체명
반환값:
등록된 m-let 의 이름
예외:
Exception - 이 예외는, MBean 서버에 캐치 되어 MBeanRegistrationException 로서 재throw 된다

postRegister

public void postRegister(Boolean  registrationDone)
MBean 서버에의 등록이 성공 또는 실패한 뒤, m-let 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.

정의:
인터페이스 MBeanRegistration 내의 postRegister
파라미터:
registrationDone - m-let 가 MBean 서버에 정상적으로 등록되었는지의 여부를 나타낸다. 등록에 실패했을 경우의 값은 false

preDeregister

public void preDeregister()
                   throws Exception 
MBean 서버로부터 등록 해제하기 전에, m-let 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.

정의:
인터페이스 MBeanRegistration 내의 preDeregister
예외:
java.langException - 이 예외는, MBean 서버에 캐치 되어 MBeanRegistrationException 로서 재throw 된다
Exception - 이 예외는, MBean 서버에 캐치 되어 MBeanRegistrationException 로서 재throw 된다

postDeregister

public void postDeregister()
MBean 서버로부터 등록 해제한 뒤, m-let 가 필요한 오퍼레이션을 실행할 수 있도록(듯이) 합니다.

정의:
인터페이스 MBeanRegistration 내의 postDeregister

writeExternal

public void writeExternal(ObjectOutput  out)
                   throws IOException ,
                          UnsupportedOperationException 

이 MLet 의 내용을, 지정된 ObjectOutput 에 보존합니다. 이 메소드는, 모든 구현으로 지원되는 것은 아닙니다. 이 메소드를 지원하지 않는 구현은,UnsupportedOperationException 를 throw 합니다. 이 메소드를 지원하는 경우, 또는 데이터의 기입 형식을 변경하는 경우는, 서브 클래스에서 이 메소드를 오버라이드(override) 합니다.

데이터의 기입 형식은 미지정입니다만,writeExternal(java.io.ObjectOutput) 를 지원하는 구현은,readExternal(java.io.ObjectInput) 도 지원할 필요가 있습니다. 즉,writeExternal(java.io.ObjectOutput) 에 기입해진 데이터를 readExternal(java.io.ObjectInput) 로 읽어낼 수가 없으면 안됩니다.

정의:
인터페이스 Externalizable 내의 writeExternal
파라미터:
out - 기입처의 객체 출력 스트림
예외:
IOException - 기입중에 문제가 발생했을 경우
UnsupportedOperationException - 이 구현이 이 오퍼레이션을 지원하지 않는 경우

readExternal

public void readExternal(ObjectInput  in)
                  throws IOException ,
                         ClassNotFoundException ,
                         UnsupportedOperationException 

지정된 ObjectInput 로부터, 이 MLet 의 내용을 복원합니다. 이 메소드는, 모든 구현으로 지원되는 것은 아닙니다. 이 메소드를 지원하지 않는 구현은,UnsupportedOperationException 를 throw 합니다. 이 메소드를 지원하는 경우, 또는 데이터의 읽기 형식을 변경하는 경우는, 서브 클래스에서 이 메소드를 오버라이드(override) 합니다.

데이터의 읽기 형식은 미지정입니다만,readExternal(java.io.ObjectInput) 를 지원하는 구현은,writeExternal(java.io.ObjectOutput) 도 지원할 필요가 있습니다. 즉,writeExternal(java.io.ObjectOutput) 에 기입해진 데이터를 readExternal(java.io.ObjectInput) 로 읽어낼 수가 없으면 안됩니다.

정의:
인터페이스 Externalizable 내의 readExternal
파라미터:
in - read원의 객체 입력 스트림
예외:
IOException - 읽기중에 문제가 발생했을 경우
ClassNotFoundException - 복원하려 하고 있는 객체에 대응하는 클래스가 발견되지 않는 경우
UnsupportedOperationException - 이 구현이 이 오퍼레이션을 지원하지 않는 경우

loadClass

public Class <? > loadClass(String  name,
                          ClassLoaderRepository  clr)
                   throws ClassNotFoundException 

이 MLet 의 URL 내에 클래스가 발견되지 않는 경우, 지정된 ClassLoaderRepository 을 사용해 클래스를 로드합니다. ClassLoaderRepository 가 null 의 경우, 이 MLet 의 URL 내에 클래스가 발견되지 않으면 즉시 ClassNotFoundException 가 throw 됩니다.

파라미터:
name - 로드 대상 클래스의 이름
clr - 이 ClassLoader 내로 지정의 클래스가 발견되지 않는 경우에 사용되는 ClassLoaderRepository. null 의 경우 있어
반환값:
결과적으로 얻을 수 있는 Class 객체
예외:
ClassNotFoundException - 이 ClassLoader 내에도 지정의 ClassLoaderRepository 내에도 지정의 클래스가 발견되지 않는 경우

findClass

protected Class <? > findClass(String  name)
                      throws ClassNotFoundException 
재정의 예정의 클래스 로더의 main 메소드입니다.

오버라이드(override):
클래스 URLClassLoader 내의 findClass
파라미터:
name - 클래스의 이름
반환값:
결과적으로 얻을 수 있는 Class 객체
예외:
ClassNotFoundException - 지정된 클래스가 발견되지 않는 경우

findLibrary

protected String  findLibrary(String  libname)
네이티브 라이브러리의 절대 경로명을 돌아갑니다. VM 는, 이 메소드를 호출해, 이 클래스 로더에 의해 로드 된 클래스의 네이티브 라이브러리를 검색합니다. 처음은, 네이티브 라이브러리명만을 사용해, JAR 파일내가 검색됩니다. 네이티브 라이브러리명이 발견되지 않는 경우는, 네이티브 라이브러리명과 아키텍쳐(architecture) 고유의 경로명 (OSName/OSArch/OSVersion/lib/nativelibname)으로 검색을 합니다.

JAR 파일내에서 Solaris SPARC 5.7 의 라이브러리의 상태를 검색할 때:

  1. libstat.so
  2. SunOS/sparc/5. 7/lib/libstat.so
JAR 파일내에서 Windows NT 4.0 의 라이브러리의 상태를 검색할 때:
  1. stat.dll
  2. WindowsNT/x86/4. 0/lib/stat.dll

구체적으로는,nativelibnameSystem.mapLibraryName (libname) 의 결과로 합니다. 그 후, JAR 파일내에서 다음의 이름이 다음의 차례로 검색됩니다.
nativelibname
<os.name>/<os.arch>/<os.version>/lib/nativelibname
여기서,<X> 는,System.getProperty(X) 로부터 포함되는 공백을 삭제한 것으로,/ 는 파일 단락 문자 (File.separator )를 나타냅니다.  

이 메소드의 반환값이 null (이 클래스 로더로 로드 된 JAR 파일내에 라이브러리가 발견되지 않는다)의 경우, VM 는,java.library.path 프로퍼티으로서 지정된 패스를 부가해 라이브러리를 검색합니다.

오버라이드(override):
클래스 ClassLoader 내의 findLibrary
파라미터:
libname - 라이브러리명
반환값:
네이티브 라이브러리의 절대 패스
관련 항목:
System.loadLibrary(String) , System.mapLibraryName(String)

check

protected URL  check(String  version,
                    URL  codebase,
                    String  jarfile,
                    MLetContent  mlet)
             throws Exception 

이 메소드는, 캐쉬 기능과 버젼 관리 기능을 지원하기 위해서 이 서비스를 확장할 때 오버라이드(override) 됩니다. MLet 파일로부터 버젼, 코드 베이스, 및 jar 파일이 추출되면(자) 불려 가 지정의 MBean 를 로드해도 문제가 없는가를 확인하거나 지정의 URL 를 다른 URL 로 옮겨놓기 위해서(때문에) 사용됩니다.

이 메소드의 디폴트 구현은, 미변경의codebase 를 돌려줍니다.

파라미터:
version - 로컬에 포함되었다 . jar 파일의 버젼 번호
codebase - 원격 . jar 파일의 베이스 URL
jarfile - 로드 된다 . jar 파일의 이름
mlet - MLET 태그를 나타내는 MLetContent 인스턴스
반환값:
로드 된 MBean 에 의해 사용되는 코드 베이스. 반환값은 null 이외
예외:
Exception - 어떠한 원인으로 MBean 가 로드 되지 않았던 경우. 이 예외는,getMBeansFromURL 에 의해 반환된 세트에 추가된다

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 도 참조해 주세요.