|
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
À» ¹ß»ý½Ãŵ´Ï´Ù.
className
- ·Îµå µÇ´Â Ŭ·¡½ºÀÇ À̸§
ClassNotFoundException
- ÁöÁ¤µÈ Ŭ·¡½º°¡ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ìClass loadClassWithout(ClassLoader exclude, String className) throws ClassNotFoundException
Ŭ·¡½º ·Î´õÀÇ ¸®½ºÆ®·ÎºÎÅÍ, Àüȸ ÁöÁ¤µÈ À̸§ÀÇ Å¬·¡½º ÀÌ¿ÜÀÇ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù. exclude
¸¦ Á¦¿ÜÇÏ´Â ClassLoaderRepository ³»ÀÇ ClassLoader ¿¡
ClassLoader.loadClass(String)
¸Þ¼µå¸¦ »ç¿ëÇØ Ŭ·¡½º¸¦ ·ÎµåÇØ¶ó¶ó°í ÇÏ´Â ¸í·ÉÀÌ º¸³»Áý´Ï´Ù. ±× °á°ú, Á¤»óÀûÀ¸·Î Class
°´Ã¼°¡ µ¹·ÁÁÖ°íÁ³À» °æ¿ì, À̰ÍÀÌ ÀÌ ¸Þ¼µåÀÇ ¹Ýȯ°ªÀÌ µË´Ï´Ù. ClassNotFoundException
ÀÌ Throw µÇ¾úÀ» °æ¿ì, ´ÙÀ½ÀÇ ClassLoader ·Î °è¼ÓÇØ °Ë»öÀ» ÇÕ´Ï´Ù. ÀÌ ClassLoaderµµ
¿¹¿Ü¸¦ Throw ÇßÀ» °æ¿ì, ÀÌ ¸Þ¼µå´Â ¿¹¿Ü¸¦ Throw ÇÕ´Ï´Ù. ¸®½ºÆ®ÀÇ ¸»¹Ì¿¡ À̸£·¶À» °æ¿ì, ClassNotFoundException
À» ¹ß»ý½Ãŵ´Ï´Ù.
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
À» ¹ß»ý½Ãŵ´Ï´Ù.
º¸Åë, ÀÌ ¸Þ¼µå´Â 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 µµ ÂüÁ¶ÇϽʽÿÀ.