|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
public interface ObjectFactory
ÀÌ ÀÎÅÍÆäÀ̽º´Â °´Ã¼¸¦ »ý¼ºÇÏ´Â ÆÑÅ丮¸¦ ³ªÅ¸³À´Ï´Ù.
JNDI üÁ¦¿¡¼´Â ¡¸°´Ã¼ ÆÑÅ丮¡¹¸¦ »ç¿ëÇØ °´Ã¼ ±¸ÇöÀ» µ¿ÀûÀ¸·Î ·ÎµåÇÏ´Â °ÍÀÌ °¡´ÉÇÕ´Ï´Ù. ¿¹¸¦ µé¾î À̸§ °ø°£¿¡ ¹ÙÀÎµå µÈ ÇÁ¸°Å͸¦ °Ë»öÇÏ´Â °æ¿ì, Àμ⠼ºñ½º°¡ ÇÁ¸°Å͸íÀ» Reference¿¡ ¹ÙÀεå Çϸé, ÇÁ¸°ÅÍ Reference¸¦ »ç¿ëÇØ ÇÁ¸°ÅÍ °´Ã¼¸¦ »ý¼ºÇØ, ·è ¾÷ÀÇ È£ÃâÃøÀÌ ·è ¾÷ ÈÄ Á÷Á¢ ÇÁ¸°ÅÍ °´Ã¼·Î Á¶ÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù.
ObjectFactory´Â ƯÁ¤ÀÇ Å¸ÀÔÀÇ °´Ã¼ÀÇ »ý¼ºÀ» ½Ç½ÃÇÕ´Ï´Ù. »ó±âÀÇ ¿¹¿¡¼´Â Printer °´Ã¼ÀÇ »ý¼º¿¡ PrinterObjectFactory¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
°´Ã¼ ÆÑÅ丮´Â ObjectFactory ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ¶Ç ÆÑÅ丮 Ŭ·¡½º´Â public ÀÎ °ÍÀÌ ÇÊ¿äÇØ, ÇÑÆí ÆĶó¹ÌÅ͸¦ ÀâÈ÷Áö ¾Ê´Â public »ý¼ºÀÚ¸¦ °¡Áú ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.
°´Ã¼ ÆÑÅ丮ÀÇ getObjectInstance() ¸Þ¼µå´Â ´Ù¸¥ ÆĶó¹ÌÅ͸¦ »ç¿ëÇØ ¿©·¯ Â÷·Ê È£ÃâµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ±¸ÇöÀº thread ¼¼ÀÌÇÁÀÔ´Ï´Ù.
ÀÌ Å¬·¡½ºÀÇ ¹®¼ÀÇ URL ±âÀç´Â RFC 1738 ¹× ±× °ü·Ã RFC ·Î Á¤Àǵǰí ÀÖ´Â URL ij¸¯ÅÍ ¶óÀÎÀ» Àû¿ëÇÏ°í ÀÖ½À´Ï´Ù. ¹®¼ÀÇ URL´Â RFC 1738 µîÀ¸·Î Áø¼úµÇ°í ÀÖ´Â ±¸¹®¿¡ µû¸£´Â ij¸¯ÅÍ ¶óÀÎÀ̸ç, ¹Ýµå½Ã java.net.URL Ŭ·¡½º ¶Ç´Â Web ºê¶ó¿ìÀú¿¡ ÇØ´çÇÏ´Â Áö¿ø°¡ ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù.
NamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable, ? >)
,
NamingManager.getURLContext(java.lang.String, java.util.Hashtable, ? >)
,
ObjectFactoryBuilder
,
StateFactory
¸Þ¼µå °³¿ä | |
---|---|
Object |
getObjectInstance (Object obj,
Name name,
Context nameCtx,
Hashtable <?,?> environment)
ÁöÁ¤µÈ À§Ä¡ Á¤º¸ ¶Ç´Â ÂüÁ¶ Á¤º¸¸¦ »ç¿ëÇØ, °´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù. |
¸Þ¼µåÀÇ »ó¼¼ |
---|
Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable <?,?> environment) throws Exception
ÀÌ °´Ã¼ÀÇ Æ¯¼ö ¿ä°ÇÀº, environment
¸¦ »ç¿ëÇØ ÁöÁ¤µË´Ï´Ù. ÀÌ·¯ÇÑ È¯°æ ÇÁ·ÎÆÛƼÀÇ ÀϷʷμ´Â »ç¿ëÀÚ
½Äº° Á¤º¸°¡ ÀÖ½À´Ï´Ù.
NamingManager.getObjectInstance()´Â °´Ã¼ ÆÑÅ丮¿¡ ¿¬¼ÓÀûÀ¸·Î ·ÎµåÇØ, 1°³ÀÌ null ÀÌ¿ÜÀÇ ´ë´äÀ» »ý¼ºÇÒ ¶§±îÁö °´Ã¼ ÆÑÅ丮»ó¿¡¼ ÀÌ ¸Þ¼µå¸¦ °è¼Ó È£ÃâÇÕ´Ï´Ù. °´Ã¼ ÆÑÅ丮°¡ ¿¹¿Ü¸¦ Throw Çϸé, ±× ¿¹¿Ü´Â NamingManager.getObjectInstance() È£Ãâ Ãø¿¡ ÀεµÇØÁ® null ÀÌ¿ÜÀÇ ´ë´äÀ» »ý¼ºÇÒ °¡´É¼ºÀÌ ÀÖ´Â ´Ù¸¥ ÆÑÅ丮ÀÇ °Ë»öÀº ÇàÇØÁöÁö ¾Ê½À´Ï´Ù. °´Ã¼ ÆÑÅ丮´Â ±×°ÍÀÌ ¸ñÀûÀÇ À¯ÀÏÇÑ ÆÑÅ丮À̸ç, ´Ù¸¥ °´Ã¼ ÆÑÅ丮¸¦ °Ë»öÇÒ ÇÊ¿ä°¡ ¾ø´Â °ÍÀÌ È®½ÇÇÑ °æ¿ì¿¡ ÇÑÁ¤ÇØ, ¿¹¿Ü¸¦ Throw Çϵµ·Ï ÇÕ´Ï´Ù. ÀÌ ÆÑÅ丮°¡ ÁöÁ¤µÈ Àμö·Î °´Ã¼¸¦ »ý¼ºÇÒ ¼ö ¾ø´Â °æ¿ì´Â nullÀ» ¸®ÅÏÇÕ´Ï´Ù.
¡¸URL ÄÁÅؽºÆ® ÆÑÅ丮¡¹´Â Ư¼öÇÑ ObjectFactory ·Î URL ¶Ç´Â URL°¡ À§Ä¡¸¦ ÁöÁ¤ÇÏ´Â °´Ã¼¸¦ ÇØ°áÇÏ´Â ÄÁÅؽºÆ®¸¦ »ý¼ºÇÕ´Ï´Ù. URL ÄÁÅؽºÆ® ÆÑÅ丮ÀÇ getObjectInstance() ¸Þ¼µå´Â ¾Æ·¡ÀÇ ±ÔÄ¢¿¡ µû¸¨´Ï´Ù.
obj
°¡ nullÀÎ °æ¿ì, ÀÌ ÆÑÅ丮¿¡ °ü·ÃÇÑ schemaÀÇ URL¸¦ ÇØ°áÇÏ´Â ÄÁÅؽºÆ®¸¦ »ý¼ºÇÕ´Ï´Ù. ±× ÄÁÅؽºÆ®Àº ƯÁ¤ÀÇ URL¿Í´Â ¿¬°á½Ãų ¼ö ¾ø½À´Ï´Ù. ÀÌ ÄÁÅؽºÆ®Àº ÀÌ ÆÑÅ丮ÀÇ schema ID¸¦ »ç¿ëÇØ ÀÓÀÇÀÇ URL¸¦ ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î
LDAP URL ÄÁÅؽºÆ®
ÆÑÅ丮·Î null ·Î ¼³Á¤µÈ obj
¸¦ °¡Áö´Â getObjectInstance()¸¦ È£ÃâÇϸé, ldap://ldap.wiz.com/o=wiz, c=us, ldap://ldap.umich.edu/o=umich, c=us µîÀÇ LDAP URL¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Â ÄÁÅؽºÆ®ÀÌ ¸®Åϵ˴ϴÙ
. obj
°¡ URL ij¸¯ÅÍ ¶óÀÎÀÎ °æ¿ì, URL¿¡ ÀÇÇØ ½Äº°µÈ °´Ã¼ (ÀϹÝÀûÀ¸·Î ÄÁÅؽºÆ®)¸¦ »ý¼ºÇÕ´Ï´Ù. ¿¹¸¦ µé¾î
±×°ÍÀÌ LDAP URL ÄÁÅؽºÆ®
ÆÑÅ丮ÀÌ´Ù°í ÇÕ´Ï´Ù. obj
°¡ ldap://ldap.wiz.com/o=wiz, c=usÀÎ °æ¿ì, getObjectInstance()´Â LDAP ¼¹ö ldap.wiz.com
½Äº°¸í¿¡ ÀÇÇØ ÁöÁ¤µÈ ÄÁÅؽºÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. °è¼ÓµÇ¾î ÀÌ ÄÁÅؽºÆ®¸¦ »ç¿ëÇØ, ±× ÄÁÅؽºÆ®¿¡ °ü·ÃµÈ LDAP ¸í (cn=George µî)À» ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù. obj
°¡ URL ij¸¯ÅÍ ¶óÀÎÀÇ ¹è¿ÀÎ °æ¿ì, URL´Â ±×°ÍµéÀÌ ÂüÁ¶ÇÏ´Â ÄÁÅؽºÆ®À̶ó°í ÇÏ´Â Á¡À¸·Î½á µ¿µîÇÏ´Ù¶ó°í °¡Á¤ÇÕ´Ï´Ù. URL°¡ µ¿µîÇÑ°¡ ȤÀº µ¿µîÇÑ ÇÊ¿ä°¡ Àִ°¡ ÇÏ´Â °ËÁõÀº ÄÁÅؽºÆ®
ÆÑÅ丮¿¡ µû¶ó¼ ´Ù¸¨´Ï´Ù. ¹è¿ÀÇ URL
¼ø¼´Â Áß¿äÇÏÁö´Â ¾Ê½À´Ï´Ù. getObjectInstance()°¡ µ¹·ÁÁÖ´Â °´Ã¼´Â ´ÜÀÏÀÇ URLÀÎ °æ¿ì¿Í °°½À´Ï´Ù. ÀÌ°ÍÀº URL¿¡ ÀÇÇØ ÁöÁ¤µÈ °´Ã¼ÀÔ´Ï´Ù. obj
°¡ »ó±â ÀÌ¿ÜÀÇ ÇüÅÂÀÎ °æ¿ì, getObjectInstance()
µ¿ÀÛÀº ÄÁÅؽºÆ®
ÆÑÅ丮 ±¸Çö¿¡
°áÁ¤µË´Ï´Ù. name ÆĶó¹ÌÅÍ ¹× environment ÆĶó¹ÌÅʹ ȣÃâÃøÀÌ ¼ÒÀ¯ÇÕ´Ï´Ù. ±¸ÇöÀº ÀÌ·¯ÇÑ °´Ã¼¸¦ º¯°æÇÏÁö ¾Ê°í, ±× °´Ã¼¿¡ ´ëÇÑ ÂüÁ¶µµ º¸°ü À¯ÁöÇÕ´Ï´Ù¸¸, º¹Á¦ ¶Ç´Â Ä«ÇÇ¿¡ ´ëÇÑ ÂüÁ¶¸¦ º¸°ü À¯ÁöÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
À̸§ ÆĶó¹ÌÅÍ¿Í ÄÁÅؽºÆ®
ÆĶó¹ÌÅÍ
name
ÆĶó¹ÌÅÍ ¹× nameCtx
ÆĶó¹ÌÅ͸¦ ÀÓÀÇ¿¡ »ç¿ëÇØ, »ý¼ºÁßÀÇ °´Ã¼ÀÇ À̸§À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. name
´Â °´Ã¼ÀÇ À̸§À¸·Î ÄÁÅؽºÆ®
nameCtx
¿¡ °ü·ÃÇÏ°í ÀÖ½À´Ï´Ù. °´Ã¼¸¦ ¸í¸íÇÒ ¼ö ÀÖ´Â ÄÁÅؽºÆ®ÀÌ ´Ù¼ö ÀÖ´Â Àϵµ ÀÖ½À´Ï´Ù¸¸, ±× °æ¿ì´Â È£ÃâÇØ ¿·ÀÌ ¼±ÅÃÇÕ´Ï´Ù. ´ë¹üÇÑ ÁöħÀ¸·Î¼ »ç¿ë °¡´ÉÇÑ ¡¸°¡Àå ±í´Ù¡¹ÄÁÅؽºÆ®¸¦ ¼±ÅÃÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. nameCtx
°¡ nullÀÎ °æ¿ì, name
´Â µðÆúÆ®ÀÇ Ãʱâ ÄÁÅؽºÆ®¿¡ °ü·ÃÇÏ°í ÀÖ½À´Ï´Ù. À̸§À» ÁöÁ¤ÇÏÁö ¾Ê´Â °æ¿ì´Â name
ÆĶó¹ÌÅÍ°¡ nullÀÌ µÇµµ·Ï ÇÕ´Ï´Ù. ÆÑÅ丮°¡ nameCtx
¸¦ »ç¿ëÇÏ´Â °æ¿ì´Â º´Çà ¾×¼¼½º¿¡ ´ëºñÇØ ±× »ç¿ëÀ» µ¿±âÈÇϵµ·Ï ÇÕ´Ï´Ù. ÄÁÅؽºÆ®
±¸ÇöÀº thread ¼¼ÀÌÇÁÀÎ °ÍÀ» º¸ÁõµÇ¾î ÀÖÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù.
obj
- °´Ã¼ÀÇ »ý¼º¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â À§Ä¡ Á¤º¸ ¶Ç´Â ÂüÁ¶ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â null
°¡´É¼ºÀÌ ÀÖ´Â °´Ã¼name
- nameCtx
¿¡ °ü·ÃµÈ ÀÌ °´Ã¼ÀÇ À̸§, ¶Ç´Â À̸§ÀÌ ÁöÁ¤µÇÁö ¾Ê´Â °æ¿ì´Â nullnameCtx
- name
ÆĶó¹ÌÅÍÀÇ ÁöÁ¤¿¡ °ü·ÃµÈ ÄÁÅؽºÆ®, ¶Ç´Â name
°¡ µðÆúÆ®ÀÇ Ãʱâ ÄÁÅؽºÆ®¿¡ °ü·ÃµÈ °æ¿ì´Â nullenvironment
- null
°¡´É¼ºÀÌ ÀÖ´Â °´Ã¼ÀÇ »ý¼º¿¡ »ç¿ëµÇ´Â ȯ°æ
Exception
- °´Ã¼ÀÇ »ý¼ºÁß¿¡ ÀÌ °´Ã¼ ÆÑÅ丮°¡ ¿¹¿Ü¸¦ °ËÃâÇØ, ´Ù¸¥ °´Ã¼ ÆÑÅ丮°¡ ½ÃÇàµÇÁö ¾Ê´Â °æ¿ìNamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable, ? >)
,
NamingManager.getURLContext(java.lang.String, java.util.Hashtable, ? >)
|
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 µµ ÂüÁ¶ÇϽʽÿÀ.