隨筆-348  評論-598  文章-0  trackbacks-0
          今天搞了一下Grails的JNDI配置,步驟如下:
          1、在應用目錄下面,META-INF下建立一個Context.xml文件,內容如下:
          <?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、在應用工程的scripts目錄下,簡歷_Event.groovy文件,內容如下:
          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、可以進行生產環境編譯,這樣在生產環境中部署,就可以使用JNDI了。
          注意:sql連接的url中如果有&需要轉移成&amp;,否則他會報 需要分隔符“;”作為終止符號 的錯誤。


          ---------------------------------------------------------
          專注移動開發

          Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
          posted on 2010-02-08 15:28 TiGERTiAN 閱讀(1734) 評論(0)  編輯  收藏 所屬分類: JavaGrails
          主站蜘蛛池模板: 阜宁县| 葫芦岛市| 无极县| 嘉荫县| 成安县| 遵义县| 永州市| 寿宁县| 黄冈市| 化德县| 延吉市| 个旧市| 张家口市| 盐池县| 吉木萨尔县| 双城市| 舞阳县| 威海市| 桃江县| 沁阳市| 资溪县| 浑源县| 隆昌县| 盘山县| 萝北县| 玉溪市| 广州市| 遂平县| 交城县| 兴文县| 太和县| 尼木县| 新民市| 正阳县| 定州市| 景德镇市| 会宁县| 平乡县| 旅游| 永安市| 眉山市|