¤³¤Î¥Ú¡¼¥¸¤òdel.icio.us¤ËÄɲà ¤³¤Î¥Ú¡¼¥¸¤ò¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÄɲ䳤Υڡ¼¥¸¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯ ¤³¤Î¥Ú¡¼¥¸¤òlivedoor ¥¯¥ê¥Ã¥×¤ËÄɲà ¤³¤Î¥Ú¡¼¥¸¤òYahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÄɲ䳤Υڡ¼¥¸¤ò´Þ¤àYahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯
Top / J2EE / EJB

¥³¥ó¥Æ¥ó¥Ä°ìÍ÷

J2EE¥³¥ó¥Æ¥Ê¤Ç¤¢¤ëJBoss¤ò»È¤Ã¤ÆEJB¤ÎÊÙ¶¯¤ò¤·¤Æ¤ß¤Þ¤·¤¿¡£°Ê²¼¡¢ºî¶È¥á¥â¤Ç¤¹¡£

EJB¤Î»È¤¤Êý

Î㤨¤Ð¡¢sayHello()¥á¥½¥Ã¥É¤ÇString¤òÊֵѤ¹¤ëEJB¤òºî¤ë¾ì¹ç°Ê²¼¤Îʪ¤¬É¬ÍפǤ¹¡£

  • sayHello()¥á¥½¥Ã¥É¤ò¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë»ý¤Ä¡¢Hello¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹(extends EJBObject)
  • ¼ÂºÝ¤Ë¥Ó¥¸¥Í¥¹¥í¥¸¥Ã¥¯*1¤òµ­½Ò¤¹¤ë¡¢HelloBean?(implements SessionBean?)
  • Hello¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òCreate¤¹¤ë¥á¥½¥Ã¥É¤ò»ý¤Ä¡¢HelloHome? ¥¤¥ó¥¿¥Õ¥§¡¼¥¹(extends EJBHome)

¤³¤ì¤È¤µ¤Þ¤¶¤Þ¤ÊDD(Deployment Descriptor)¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢¥³¥ó¥Æ¥Ê¤Ë¥Ç¥×¥í¥¤¤·¤Æ¤ª¤¯¤³¤È¤Ç¡¢¥Ó¥¸¥Í¥¹¥í¥¸¥Ã¥¯¤ò»ÈÍѤ·¤¿¤¤¥Ò¥È(¥×¥í¥°¥é¥à)¤Ï¡¢

  • JNDI·Ðͳ¤Ç¡¢Home¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¼èÆÀ
  • Home¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤«¤é¡¢¼ÂºÝ¤Î¥Ó¥¸¥Í¥¹¥í¥¸¥Ã¥¯¤òcreate
  • create¤·¤¿¥Ó¥¸¥Í¥¹¥í¥¸¥Ã¥¯¤ò¼Â¹Ô ¤È¤¤¤¦¼ê½ç¤È¤Ê¤ê¤Þ¤¹¡£

¤³¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥Ó¥¸¥Í¥¹¥í¥¸¥Ã¥¯¤¬¤É¤³¤Ç¼Â¹Ô¤µ¤ì¤¿¤«¤òµ¤¤Ë¤·¤Ê¤¤¤Ç·ë²Ì¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê²ÄÍÑÀ­¤¬¸þ¾å¤¹¤ë¤ï¤±¤Ç¤¹¤Í¡£

¤Þ¤º¤ÏJNDI̾¤È¡¢EJB¤¿¤Á¤Î´Ø·¸

¤µ¤Æ¡¢Àè¤Û¤ÉJNDI·Ðͳ¤ÇHome¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼èÆÀ¤¹¤ë¤È¸À¤¤¤Þ¤·¤¿¤¬¡¢EJB¤Ç¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤ò¼èÆÀ¤¹¤ëºÝ¡¢É¬¤ºInitialContext?¤ò·Ðͳ¤·¤Þ¤¹¡£¤³¤Îµ¡¹½¤òJNDI¤È¤¤¤¤¤Þ¤¹¡£InitialContext?¤Ï¤¢¤é¤«¤¸¤á¡¢String¤Î¥­¡¼Ãͤȥª¥Ö¥¸¥§¥¯¥È¤òÂФˤ·¤Æ¥³¥ó¥Æ¥Ê¤ËÅÐÏ¿¤·¤Æ¤ª¤­¡¢¤½¤Î¥­¡¼Ãͤǥª¥Ö¥¸¥§¥¯¥È¤ò¸¡º÷¤·¼èÆÀ¤¹¤ë¤Î¤Ç¤¹¤¬¡¢¤½¤Î¥­¡¼Ãͤȥª¥Ö¥¸¥§¥¯¥È¤Î´Ø·¸¤òÍý²ò¤·¤Ê¤¤¤ÈÁêÅö¤ä¤ä¤³¤·¤¤¤Ç¤¹¡£

Àè¤ÎÎã¤Ç¹Ô¤¯¤È¡¢

initContext = new InitialContext();
Object ref = initContext.lookup("HelloEJBHoge");
HelloHome home = (HelloHome) PortableRemoteObject.narrow(ref,HelloHome.class);

¤È¥ë¥Ã¥¯¥¢¥Ã¥×¤¹¤ë¤Î¤Ç¤¹¤¬¡¢¤³¤Î"HelloEJBHoge"¤¬¥­¡¼Ãͤǡ¢HelloHome? ¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡£

ÏäòÀ°Íý¤¹¤ë¤È¡¢

  • ¥³¥ó¥Æ¥Ê¤Ë¤Ï¡¢HelloEJBHoge¤È¤¤¤¦¥­¡¼¤Ç¡¢hello.HelloHome?¥ª¥Ö¥¸¥§¥¯¥È¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¡£
  • InitialContext?¤ò¤½¤Î¥­¡¼ÃͤÇlookup¤¹¤ë¤³¤È¤Ç¡¢hello.HelloHome?¥ª¥Ö¥¸¥§¥¯¥È¤ò¼èÆÀ¤¹¤ë

¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤½¤³¤Ç¤½¤â¤½¤â¥³¥ó¥Æ¥Ê¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤òÅÐÏ¿¤¹¤ëÊýË¡¤Ï¡©¡¢¤â¤Ã¤È¶ñÂÎŪ¤Ë¤¤¤¦¤ÈInitialContext?¤òlookup¤¹¤ëºÝ¤Î¥­¡¼"HelloEJBHoge"¤È¡¢hello.HelloHome?¥ª¥Ö¥¸¥§¥¯¥È¤Ï¤É¤¦¤ä¤Ã¤Æ´ØÏ¢¤Å¤±¤é¤ì¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©¡©¤È¤¤¤¦µ¿Ì䤬¤ï¤­µ¯¤³¤ê¤Þ¤¹¡£

¹Í»¡

¤µ¤ÆÀè¤Îµ¿Ìä¤ò²ò·è¤·¤¿¤¤¤È»×¤¤¤Þ¤¹¡£¤Þ¤ÀTry and Error¤Ç¤¹¤¬¡£¡£¡£

¤Þ¤º¡¢hello.HelloHome?¤Ë̾Á°¤òÉÕ¤±¤Þ¤¹¡£¤³¤ì¤ÏJ2EE¤Î»ÅÍÍÆâ¤Ç¤¢¤ëejb-jar.xml¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤Þ¤¹¡£

<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN'
  'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
<ejb-jar>
  <enterprise-beans>
  <session>
    <ejb-name>HelloEJB</ejb-name>
    <home>hello.HelloHome</home> <-¥³¥³
    <remote>hello.Hello</remote>
    <ejb-class>hello.HelloBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
   </session>
  </enterprise-beans>
</ejb-jar>

¤³¤ì¤Ç¡¢hello.HelloHome?¤Ë¤ÏHelloEJB¤È¤¤¤¦EJB̾¤¬ÉÕ¤±¤é¤ì¤Þ¤·¤¿¡£

¤µ¤é¤Ë¡¢¤³¤ÎEJB̾"HelloEJB"¤È¥³¥ó¥Æ¥Ê¦¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë"HelloEJBHoge"¤Ï¡¢JBossÆÈ¼«¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¡¢jboss.xml¤Ç´ØÏ¢¤Å¤±¤é¤ì¤Þ¤¹¡£*2

<?xml version="1.0"?>
<jboss>
  <enterprise-beans>
  <session>
    <ejb-name>HelloEJB</ejb-name>
    <jndi-name>HelloEJBHoge</jndi-name>
  </session>
  </enterprise-beans>
</jboss>

¤³¤ì¤ÇHelloEJBHoge¤È¤¤¤¦¥­¡¼¤Èhello.HelloHome?¤¬´ØÏ¢¤Å¤±¤é¤ì¤Þ¤·¤¿¡£¤³¤ì¤é¤Î¥¯¥é¥¹¥Õ¥¡¥¤¥ë¤äDD¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Æ¥Ê¤Ë¥Ç¥×¥í¥¤¤¹¤ë¤³¤È¤Ç¡¢JNDI¤Ø¤ÎÅÐÏ¿¤«¤é²¿¤«¤é¤¬´°Î»¤·¤¿¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤Á¤Ê¤ß¤Ëejb-jar.xml¤Èjboss.xml¤Ïejb¤Îjar¤Î/META-INFÆâ¤ËÇÛÃÖ¤·¤Þ¤¹¡£

¤è¤¦¤ä¤¯¤³¤ì¤Ç¡¢HelloEJBHoge¤Çlookup¤¹¤ì¤Ðhello.HelloHome?¤ò¼èÆÀ¤Ç¤­¤½¤¦¤Ç¤¹¡£¼ÂºÝ¤Ë¤ä¤Ã¤Æ¤ß¤ë¤È

public static void main(String[] args) throws NamingException,
    RemoteException, CreateException {
  InitialContext initContext = null;
  try {
    initContext = new InitialContext();
    Object ref = initContext.lookup("HelloEJBHoge");
    HelloHome home = (HelloHome) PortableRemoteObject.narrow(ref,
        HelloHome.class);
    Hello hello = home.create();
    System.out.println(hello.sayHello());
  } finally {
    if (initContext != null) {
      initContext.close();
    }
  }
}

¤³¤ì¤Ç³Î¤«¤Ë²Ôư¤·¤Þ¤·¤¿¡ª¡£¤Á¤Ê¤ß¤ËEclipse¤«¤é¼Â¹Ô¤·¤¿¤È¤­¤Ï¡¢¼Â¹Ô»þ¤Î¥¯¥é¥¹¥Ñ¥¹¤Ë${JBOSS_HOME}/client/jbossall-client.jar¤Ë¥Ñ¥¹¤òÄ̤µ¤Ê¤¤¤È¥À¥á¤ß¤¿¤¤¡£¡£

javax.naming.NoInitialContextException: Cannot instantiate class: 
org.jnp.interfaces.NamingContextFactory [Root exception is 
java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory]
 at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
 at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
 at javax.naming.InitialContext.init(Unknown Source)

¤Ê¤ó¤Æ¥¨¥é¡¼¤¬É½¼¨¤µ¤ì¤·¤Þ¤¦¤«¤â¡£¡£¡£

¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Ç¤Ï¤Ê¤¯¡¢¥µ¡¼¥Ö¥ì¥Ã¥È¤Ê¤É¤«¤é¥¢¥¯¥»¥¹¤¹¤ë

¤µ¤Æ¡¢¤¤¤ï¤æ¤ë¥í¡¼¥«¥ë¤Ê(¡©)Lookup¤Ï¤³¤ì¤ÇÎɤµ¤½¤¦¤Ç¤¹¤¬¡¢¥µ¡¼¥Ö¥ì¥Ã¥È¤Ê¤É¤«¤éEJB¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë¤Ïjava:comp/env¤ò»È¤Ã¤¿ENC¤Ë¤è¤ëJNDI¸¡º÷¤ò¤¹¤ëɬÍפ¬¤¢¤ë¤ß¤¿¤¤¤Ç¤¹¡£¤Ä¤Þ¤êInitialContext?¤òlookup¤¹¤ë¤È¤­¤Ë

context.lookup("java:comp/env/ejb/HelloEJB");

¤Æ¤ä¤ëÎã¤Î¥ä¥Ä¤Ç¤¹¡£

¤µ¤Æ¡¢

context.lookup("java:comp/env/ejb/HelloEJB");

¤È»ØÄꤹ¤ë¤È¡¢web.xmlÆâ¤Îejb-ref¤ò ejb/HelloEJB ¤Ç¸¡º÷¤·¤Þ¤¹¡£web.xml¤Ë¤Ï°Ê²¼¤ÎEJB»²¾È¤òµ­½Ò¤·¤Þ¤·¤¿¡£¡£

 <ejb-ref>
   <ejb-ref-name>ejb/HelloEJB</ejb-ref-name>
   <ejb-ref-type>Session</ejb-ref-type>
   <home>hello.HelloHome</home>
   <remote>hello.Hello</remote>
   <ejb-link>HelloEJB</ejb-link>
 </ejb-ref>

¤³¤ì¤Ç¡¢ejb-link¤Î¤È¤³¤í¤Çjboss.xml¤Îejb-name¤ò¸«¤Ë¹Ô¤Ã¤Æ¡¢¤½¤³¤Îjndi-name¤Çlookup¤¹¤ë¡¢¤ÈÍý²ò¤·¤¿¤ó¤À¤±¤É¡¢¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¡£¡£¡£¡£¡£¡£°Ê²¼¤Î¥¨¥é¡¼¤¬É½¼¨¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£

EJBException in method: public abstract hello.Hello hello.HelloHome.create() 
throws java.rmi.RemoteException,javax.ejb.CreateException:
javax.ejb.EJBException: Invalid invocation, check your deployment packaging, 
method=public abstract hello.Hello hello.HelloHome.create() throws
java.rmi.RemoteException,javax.ejb.CreateException

¤Ç¤â¡¢¤ï¤¶¤È

 <ejb-link>HelloEJB</ejb-link>

¤òjboss.xml¤Ë¤Ê¤¤HelloEJBa¤È¤«¤¹¤ë¤È

javax.naming.NamingException: ejb-ref: ejb/HelloEJB, no ejb-link in web.xml 
and no jndi-name in jboss-web.xml)

¤Ê¤ó¤Æ¤¤¤ï¤ì¤ë¤«¤é¡¢DD¤¿¤Á¤Ï¤¢¤Ã¤Æ¤ë¤è¤¦¤Êµ¤¤¬¤¹¤ë¡£¡£¡£

¤Þ¤¿¡¢ENC¤ò»È¤ï¤Ê¤¤¤Ç¥¯¥é¥¤¥¢¥ó¥È¤Ç¤ä¤Ã¤¿¤è¤¦¤ËľÀÜ

Object boundObject = context.lookup("HelloEJBHoge");

¤È¤ä¤Ã¤Æ¤â¡¢ENC¤Ç¤ä¤Ã¤¿¤È¤­¤ÈƱ¤¸¥¨¥é¡¼¤¬½Ð¤Á¤ã¤¤¤Þ¤¹¡£

2005/11/22Äɵ­
¤É¤¦¤â¡¢EAR¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥Ã¥±¡¼¥¸¥ó¥°¤Î¤ä¤êÊý¤¬°­¤«¤Ã¤¿¤ß¤¿¤¤¤Ç¤¹¡£WAR¥Õ¥¡¥¤¥ë¤ÎÃæ¤ËEJB¤Î¥Õ¥¡¥¤¥ë¤âÆþ¤ì¤Æ¤¿¤ó¤À¤±¤É¡¢¤½¤ì¤¬NG¤Î¤è¤¦¤Ç¤¹¡£¤Á¤ã¤ó¤ÈWAR¤ÏWEB¥³¥ó¥Æ¥Ê¤Ë¥Ç¥×¥í¥¤¤·¤¿¤¤¤â¤Î¤Î¤ß¡¢EJB-JAR¤ÏEJB¥³¥ó¥Æ¥Ê¤Ë¥Ç¥×¥í¥¤¤·¤¿¤¤¤â¤Î¤Î¤ß¤òÆþ¤ì¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¤è¤¦¤Ç¤¹¡£

jboss-web.xml¤ò»È¤¦

JBoss¤Ç¤ÏÀè¤Ë½ñ¤¤¤¿ <ejb-link>HelloEJB</ejb-link> ¤Èjboss.xml¤Îejb-name¤Ë¤è¤ëJNDI̾¤È¤Î´ØÏ¢¤Å¤±¤À¤±¤Ç¤Ï¤Ê¤¯¡¢jboss-web.xml¤Ë¤è¤ë´ØÏ¢¤Å¤±¤â²Äǽ¤Ç¤¹¡£¤¿¤Ö¤óweb.xml¤Ë¤Ïejb-link¤ò½ñ¤«¤Ê¤¤¤Ç¡¢jboss-web.xml¤Ë

<ejb-ref>
  <ejb-ref-name>ejb/HelloEJB</ejb-ref-name>
  <jndi-name>HelloEJBHoge</jndi-name>
</ejb-ref>

¤È½ñ¤¯¤À¤±¤Î¤è¤¦¤Ç¤¹¡£¤³¤Ã¤Á¤ÎÊý¤¬¡¢¤­¤ì¤¤¤Ç¤¹¤Í¡£¤Á¤Ê¤ß¤Ëjboss-web.xml¤Ïwar¤ÎWEB-INF/ľ²¼¤ËÇÛÃÖ¤·¤Þ¤¹¡£web.xml¤ÎÎÙ¤ËÃÖ¤¤¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£

2005/11/22Äɵ­
¡ÖJBoss¤Ç¤Ï¡×¤È¤¤¤¦¤è¤ê¤â¡¢Æ±¤¸EAR¤ËÆþ¤ì¤é¤ì¤¿EJB¤ò»²¾È¤¹¤ë¤È¤­¤Ï<ejb-link>¤Ç¡¢³°Éô¤ÎEJB¤ò»²¾È¤¹¤ë¤È¤­¤Ïjboss-web.xml¤Ç´ØÏ¢¤Å¤±¤ë¡¢¤È¤¤¤¦·è¤Þ¤ê¤Ë¤Ê¤Ã¤Æ¤ë¤ß¤¿¤¤¤Ç¤¹¤Í¡£

´ØÏ¢¥ê¥ó¥¯

  • Web¥³¥ó¥Æ¥ÊÀßÄê ¥³¥³¤Ë¤ÏÈó¾ï¤Ë¾Ü¤·¤¯jboss-web.xml¤Ê¤É¤ÎÀßÄ꤬½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£

¤³¤Îµ­»ö¤Ï

ÁªÂò»è Åêɼ
¤ª¤â¤·¤í¤«¤Ã¤¿ 6  
¤½¤¦¤Ç¤â¤Ê¤¤ 7  
  • ºî¤Ã¤¿ear¥Õ¥¡¥¤¥ë¤òRational Application Developer¤Çư¤«¤·¤¿¤é¤¦¤´¤¤¤¿¤¾¡¼¡£¡£¡£¤Ê¤ó¤Ç¡©¡©¡© -- ¤­¤Î? 2005-11-10 19:25:06 (ÌÚ)
  • JBoss¤Î·Ç¼¨ÈÄ http://www.jbossgroup.com/index.html?module=bb&op=viewforum&f=47 ¤ò¸¡º÷¤·¤Æ¤ß¤¿¤È¤³¤í¡¢¥¯¥é¥¹¥í¡¼¥À¤¬¤É¤¦¤Î¤È¤«¡¢¤è¤¦¤¹¤ë¤Ë¥Ñ¥Ã¥±¡¼¥¸¥ó¥°¤ËÌäÂ꤬¤¢¤ê¤½¤¦¤Ê´¶¤¸¡£ -- ¤­¤Î? 2005-11-11 17:30:15 (¶â)
  • µÞ¤¬¤Ð¤Þ¤ï¤ì¤Ç¡¢¥Á¥å¡¼¥È¥ê¥¢¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤­¤Æ¡¢°ì¤«¤éAnt¤Ç¥Ñ¥Ã¥±¡¼¥¸¥ó¥°¤·¤¿¤È¤³¤í¡¢¤Á¤ã¤ó¤È²Ôư¤·¤Þ¤·¤¿¡ª¡ª¡ª¡ª -- ¤­¤Î? 2005-11-11 17:32:00 (¶â)
¤³¤Î¥Ú¡¼¥¸¤òdel.icio.us¤ËÄɲà ¤³¤Î¥Ú¡¼¥¸¤ò¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÄɲ䳤Υڡ¼¥¸¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯ ¤³¤Î¥Ú¡¼¥¸¤òlivedoor ¥¯¥ê¥Ã¥×¤ËÄɲà ¤³¤Î¥Ú¡¼¥¸¤òYahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÄɲ䳤Υڡ¼¥¸¤ò´Þ¤àYahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯
Top / J2EE / EJB

¸½ºß¤Î¥¢¥¯¥»¥¹:17011


*1 ¤Ã¤Ä¤Ã¤Æ¤âHello EJB¤Ã¤Æ¤«¤¨¤¹¤À¤±
*2 WebSphere¤Ë¤ÏWebSphere¤ÎÆÈ¼«¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹

¥È¥Ã¥×   ÊÔ½¸ Åà·ë º¹Ê¬ ¥Ð¥Ã¥¯¥¢¥Ã¥× źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS
Last-modified: 2012-02-05 (Æü) 20:44:08 (103d)