|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
| °³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | |||||||||
java.lang.Objectjava.rmi.server.RMIClassLoaderSpi
public abstract class RMIClassLoaderSpi
RMIClassLoaderSpi´Â
RMIClassLoader
¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.
ƯÈ÷, RMIClassLoaderSpiÀνºÅϽº´Â RMIClassLoader
´ÙÀ½ÀÇ static ¸Þ¼µåÀÇ ±¸ÇöÀ» Á¦°øÇÕ´Ï´Ù.
RMIClassLoader.loadClass(URL, String) RMIClassLoader.loadClass(String, String) RMIClassLoader.loadClass(String, String, ClassLoader) RMIClassLoader.loadProxyClass(String, String[], ClassLoader) RMIClassLoader.getClassLoader(String) RMIClassLoader.getClassAnnotation(Class)
RMIClassLoader
¸Þ´º¾óÀ» ÂüÁ¶ÇϽʽÿÀ.
RMIClassLoader | »ý¼ºÀÚ °³¿ä | |
|---|---|
RMIClassLoaderSpi ()
|
|
| ¸Þ¼µå °³¿ä | |
|---|---|
abstract String |
getClassAnnotation (Class <? > cl)
RMIClassLoader.getClassAnnotation(Class)
±¸ÇöÀ» Á¦°øÇÕ´Ï´Ù. |
abstract ClassLoader |
getClassLoader (String codebase)
RMIClassLoader.getClassLoader(String)
±¸ÇöÀ» Á¦°øÇÕ´Ï´Ù. |
abstract Class <? > |
loadClass (String codebase,
String name,
ClassLoader defaultLoader)
RMIClassLoader.loadClass(URL, String),
RMIClassLoader.loadClass(String, String) ¹× RMIClassLoader.loadClass(String, String, ClassLoader)
±¸ÇöÀ» Á¦°øÇÕ´Ï´Ù. |
abstract Class <? > |
loadProxyClass (String codebase,
String [] interfaces,
ClassLoader defaultLoader)
RMIClassLoader.loadProxyClass(String, String[], ClassLoader)
±¸ÇöÀ» Á¦°øÇÕ´Ï´Ù. |
| Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
|---|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
| »ý¼ºÀÚ »ó¼¼ |
|---|
public RMIClassLoaderSpi()
| ¸Þ¼µåÀÇ »ó¼¼ |
|---|
public abstract Class <? > loadClass(String codebase,
String name,
ClassLoader defaultLoader)
throws MalformedURLException,
ClassNotFoundException
RMIClassLoader.loadClass(URL, String),
RMIClassLoader.loadClass(String, String) ¹× RMIClassLoader.loadClass(String, String, ClassLoader)
±¸ÇöÀ» Á¦°øÇÕ´Ï´Ù.
ÁöÁ¤µÈ ÄÚµå º£À̽º URL ÆÐ½º·ÎºÎÅÍ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù. ÁöÁ¤µÈ ·Î´õ¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
º¸Åë, ÇÁ·Î¹ÙÀÌ´õ ±¸ÇöÀº ÁöÁ¤µÈ defaultLoader¸¦ »ç¿ëÇØ ÁöÁ¤µÈ Ŭ·¡½ºÀÇ ÇØ°áÀ» ½ÃµµÇÑ ÈÄ¿¡
ÄÚµå º£À̽º URL ÆÐ½º·ÎºÎÅÍÀÇ Å¬·¡½ºÀÇ ÇØ°áÀ» ½ÃµµÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µåÀÇ ±¸ÇöÀº ÁöÁ¤µÈ À̸§ÀÇ Å¬·¡½º¸¦ µ¹·ÁÁÖ´ÂÁö, ¿¹¿Ü¸¦ Throw ÇÕ´Ï´Ù.
codebase - Ŭ·¡½ºÀÇ ·Îµå¿øÀÇ URL
¸®½ºÆ® (´Ü¶ô ¹®ÀÚ´Â ½ºÆäÀ̽º), ¶Ç´Â nullname - ·Îµå ´ë»ó Ŭ·¡½ºÀÇ À̸§defaultLoader - »óȲ¿¡ µû¶ó »ç¿ëÇÏ´Â Ãß°¡ Ŭ·¡½º ·Î´õ, ¶Ç´Â null
Class °´Ã¼
MalformedURLException - codebase°¡ null Àܷ̿ΠÇÑÆí ¹«È¿ÀÎ URL¸¦ Æ÷ÇÔÇϰí ÀÖ´Â °æ¿ì, ¶Ç´Â codebase°¡ null·Î
ÇÑÆí Ŭ·¡½º ·Îµå½Ã¿¡ »ç¿ëµÈ ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ URL°¡ ¹«È¿ÀÎ °æ¿ì
ClassNotFoundException - Ŭ·¡½ºÀÇ Á¤Àǰ¡ ÁöÁ¤µÈ Àå¼Ò¿¡ ¾ø¾ú´ø °æ¿ì
public abstract Class <? > loadProxyClass(String codebase,
String [] interfaces,
ClassLoader defaultLoader)
throws MalformedURLException,
ClassNotFoundException
RMIClassLoader.loadProxyClass(String, String[], ClassLoader)
±¸ÇöÀ» Á¦°øÇÕ´Ï´Ù.
ÁöÁ¤µÈ À̸§À» °¡Áö´Â ÀÎÅÍÆäÀ̽º±ºÀ» ±¸ÇöÇÑ µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º (Proxy¸¦
ÂüÁ¶)¸¦, ÁöÁ¤µÈ ÄÚµå º£À̽º URL ÆÐ½º·ÎºÎÅÍ ·ÎµåÇÕ´Ï´Ù. ÁöÁ¤µÈ ·Î´õ¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
ÀÌ ¸Þ¼µåÀÇ ±¸ÇöÀº ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â ÇÁ·Ï½Ã Ŭ·¡½º¸¦ µ¹·ÁÁÖ´ÂÁö, ¿¹¿Ü¸¦ Throw ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
codebase - Ŭ·¡½ºÀÇ ·Îµå¿øÀÇ URL
¸®½ºÆ® (´Ü¶ô ¹®ÀÚ´Â ½ºÆäÀ̽º), ¶Ç´Â nullinterfaces - ÇÁ·Ï½Ã Ŭ·¡½º°¡ ±¸ÇöÇÏ´Â ÀÎÅÍÆäÀ̽ºÀÇ À̸§defaultLoader - »óȲ¿¡ µû¶ó »ç¿ëÇÏ´Â Ãß°¡ Ŭ·¡½º ·Î´õ, ¶Ç´Â null
MalformedURLException - codebase°¡ null Àܷ̿ΠÇÑÆí ¹«È¿ÀÎ URL¸¦ Æ÷ÇÔÇϰí ÀÖ´Â °æ¿ì, ¶Ç´Â codebase°¡ null·Î
ÇÑÆí Ŭ·¡½º ·Îµå½Ã¿¡ »ç¿ëµÈ ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ URL°¡ ¹«È¿ÀÎ °æ¿ì
ClassNotFoundException - ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽ºÀÇ Á¤ÀÇÁß ÇÑÂÊÀÌ ÁöÁ¤µÈ Àå¼Ò¿¡ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì, ¶Ç´Â µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½ºÀÇ ÀÛ¼º¿¡ ½ÇÆÐÇßÀ» °æ¿ì (Proxy.getProxyClass(ClassLoader, Class[]) °¡ ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º ¸®½ºÆ®¿¡ ´ëÇØ¼ IllegalArgumentExceptionÀ»
Throw ÇßÀ» ¶§ µî)
public abstract ClassLoader getClassLoader(String codebase)
throws MalformedURLException
RMIClassLoader.getClassLoader(String)
±¸ÇöÀ» Á¦°øÇÕ´Ï´Ù.
ÁöÁ¤µÈ ÄÚµå º£À̽º URL ÆÐ½º·ÎºÎÅÍ Å¬·¡½º¸¦ ·ÎµåÇϴ Ŭ·¡½º ·Î´õ¸¦ ¸®ÅÏÇÕ´Ï´Ù.
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì´Â RuntimePermission("getClassLoader") Á¢±Ù ±ÇÇÑÀ» »ç¿ëÇØ checkPermission ¸Þ¼µå°¡ ºÒ·Á°¡
SecurityException°¡ üũµË´Ï´Ù. ÀÌ ¸Þ¼µåÀÇ ±¸ÇöÀº È£ÃâÃø ÄÁÅØ½ºÆ®ÀÌ ÄÚµå º£À̽º URL ÆÐ½º³»ÀÇ ¸ðµç URL¿¡ ´ëÇÑ Á¢±Ù ±ÇÇÑÀ» °¡Áö°í ÀÖÀ»Áö ¾î¶³Áö¿¡ ÀÓÇØ¼, ½ÃÅ¥·¯Æ¼ üũ¸¦ ½Ç½ÃÇÏ´Â Àϵµ ÀÖ½À´Ï´Ù.
codebase - ¸®ÅϵÈ
Ŭ·¡½º ·Î´õ°¡ ·ÎµåÇϴ Ŭ·¡½º°¡ Æ÷ÇԵǰí ÀÖ´Â URL
¸®½ºÆ® (´Ü¶ô ¹®ÀÚ´Â ½ºÆäÀ̽º), ¶Ç´Â null
MalformedURLException - codebase°¡ null Àܷ̿ΠÇÑÆí ¹«È¿ÀÎ URL¸¦ Æ÷ÇÔÇϰí ÀÖ´Â °æ¿ì, ¶Ç´Â codebase°¡ null·Î
ÇÑÆí Ŭ·¡½º ·Î´õÀÇ ½Äº°½Ã¿¡ »ç¿ëµÈ ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ URL°¡ ¹«È¿ÀÎ °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÒ °æ¿ì¿¡
±× checkPermission ¸Þ¼µå°¡ ½ÇÆÐÇßÀ» °æ¿ì. ¶Ç´Â È£ÃâÃøÀÌ ÄÚµå º£À̽º URL ÆÐ½º³»ÀÇ ¸ðµç URL¿¡ ´ëÇÑ Á¢±Ù ±ÇÇÑÀ» °¡Áö°í ÀÖÁö ¾ÊÀº °æ¿ìpublic abstract String getClassAnnotation(Class <? > cl)
RMIClassLoader.getClassAnnotation(Class)
±¸ÇöÀ» Á¦°øÇÕ´Ï´Ù.
Ŭ·¡½º Á¤ÀÇÀÇ À§Ä¡¸¦ ³ªÅ¸³»´Â ÁÖ¼® ij¸¯ÅÍ ¶óÀÎÀ» ¸®ÅÏÇÕ´Ï´Ù. RMI´Â À̰ÍÀ» »ç¿ëÇØ, ÁöÁ¤µÈ Ŭ·¡½ºÀÇ °´Ã¼ÀÇ Á¤·Äȸ¦ ½Ç½ÃÇÒ ¶§¿¡
Ŭ·¡½º ±â¼úÀÚ¿¡°Ô ÁÖ¼®À» ´õÇÕ´Ï´Ù.
cl - ÁÖ¼®À» ¾ò´Â ´ë»óÀÇ Å¬·¡½º
null
NullPointerException - cl°¡ nullÀÎ °æ¿ì
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
| °³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.