leftovers...

about grails groovy

Grails 2.3.6 リリース!!バグフィックス。

Grails 2.3.6 リリースです!!

バグフィックスです!それと追加機能も!


もうおなじみの
Grails前バージョンからアップデートする場合は、Hibernateプラグインのバージョンを 3.6.10.8 しましょう!
Hbernate4の場合は4.3.1.1です。
Tomcatプラグインは7.0.50.1です。

build ':tomcat:7.0.50.1'
runtime ':hibernate:3.6.10.8' // ':hibernate:4.3.1.1'

あとscaffoldingプラグインも更新されたのでアップデートの場合は変更ですね。

scaffolding: "2.0.2"


新機能!
スタンドアローンGORM GroovyスクリプトHibernate GORMを使用できます!
GORM for Hibernate in Groovy Script

@Grab("org.grails:grails-datastore-gorm-hibernate4:3.0.0.RELEASE")
@Grab("org.grails:grails-spring:2.3.6")
@Grab("com.h2database:h2:1.3.164")
import grails.orm.bootstrap.*
import grails.persistence.*
import org.springframework.jdbc.datasource.DriverManagerDataSource
import org.h2.Driver
 
init = new HibernateDatastoreSpringInitializer(Person)
def dataSource = new DriverManagerDataSource(Driver.name, "jdbc:h2:prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE", 'sa', '')
init.configureForDataSource(dataSource) 
 
println "Total people = " + Person.count()
 
@Entity
class Person {
    String name
    static constraints = {
        name blank:false
    }
}


2.3.5をスルーした人で更新する人は以下も注意。
UrlMappings.groovyに変更があります。

"/$controller/$action?/$id?(.${format})?"{

"/$controller/$action?/$id?(.$format)?"{

に変更。


今回のリリースでは、
JIRAの情報によると例のデータバインディングのConfig設定がUnitテストで動かない件が修正されたっぽい。
"Settings for grails.databinding.* in Config.groovy doesn't work in unit test"
http://jira.grails.org/browse/GRAILS-10474

あとは、JMXコンソールにデータソースのプールとか。
"Export Grails DataSource pools in JMX console by default"
http://jira.grails.org/browse/GRAILS-11111

BE1PC Transactions!? ベストエフォート1PCパターン実装。
http://jira.grails.org/browse/GRAILS-11104

追記
多くのユーザから報告をうけた、この問題が発端らしいですが。
データソースの設定が変わります。(いろいろ追加された感じかな。。) 今後のデフォルトはこんな感じらしいです。

properties {
               // See http://grails.org/doc/latest/guide/conf.html#dataSource for documentation
               jmxEnabled = true
               initialSize = 5
               maxActive = 50
               minIdle = 5
               maxIdle = 25
               maxWait = 10000
               maxAge = 10 * 60000
               timeBetweenEvictionRunsMillis = 5000
               minEvictableIdleTimeMillis = 60000
               validationQuery = "SELECT 1"
               validationQueryTimeout = 3
               validationInterval = 15000
               testOnBorrow = true
               testWhileIdle = true
               testOnReturn = false
               jdbcInterceptors = "ConnectionState;StatementCache(max=200)"
               defaultTransactionIsolation = java.sql.Connection.TRANSACTION_READ_COMMITTED
}

ここに、今後はさらにdbPropertiesを設定できるようになります。
サンプルはstackoverflowの内容を参照してください。



ほか、細かいところは見ていませんが、
Grails 2.3.6 の公式リリースノートはこちら。
http://grails.org/2.3.6+Release+Notes
JIRA http://jira.grails.org/secure/ReleaseNote.jspa?projectId=10020&version=13536
ダウンロード http://grails.org/Download
直リン grails-2.3.6.zip
ドキュメント http://grails.org/doc/2.3.x/
Whats New 2.3
Grails 2.3の新機能(意訳版)


Grails 2.3とかはじめて!って方は、話はこちらも参照してください。
Grails 2.3.0 リリース!きた! - leftovers...
Grails 2.3 新時代への幕開け。