|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 | |||||||||
java.lang.Objectjava.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
javax.management.loading.MLet
public class MLet
원격 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 = classARCHIVE 속성으로 지정되었다 . jar 파일의 쳐 어느 쪽인가에, MBean 의 컴파일이 끝난 상태 . class 파일이 포함되어 있을 필요가 있습니다. CODE 나 OBJECT 중 한쪽이 존재하고 있을 필요가 있습니다.
OBJECT = serfile. ser 파일을 지정하는 속성입니다. 이 파일은,ARCHIVE 속성으로 지정되었다 . jar 파일의 쳐 어느 쪽인가에 포함되어 있을 필요가 있습니다. . jar 파일에 디렉토리 계층이 포함되는 경우는, 이 계층내의 파일 패스를 지정합니다. 그렇게 하지 않으면 일치는 발견되지 않습니다. CODE 나 OBJECT 중 한쪽이 존재하고 있을 필요가 있습니다.
ARCHIVE = "archiveList". jar 파일을 지정하는 필수 속성입니다. . jar 파일의 쳐 어느 쪽인가에,CODE 또는 OBJECT 속성으로 지정된 파일이 포함되어 있을 필요가 있습니다. 어카이브(archive) 리스트에 복수의 파일이 포함되는 경우, 다음의 조건이 필요하게 됩니다.
. jar 파일이, 코드 베이스 URL 로 지정된 디렉토리에 포함되고 있을 필요가 있습니다.
CODEBASE = codebaseURLARCHIVE 속성으로 지정되었다 . jar 파일을 포함한 디렉토리를 식별합니다. 이 속성을 지정하는 것은,. jar 파일이 m-let 텍스트 파일과 같은 디렉토리에 없는 경우만입니다. 이 속성이 지정되어 있지 않은 경우, m-let 텍스트 파일의 베이스 URL 가 사용됩니다.
NAME = mbeannameMBeanServer.getDefaultDomain() 에 의해 반환되는 MBean 서버의 디폴트 도메인이 됩니다.
VERSION = version. jar 파일의 버젼 번호를 지정하는 옵션 속성입니다. 버젼 번호를 사용하면(자), m-let 텍스트 파일의 다음번 로드시에, 서버로부터 . jar 파일을 로드해, 캐쉬내에 로컬에 포함되고 있는 파일을 갱신할 수가 있습니다. version 에는, 0 이상의 복수의 10 진정수를 피리어드로 단락지어 지정합니다.
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 서비스는,java.net.URLClassLoader 를 확장합니다. 이 서비스를 사용해, 에이전트의 VM 내의 원격 클래스 및 jar 파일을 로드할 수 있습니다.
주 - MLet 클래스 로더는,MBeanServerFactory.getClassLoaderRepository(javax.management.MBeanServer) 를 사용해, 로드 된 jar 파일내에 발견되지 않는 클래스를 로드합니다.
| 생성자 의 개요 | |
|---|---|
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 |
| 생성자 의 상세 |
|---|
public MLet()
public MLet(URL [] urls)
urls - 클래스 및 자원의 로드원이 되는 URL
public MLet(URL [] urls,
ClassLoader parent)
urls - 클래스 및 자원의 로드원이 되는 URLparent - 위양용의 친클래스 로더
public MLet(URL [] urls,
ClassLoader parent,
URLStreamHandlerFactory factory)
urls - 클래스 및 자원의 로드원이 되는 URLparent - 위양용의 친클래스 로더factory - URL 의 작성시에 사용하는 URLStreamHandlerFactory
public MLet(URL [] urls,
boolean delegateToCLR)
urls - 클래스 및 자원의 로드원이 되는 URLdelegateToCLR - 친 ClassLoader 에서도 URL 에서도 클래스가 발견되지 않고, MLet 가 MBeanServer ClassLoaderRepository 에 처리를 위양 할 필요가 있는 경우는 true
public MLet(URL [] urls,
ClassLoader parent,
boolean delegateToCLR)
urls - 클래스 및 자원의 로드원이 되는 URLparent - 위양용의 친클래스 로더delegateToCLR - 친 ClassLoader 에서도 URL 에서도 클래스가 발견되지 않고, MLet 가 MBeanServer ClassLoaderRepository 에 처리를 위양 할 필요가 있는 경우는 true
public MLet(URL [] urls,
ClassLoader parent,
URLStreamHandlerFactory factory,
boolean delegateToCLR)
urls - 클래스 및 자원의 로드원이 되는 URLparent - 위양용의 친클래스 로더factory - URL 의 작성시에 사용하는 URLStreamHandlerFactorydelegateToCLR - 친 ClassLoader 에서도 URL 에서도 클래스가 발견되지 않고, MLet 가 MBeanServer ClassLoaderRepository 에 처리를 위양 할 필요가 있는 경우는 true| 메소드의 상세 |
|---|
public void addURL(URL url)
MLetMBean 내의 addURL URLClassLoader 내의 addURL url - URL 의 검색 패스에 추가하는 URL
public void addURL(String url)
throws ServiceNotFoundException
MLetMBean 내의 addURL url - 추가하는 URL
ServiceNotFoundException - 이상한 형식의 URL 가 지정되었을 경우public URL [] getURLs()
MLetMBean 내의 getURLs URLClassLoader 내의 getURLs
public Set <Object > getMBeansFromURL(URL url)
throws ServiceNotFoundException
MLetMBean 내의 getMBeansFromURL url - 로드 되는 텍스트 파일의 URL 에 상당하는 URL 객체
ServiceNotFoundException - m-let 텍스트 파일에 MLET 태그가 포함되지 않은 경우, m-let 텍스트 파일이 발견되지 않는 경우, MLET 태그의 필수 속성이 지정되어 있지 않은 경우, 또는 url 의 값이 null 인 경우
IllegalStateException - MLet MBean 가 MBeanServer 에 등록되지 않은 경우
public Set <Object > getMBeansFromURL(String url)
throws ServiceNotFoundException
MLetMBean 내의 getMBeansFromURL url - 로드 되는 텍스트 파일의 URL 에 상당하는 String 객체
ServiceNotFoundException - m-let 텍스트 파일에 MLET 태그가 포함되지 않은 경우, m-let 텍스트 파일이 발견되지 않는 경우, MLET 태그의 필수 속성이 지정되어 있지 않은 경우, 또는 url 의 형식이 이상한 경우
IllegalStateException - MLet MBean 가 MBeanServer 에 등록되지 않은 경우public String getLibraryDirectory()
MLetMBean 내의 getLibraryDirectory UnsupportedOperationException - 이 구현이 네이티브 라이브러리의 이 포함 방법을 지원하지 않는 경우setLibraryDirectory(java.lang.String) public void setLibraryDirectory(String libdir)
MLetMBean 내의 setLibraryDirectory libdir - 라이브러리 로더에 의해 사용되는 디렉토리
UnsupportedOperationException - 이 구현이 네이티브 라이브러리의 이 포함 방법을 지원하지 않는 경우getLibraryDirectory()
public ObjectName preRegister(MBeanServer server,
ObjectName name)
throws Exception
MBeanRegistration 내의 preRegister server - MBean 서버. m-let 는 여기에 등록되는name - m-let 의 객체명
Exception - 이 예외는, MBean 서버에 캐치 되어 MBeanRegistrationException 로서 재throw 된다public void postRegister(Boolean registrationDone)
MBeanRegistration 내의 postRegister registrationDone - m-let 가 MBean 서버에 정상적으로 등록되었는지의 여부를 나타낸다. 등록에 실패했을 경우의 값은 false
public void preDeregister()
throws Exception
MBeanRegistration 내의 preDeregister java.langException - 이 예외는, MBean 서버에 캐치 되어 MBeanRegistrationException 로서 재throw 된다
Exception - 이 예외는, MBean 서버에 캐치 되어
MBeanRegistrationException 로서 재throw 된다public void postDeregister()
MBeanRegistration 내의 postDeregister
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 - 이 구현이 이 오퍼레이션을 지원하지 않는 경우
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 - 이 구현이 이 오퍼레이션을 지원하지 않는 경우
public Class <? > loadClass(String name,
ClassLoaderRepository clr)
throws ClassNotFoundException
이 MLet 의 URL 내에 클래스가 발견되지 않는 경우, 지정된 ClassLoaderRepository 을 사용해 클래스를 로드합니다. ClassLoaderRepository 가 null 의 경우, 이 MLet 의 URL 내에 클래스가 발견되지 않으면 즉시 ClassNotFoundException 가 throw 됩니다.
name - 로드 대상 클래스의 이름clr - 이 ClassLoader 내로 지정의 클래스가 발견되지 않는 경우에 사용되는 ClassLoaderRepository. null 의 경우 있어
ClassNotFoundException - 이 ClassLoader 내에도 지정의 ClassLoaderRepository 내에도 지정의 클래스가 발견되지 않는 경우
protected Class <? > findClass(String name)
throws ClassNotFoundException
URLClassLoader 내의 findClass name - 클래스의 이름
ClassNotFoundException - 지정된 클래스가 발견되지 않는 경우protected String findLibrary(String libname)
OSName/OSArch/OSVersion/lib/nativelibname)으로 검색을 합니다. JAR 파일내에서 Solaris SPARC 5.7 의 라이브러리의 상태를 검색할 때:
구체적으로는,nativelibname 을 System.mapLibraryName (libname) 의 결과로 합니다. 그 후, JAR 파일내에서 다음의 이름이 다음의 차례로 검색됩니다. nativelibname
<os.name>/<os.arch>/<os.version>/lib/nativelibname
여기서,<X> 는,System.getProperty(X) 로부터 포함되는 공백을 삭제한 것으로,/ 는 파일 단락 문자 (File.separator )를 나타냅니다.
이 메소드의 반환값이 null (이 클래스 로더로 로드 된 JAR 파일내에 라이브러리가 발견되지 않는다)의 경우, VM 는,java.library.path 프로퍼티으로서 지정된 패스를 부가해 라이브러리를 검색합니다.
ClassLoader 내의 findLibrary libname - 라이브러리명
System.loadLibrary(String) ,
System.mapLibraryName(String)
protected URL check(String version,
URL codebase,
String jarfile,
MLetContent mlet)
throws Exception
이 메소드는, 캐쉬 기능과 버젼 관리 기능을 지원하기 위해서 이 서비스를 확장할 때 오버라이드(override) 됩니다. MLet 파일로부터 버젼, 코드 베이스, 및 jar 파일이 추출되면(자) 불려 가 지정의 MBean 를 로드해도 문제가 없는가를 확인하거나 지정의 URL 를 다른 URL 로 옮겨놓기 위해서(때문에) 사용됩니다.
이 메소드의 디폴트 구현은, 미변경의codebase 를 돌려줍니다.
version - 로컬에 포함되었다 . jar 파일의 버젼 번호codebase - 원격 . jar 파일의 베이스 URLjarfile - 로드 된다 . jar 파일의 이름mlet - MLET 태그를 나타내는 MLetContent 인스턴스
Exception - 어떠한 원인으로 MBean 가 로드 되지 않았던 경우. 이 예외는,getMBeansFromURL 에 의해 반환된 세트에 추가된다
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.