--------------------
MYSQL-JNDI |
--------------------
# JNDI,JAVAÃüÁîºÍĿ¼½Ó¿Ú.JNDIµÄ×÷ÓþÍÊÇ
# ÔÚ·þÎñÆ÷ÉÏÅäÖÃ×ÊÔ´,È»ºóͨ¹ýͳһµÄ·ÅÆúÀ´»ñÈ¡ÅäÖõÄ×ÊÔ´
# ÕâÀï½²ÊöµÄ×ÊÔ´¾ÍÊÇÁ¬½Ó³Ø.ÕâÑùµÄ»°,ÏîÄ¿ÖпÉÒÔͨ¹ýͳһµÄ·½Ê½À´»ñÈ¡Á¬½Ó³Ø¶ÔÏó
--------------------
MYSQL-JNDI£¬Tomcat |
--------------------
1,ÕÒµ½TomcatÏÂ,confĿ¼ÏµÄcontext.xmlÎļþÖÐµÄ Context ±êÇ©
* ¶Ô¸ÃÎļþ½øÐвÙ×÷,ÄÇô¾ÍÊÇĬÈ϶ԷþÎñÆ÷ÏÂËùÓеÄÏîÄ¿¶¼½øÐÐÁËͳһµÄÅäÖÃ
* ÆäʵûÓÐÕâ¸ö±ØÒª,ÎÒÃÇ¿ÉÒÔÔÚ:server.xmlÎļþµÄµÄHost±êǩϴ´½¨Ò»¸ö Context ±êÇ©,È»ºó½øÐÐÅäÖÃ
* Ò²¿ÉÒÔÔÚTomcat\conf\Catalina\localhostĿ¼Ï´´½¨Ò»¸öxmlÎļþ,Ãû³Æ¸úÏîÄ¿Ãû³ÆÏàͬ(½ö½ö¶Ôµ±Ç°ÏîÄ¿ÓÐЧ).È»ºóÀïÃæÅäÖÃÒ»¸ö: Context ±êÇ©,À´½øÐÐÅäÖòÙ×÷ÊÇ¿ÉÒÔµÄ
2,½øÐÐÅäÖÃ
url="jdbc:mysql://localhost:3306/kevinblandy?useUnicode=true&characterEncoding=utf8"
driverClassName="com.mysql.jdbc.Driver"
username="root"
password="root"
maxActive="1000"/>
# ÅäÖÃJNDI×ÊÔ´ÐèÒªµ½ÔªËØÖÐÅäÖÃ×ÓÔªËØ
[]name :Ö¸¶¨×ÊÔ´µÄÃû³Æ,Õâ¸öÃû³Æ¿ÉÒÔËæÒâ.ÔÚ»ñÈ¡×ÊÔ´µÄʱºò¾ÍÐèÒªÕâ¸öÃû³Æ
# ×ÊÔ´Ãû³Æ
[]auth :д²»Ð´ÎÞËùν,ÆðÂëĿǰÀ´ËµÊÇÕâ¸öÑù×ÓµÄ
[]factory :ÓÃÀ´´´½¨×ÊÔ´µÄ¹¤³§,Õâ¸öÖµÊǹ̶¨µÄ.Ò»°ã²»ÓøÄ
# ×ÊÔ´ÓÉËÀ´¸ºÔð´´½¨
[]type :×ÊÔ´µÄÀàÐÍ,ÎÒÃÇÕâÀï¸ø³öµÄÁ¬½Ó³ØµÄÀàÐÍ
# ÕâÀïÅäÖõÄÊÇÒ»¸öÊý¾Ý¿âÁ¬½Ó³Ø.DruidµÄÁ¬½Ó³Ø
[]bar :±íʾ×ÊÔ´µÄÊôÐÔ,Èç¹û×ÊÔ´´æÔÚÓÐbarÊôÐÔ.ÄÇô¾ÍÔÚÕâÀïÅäÖÃbarÖµ.
¶ÔÓÚDruidÁ¬½Ó³Ø¶øÑÔ,ÊDz»ÐèÒªbarµÄ.¶øÊÇÐèÒªurl,username,passwordµÈÊôÐÔ.
3,»ñÈ¡×ÊÔ´
ÅäÖÃ×ÊÔ´µÄÄ¿µÄÊÇΪÁË»ñÈ¡×ÊÔ´.Ö»ÒªÊÇÆô¶¯ÁËTomcat,ÄÇô¾Í¿ÉÒÔÔÚÏîÄ¿µÄÈκÎÀàÖÐͨ¹ýJNDI»ñÈ¡×ÊÔ´µÄ·½Ê½À´»ñÈ¡×ÊÔ´ÁË
['DEMO']
//Ê×ÏÈ´´½¨ÉÏÏÂÎĶÔÏó
Context iniCtx = new InitialContext();
//ͨ¹ýÉÏÏÂÎĶÔÏó²éÕÒ,ÔÙ´ÎÕÒµ½Ò»¸öÉÏÏÂÎĶÔÏó--java:comp/env:¸ÃÖµÊǹ̶¨µÄ,²»ÄܸÃ
Context envCtx = (Context)iniCtx.lookup("java:comp/env");
//È»ºóͨ¹ýÕâ¸öÉÏÏÂÎÄ,»ñȡָ¶¨Ãû³ÆµÄ×ÊÔ´
DataSource dataSource = (DataSource)envCtx.lookup("jdbc/dataSource");
# ÉÏÃæµÄÆäʵ¿ÉÒÔ¼òд
DataSource dataSource = (DataSource)iniCtx.lookup("java:comp/env/jdbc/dataSource");
* Ï£ÍûÄãÄÜ¿´¶®.Òâ˼¾ÍÊDz»±Ø²éѯÁ½´Î,Ö±½ÓÒ»´Î¸ã¶¨.°ÑÃû×Ö·ÅÒ»¿é¶ù
4,Spring ÖÐʹÓà JNDI µÄ×ÊÔ´
# µÚÒ»ÖÖ·½Ê½
java:comp/env/jdbc/dataSource
# java:comp/env/jdbc/dataSource
java:comp/env/ ºÜÏÔÈ»ÊÇËÀµÄ
jdbc/dataSource ¾ÍÊÇÅäÖÃÔÚxmlµÄname,Ò²¾ÍÊÇ×ÊÔ´Ãû
# »»ÌÀ²»»»Ò©
* jndiName :Õâ¸önameÊôÐÔ¾ÍÊÇËÀµÄÁË
# µÚ¶þÖÖ·½Ê½
* Õâ¸ö¾Í¼òµ¥Ã÷ÁËÁË