隨筆-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;,否則他會報 需要分隔符“;”作為終止符號 的錯誤。


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

          Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
          posted on 2010-02-08 15:28 TiGERTiAN 閱讀(1739) 評論(0)  編輯  收藏 所屬分類: Java 、Grails
          主站蜘蛛池模板: 若羌县| 拉孜县| 华蓥市| 富民县| 庆阳市| 兴文县| 宁化县| 辽阳市| 台南县| 绍兴县| 黄陵县| 大连市| 大渡口区| 顺平县| 恩施市| 绥中县| 枞阳县| 东乡族自治县| 安义县| 乐陵市| 安宁市| 抚松县| 镇康县| 兴义市| 达孜县| 长寿区| 祁东县| 舞阳县| 平邑县| 新蔡县| 阳春市| 六安市| 安国市| 沙湾县| 衡阳县| 德化县| 新乡市| 华池县| 金平| 江陵县| 花垣县|