|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
public interface ClassLoaderRepository
ÀÌ ÀÎÅÍÆäÀ̽ºÀÇ ÀνºÅϽº´Â MBean ¼¹ö¿¡ µî·ÏµÈ ClassLoader ¸®½ºÆ®¸¦ º¸°ü À¯ÁöÇϱâ À§Çؼ »ç¿ëµË´Ï´Ù. ÀÌ·¯ÇÑ ÀνºÅϽº´Â µî·ÏÀÌ ³¡³ ClassLoader¸¦ »ç¿ëÇØ Ŭ·¡½º¸¦ ·ÎµåÇϱâ À§Çؼ ÇÊ¿äÇÑ ¸Þ¼µå¸¦ Á¦°øÇÕ´Ï´Ù.
ClassLoaderRepository
³»ÀÇ ÃÖÃÊÀÇ ClassLoader´Â
Ç×»ó MBean ¼¹ö °íÀ¯ÀÇ ClassLoader ÀÔ´Ï´Ù.
ClassLoader
¼ºê Ŭ·¡½º°¡ µÇ¾î ÀÖÁö ¾Ê°í,PrivateClassLoader
ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϰí ÀÖÁö ¾Ê´Â MBean¸¦
MBean ¼¹ö¿¡ µî·ÏÇϸé, ÀÌ MBean´Â
MBean ¼¹öÀÇ ClassLoaderRepository
¸»¹Ì¿¡ Ãß°¡µË´Ï´Ù. ÀÌ MBean
µî·ÏÀ» ÇØÁ¦Çϸé,ClassLoaderRepository
·ÎºÎÅÍ ÀÌ MBean °¡ »èÁ¦µË´Ï´Ù.
ClassLoaderRepository
³»ÀÇ MBean
ÁÙ ¼ø¼¿¡´Â
¹Ì°¡ ÀÖ½À´Ï´Ù. ClassLoaderRepository
³»ÀÇ ÀÓÀÇÀÇ 2 °³ÀÇ MBean,X ¿Í Y ¿¡ ´ëÇØ »ý°¢ÇØ º¾½Ã´Ù. Y
µî·ÏÀ» °³½ÃÇϱâ Àü¿¡ X
µî·ÏÀÌ ¿Ï·áÇϰí ÀÖ¾úÀ» °æ¿ì,X´Â
Y
Àü¿¡ ´Ã¾î³õÀ» ¼ö ÀÖ½À´Ï´Ù. X ¿Í Y °¡ µ¿½Ã¿¡ µî·ÏµÇ¾úÀ» °æ¿ì, ÀÌ·¯ÇÑ ÁÙ ¼ø¼´Â ºÒÈ®Á¤ÀÌ µË´Ï´Ù. MBean
µî·Ï 󸮴Â
MBeanServer.registerMBean(java.lang.Object, javax.management.ObjectName)
¸Þ¼µåÀÇ È£ÃâÇØ, ¶Ç´Â ¸î°³ÀÇ MBeanServer
. createMBean
¸Þ¼µåÀÇ È£ÃâÇØ¿¡ »ó´çÇÕ´Ï´Ù.
MBeanServerFactory
¸Þ¼µå °³¿ä | |
---|---|
Class |
loadClass (String className)
Ŭ·¡½º ·Î´õÀÇ ¸®½ºÆ®·ÎºÎÅÍ, ÁöÁ¤µÈ À̸§ÀÇ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù. |
Class |
loadClassBefore (ClassLoader stop,
String className)
Ŭ·¡½º ·Î´õÀÇ ¸®½ºÆ®·ÎºÎÅÍ Å¬·¡½º¸¦ ·ÎµåÇØ, ÁöÁ¤µÈ Ŭ·¡½º¸íÀÇ À§Ä¡¿¡¼ 󸮸¦ Á¤ÁöÇÕ´Ï´Ù. |
Class |
loadClassWithout (ClassLoader exclude,
String className)
Ŭ·¡½º ·Î´õÀÇ ¸®½ºÆ®·ÎºÎÅÍ, Àüȸ ÁöÁ¤µÈ À̸§ÀÇ Å¬·¡½º ÀÌ¿ÜÀÇ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù. |
¸Þ¼µåÀÇ »ó¼¼ |
---|
Class loadClass(String className) throws ClassNotFoundException
Ŭ·¡½º ·Î´õÀÇ ¸®½ºÆ®·ÎºÎÅÍ, ÁöÁ¤µÈ À̸§ÀÇ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù. ClassLoaderRepository ³»ÀÇ ClassLoader ¿¡
ClassLoader.loadClass(String)
¸Þ¼µå¸¦ »ç¿ëÇØ Ŭ·¡½º¸¦ ·ÎµåÇØ¶ó¶ó°í ÇÏ´Â ¸í·ÉÀÌ º¸³»Áý´Ï´Ù. ±× °á°ú, Á¤»óÀûÀ¸·Î Class
¿ÀºêÁ§Æ®°¡ µ¹·ÁÁÖ°íÁ³À» °æ¿ì, À̰ÍÀÌ ÀÌ ¸Þ¼µåÀÇ ¹Ýȯ°ªÀÌ µË´Ï´Ù. ClassNotFoundException
°¡ Throw µÇ¾úÀ» °æ¿ì, ´ÙÀ½ÀÇ ClassLoader ·Î °è¼ÓÇØ °Ë»öÀ» ÇÕ´Ï´Ù. ÀÌ ClassLoader µµ ¿¹¿Ü¸¦ Throw ÇßÀ» °æ¿ì, ÀÌ ¸Þ¼µå´Â ¿¹¿Ü¸¦ Throw ÇÕ´Ï´Ù. ¸®½ºÆ®ÀÇ ¸»¹Ì¿¡ À̸£·¶À» °æ¿ì,ClassNotFoundException
°¡ Throw µË´Ï´Ù.
className
- ·Îµå µÇ´Â Ŭ·¡½ºÀÇ À̸§
ClassNotFoundException
- ÁöÁ¤µÈ Ŭ·¡½º°¡ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ìClass loadClassWithout(ClassLoader exclude, String className) throws ClassNotFoundException
Ŭ·¡½º ·Î´õÀÇ ¸®½ºÆ®·ÎºÎÅÍ, Àüȸ ÁöÁ¤µÈ À̸§ÀÇ Å¬·¡½º ÀÌ¿ÜÀÇ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù. exclude
¸¦
Á¦¿ÜÇÏ´Â ClassLoaderRepository ³»ÀÇ ClassLoader ¿¡
ClassLoader.loadClass(String)
¸Þ¼µå¸¦ »ç¿ëÇØ Ŭ·¡½º¸¦ ·ÎµåÇØ¶ó¶ó°í ÇÏ´Â ¸í·ÉÀÌ º¸³»Áý´Ï´Ù. ±× °á°ú, Á¤»óÀûÀ¸·Î Class
¿ÀºêÁ§Æ®°¡ µ¹·ÁÁÖ°íÁ³À» °æ¿ì, À̰ÍÀÌ ÀÌ ¸Þ¼µåÀÇ ¹Ýȯ°ªÀÌ µË´Ï´Ù. ClassNotFoundException
°¡ Throw µÇ¾úÀ» °æ¿ì, ´ÙÀ½ÀÇ ClassLoader ·Î °è¼ÓÇØ °Ë»öÀ» ÇÕ´Ï´Ù. ÀÌ ClassLoader µµ ¿¹¿Ü¸¦ Throw ÇßÀ» °æ¿ì, ÀÌ ¸Þ¼µå´Â ¿¹¿Ü¸¦ Throw ÇÕ´Ï´Ù. ¸®½ºÆ®ÀÇ ¸»¹Ì¿¡ À̸£·¶À» °æ¿ì,ClassNotFoundException
°¡ Throw µË´Ï´Ù.
ClassLoaderRepository ³»¿¡
ÀÌ ¸Þ¼µå¸¦ loadClass
¸Þ¼µå·ÎºÎÅÍ È£ÃâÇÏ´Â ClassLoader °¡ ÀÖ´Ù°í ÇÕ´Ï´Ù. °°Àº ClassLoaderRepository ³»¿¡
ÀÌ ClassLoader ¿Í µ¿½Ã¿¡ °°Àº 󸮸¦ ½Ç½ÃÇÏ´Â ClassLoader °¡ ÀÌÁ¦(¹ú½á) 1 °³ Á¸ÀçÇÏ´Â °æ¿ì, ¾î´À ÂÊÀÎÁö°¡ µ¥µå ·ÏÀÌ µË´Ï´Ù. µ¥µå ·ÏÀ» ȸÇÇÇϱâ À§Çؼ´Â
loadClassBefore(java.lang.ClassLoader, java.lang.String)
¸Þ¼µå¸¦ »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.
className
- ·Îµå µÇ´Â Ŭ·¡½ºÀÇ À̸§exclude
- Á¦¿ÜµÇ´Â Ŭ·¡½º ·Î´õ. null
°æ¿ì, ÀÌ ¸Þ¼µå´Â loadClass(className)
¿Í µ¿µî
ClassNotFoundException
- ÁöÁ¤µÈ Ŭ·¡½º°¡ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ìClass loadClassBefore(ClassLoader stop, String className) throws ClassNotFoundException
Ŭ·¡½º ·Î´õÀÇ ¸®½ºÆ®·ÎºÎÅÍ Å¬·¡½º¸¦ ·ÎµåÇØ, ÁöÁ¤µÈ Ŭ·¡½º¸íÀÇ À§Ä¡¿¡¼ 󸮸¦ Á¤ÁöÇÕ´Ï´Ù. ClassLoaderRepository ³»ÀÇ ClassLoader ¿¡
ClassLoader.loadClass(String)
¸Þ¼µå¸¦ »ç¿ëÇØ Ŭ·¡½º¸¦ ·ÎµåÇØ¶ó¶ó°í ÇÏ´Â ¸í·ÉÀÌ º¸³»Áý´Ï´Ù. ±× °á°ú, Á¤»óÀûÀ¸·Î Class
¿ÀºêÁ§Æ®°¡ µ¹·ÁÁÖ°íÁ³À» °æ¿ì, À̰ÍÀÌ ÀÌ ¸Þ¼µåÀÇ ¹Ýȯ°ªÀÌ µË´Ï´Ù. ClassNotFoundException
°¡ Throw µÇ¾úÀ» °æ¿ì, ´ÙÀ½ÀÇ ClassLoader ·Î °è¼ÓÇØ °Ë»öÀ» ÇÕ´Ï´Ù. ÀÌ ClassLoader µµ ¿¹¿Ü¸¦ Throw ÇßÀ» °æ¿ì, ÀÌ ¸Þ¼µå´Â ¿¹¿Ü¸¦ Throw ÇÕ´Ï´Ù. °Ë»öÀÌ stop
¶Ç´Â ¸®½ºÆ®ÀÇ ¸»¹Ì¿¡ À̸£·¶À» °æ¿ì,ClassNotFoundException
°¡ Throw µË´Ï´Ù.
º¸Åë
, ÀÌ ¸Þ¼µå´Â
stop
loadClass
¸Þ¼µå·ÎºÎÅÍ ºÒ·Á °©´Ï´Ù. À̰Ϳ¡
ÇØ,ClassLoaderRepository
³»ÀÇ ÁöÁ¤ÀÇ ·Î´õº¸´Ù ÀüÀÇ ·Î´õ¸¦ Á¶È¸ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. stop
¿¡ À̸¥ ½ÃÁ¡¿¡¼ °Ë»öÀÌ Á¾·áÇϹǷΠµ¿½Ã Ŭ·¡½º ·Îµå¿¡
ÇÑ µ¥µå ·ÏÀ» ȸÇÇÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
className
- ·Îµå µÇ´Â Ŭ·¡½ºÀÇ À̸§stop
- Ŭ·¡½º ·Î´õ. ÀÌ Á¤µµÄ¡·Î 󸮰¡ Á¤ÁöµÈ´Ù. null
°æ¿ì, ÀÌ ¸Þ¼µå´Â loadClass(className)
¿Í µ¿µî
ClassNotFoundException
- ÁöÁ¤µÈ Ŭ·¡½º°¡ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.