Skip to content

Grails 2.3.6

Compare
Choose a tag to compare
@graemerocher graemerocher released this 16 Jan 13:01
· 6946 commits to master since this release

Release Information

New Features

Update Notes

Updated Plugins

If you are upgrading from previous versions of Grails 2.3.x and you use the Hibernate and/or Tomcat plugins you will need to update the versions in BuildConfig:

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

Changes to Dependency Graph

Grails 2.3.6 makes some changes to the dependency graph inhertied by all applications. If you are excluding dependencies from the framework you may need to alter your exclusion rules.

Changes to transactions across multiple datasources

In previous Grails versions, additional datasources didn't take part in transactions initiated in Grails. The transactions in additional datasources were basically in auto commit mode. In some cases this might be the wanted behavior. One reason might be performance: on the start of each new transaction, the BE1PC transaction manager creates a new transaction to each datasource. It's possible to leave an additional datasource out of the BE1PC transaction manager by setting @transactional = false@ in the respective configuration block of the additional dataSource.

By default, the BE1PC implementation will add all beans implementing the Spring PlatformTransactionManager interface to the chained BE1PC transaction manager. You can use different configuration options for controlling this behaviour.

There is more details of this feature in the [Transactions across multiple datasources |http://grails.org/docs/2.3.x/guide/conf.html#multipleDatasources] section.

Changes to previous Grails 2.3.x releases

DataSource.groovy (before 2.3.6)

The default DataSource properties have been revised due to [database connection problems|http://jira.grails.org/browse/GRAILS-11097] that many users were having.

These are the new defaults.

        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
        }

It's now also possible to add database driver specific properties to "dbProperties". This feature is usefull in fine tuning MySQL JDBC driver properties. There is an [example on Stackoverflow|http://stackoverflow.com/a/21754467/166062].

UrlMappings.groovy (before 2.3.5)

replace this line

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

with

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