隨筆-348  評論-598  文章-0  trackbacks-0
          今天搞了一下Grails的JNDI配置,步驟如下:
          1、在應(yīng)用目錄下面,META-INF下建立一個Context.xml文件,內(nèi)容如下:
          <?xml version="1.0" encoding="UTF-8"?>
          <Context path="/game_hall_local" docBase="game_hall_local"
                  debug
          ="5" reloadable="true" crossContext="true">

              
          <!-- maxActive: Maximum number of dB connections in pool. Make sure you
                   configure your mysqld max_connections large enough to handle
                   all of your db connections. Set to -1 for no limit.
                   
          -->

              
          <!-- maxIdle: Maximum number of idle dB connections to retain in pool.
                   Set to -1 for no limit.  See also the DBCP documentation on this
                   and the minEvictableIdleTimeMillis configuration parameter.
                   
          -->

              
          <!-- maxWait: Maximum time to wait for a dB connection to become available
                   in ms, in this example 10 seconds. An Exception is thrown if
                   this timeout is exceeded.  Set to -1 to wait indefinitely.
                   
          -->

              
          <!-- username and password: MySQL dB username and password for dB connections  -->

              
          <!-- driverClassName: Class name for the old mm.mysql JDBC driver is
                   org.gjt.mm.mysql.Driver - we recommend using Connector/J though.
                   Class name for the official MySQL Connector/J driver is com.mysql.jdbc.Driver.
                   
          -->

              
          <!-- url: The JDBC connection url for connecting to your MySQL dB.
                   
          -->

              
          <Resource name="jdbc/mydatasource" auth="Container"
                        type
          ="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"
                        url
          ="jdbc:mysql://localhost:3306/game_hall_cms?useUnicode=true&amp;characterEncoding=UTF-8"
                        username
          ="root" password="root" maxActive="20" maxIdle="10"
                        maxWait
          ="-1"/>

          </Context>
          2、在DataSource.groovy里面將部署連接配置修改成如下代碼:
          production {
              dataSource 
          {
                  pooled 
          = false
                  dbCreate 
          = "update"
                  jndiName 
          = "java:comp/env/jdbc/mydatasource"
              }

          }

          3、在應(yīng)用工程的scripts目錄下,簡歷_Event.groovy文件,內(nèi)容如下:
          import groovy.xml.StreamingMarkupBuilder

          if (Environment.current == Environment.PRODUCTION) {
              eventWebXmlEnd 
          = {String tmpfile ->
                  def root 
          = new XmlSlurper().parse(webXmlFile)

                  
          // add the data source
                  root.appendNode {
                      
          'resource-ref'{
                          
          'description'('The JNDI Database resource')
                          
          'res-ref-name'('jdbc/mydatasource')
                          
          'res-type'('javax.sql.DataSource')
                          
          'res-auth'('Application')
                      }

                  }

              
                  webXmlFile.text 
          = new StreamingMarkupBuilder().bind {
                      mkp.declareNamespace(
          """http://java.sun.com/xml/ns/j2ee")
                      mkp.yield(root)
                  }

              }

          }

          4、可以進(jìn)行生產(chǎn)環(huán)境編譯,這樣在生產(chǎn)環(huán)境中部署,就可以使用JNDI了。
          注意:sql連接的url中如果有&需要轉(zhuǎn)移成&amp;,否則他會報(bào) 需要分隔符“;”作為終止符號 的錯誤。


          ---------------------------------------------------------
          專注移動開發(fā)

          Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
          posted on 2010-02-08 15:28 TiGERTiAN 閱讀(1734) 評論(0)  編輯  收藏 所屬分類: JavaGrails
          主站蜘蛛池模板: 诸城市| 普兰店市| 婺源县| 灌南县| 清远市| 辽阳县| 射洪县| 关岭| 湖南省| 弥勒县| 锡林郭勒盟| 伊通| 临漳县| 阳谷县| 新化县| 柘城县| 罗源县| 安溪县| 沭阳县| 卢龙县| 铜川市| 和平县| 庆元县| 德化县| 白城市| 北川| 汉阴县| 崇左市| 乌兰浩特市| 兴隆县| 盈江县| 桦甸市| 荣昌县| 黎城县| 宜章县| 会东县| 绥德县| 中西区| 集安市| 依安县| 新郑市|