2010-10-04
Grails 1.3.5 リリース!新機能付き!
今回のリリースでは、バグフィックスと、若干の新実装などを含みます。前回リリースされた、1.3.4では、REST関連が壊れてたので、個人的には更新しませんでした。今回のリリースで、そのあたりも修正済み (see 6614) なので、他に大きな問題が無い限り、今のプロジェクトで使ってるバージョンも更新する予定です。
http://www.grails.org/1.3.5+Release+Notes
Changelog http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11063&version=16651
ダウンロード http://grails.org/Download
ドキュメント http://grails.org/doc/1.3.5
今回の更新内容!
Release Notes - groovy - Version 1.7.5 - HTML format - jira.codehaus.org
名前付きクエリーで呼び出すメソッドに、 ドメインのスタティックメソッドと同じように、"sort", "ordering", "ignoreCase"等を指定できます。
Person.recentPublications.list(sort: 'title', order: 'desc', ignoreCase: true)
renderタグで使用しているテンプレートGSPの内容が、実際にどの位置にレンダリングされたか等の情報を、生成されたHTML内のコメントで参照できるようになります。
この機能を使うには、情報を参照したいページのURLに、"?debugTemplates"または、"&debugTemplates"を付加するだけです。それぞれのテンプレートの位置には連番も付加されます。この"debugTemplates"は、開発モードだけで動作します。
debugTemplates機能で付加されたコメント例:
<!-- GSP #2 START template: /home/user/sampleapp/grails-app/views/_carousel.gsp precompiled: false lastmodified: 22.6.2010 10:45 --> . . <!-- GSP #2 END template: /home/user/sampleapp/grails-app/views/_carousel.gsp rendering time: 115 ms -->
各コメントには、開始と終了、レンダリング時間が表示されています。
使用方法は、Config.groovyに以下の情報を設定します。
grails.gsp.enable.reload = true grails.gsp.view.dir = "/var/www/grails/my-app/" //GSPのディレクトリを指定
指定したディレクトリには、Grailsアプリケーションのviewsディレクトリから、GSPファイルをコピーします。
mkdir -p /var/www/grails/my-app/grails-app/views cp -R grails-app/views/* /var/www/grails/my-app/grails-app/views
詳しくはドキュメントを参照。
ビーンに対してオーバーライドしたプロパティのリロードに対応。
[#GRAILS-5763] Property Override not applied on artefact reload - Grails JIRA
今までは開発時に、ビーンに対してオーバーライドした内容は変更を加えた後のリロード時には内容が失われていました。
ビーンのスコープ問題が解決されました。
参照 [#GRAILS-6278] Scoped service proxy doesnt work anymore after upgrade to 1.3 - Grails JIRA
http://jira.codehaus.org/browse/GRAILS-6462
元々、サフィックスにつける"Tests"とか"Test"を書けなかったのですが、今回からフルネームで指定できます。
grails test-app MyTests
resources.groovy内から、applicationインスタンスを変数で参照
[#GRAILS-6363] Make the Grails application available in resources.groovy files - Grails JIRA
今までだと、ApplicationHolderを使ってましたが、簡単に呼び出せるので良いですね。
import grails.util.*beans = { if (application.config.my.company.mockService) { myBean(my.company.mock.MockImpl) { bookService = ref("bookService") } } else { myBean(my.company.MyBeanImpl) { bookService = ref("bookService") } } }
ファンクショナルテスト機能強化として、リモートインスタンスやデプロイされたアプリケションにもテストを実行できるようになります。まだ全てのテスト用プラグインが対応しているわけでは無いですが、直ぐに対応すると思います。
Tomcatプラグインのデフォルトでは、run-war時に512mのMaxヒープサイズに設定されフォークされたJVMが起動します。今回追加された実装では、BuildConfig.groovyにJVMオプションを定義できるようになりました。
grails.tomcat.jvmArgs = ["-Xmx1024m", "-XX:MaxPermSize=256m"]
createLinkタグで生成されたリンクをLRUキャッシュでキャッシュするようになりました。デフォルトのキャッシュサイズは160000文字ですが、パラメータ指定で変更できます。
// set UrlCreatorCache size to 200000 characters grails.urlcreator.cache.maxsize = 200000
// disable UrlCreatorCache grails.urlcreator.cache.maxsize = 0
LRUキャッシュは、concurrentlinkedhashmap 1.0_jdk5で実装されています。同じくURLマッチでも使用されていて、該当箇所のメモリーリーク問題を解決しています。
grails.logging.jul.usebridgeが有効になっている場合の注意点
以前のGrailsでは、grails.logging.jul.usebridgeがConfig.groovyで、あらかじめ有効になっていました。SLF4Jのドキュメントによると、JULからSLF4Jブリッジがパフォーマンス低下につながるとしてるので、プロダクション環境では、grails.logging.jul.usebridgeを無効にすることをおすすめします、とのこと。
以前のGrails 1.3.x系の更新内容も参考にしてください。
Grails-1.3.4 リリース!!!主にバグフィックス+Groovy 1.7.4に更新! - leftovers...
Grails 1.3.3 リリース! - leftovers...
Grails 1.3.2 リリース! - leftovers...
Grails 1.3.1 リリース! - leftovers...
Grails 1.3 リリース! - leftovers...
1.3.4 リリースノート http://grails.org/1.3.4+Release+Notes
1.3.3 リリースノート http://grails.org/1.3.3+Release+Notes
1.3.2 リリースノート http://grails.org/1.3.2+Release+Notes
クリック: 3回
- 6 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=Grails+プラグイン
- 6 http://www.jggug.org/
- 5 http://d.hatena.ne.jp/uehaj/20100225/1267106256
- 4 http://realurl.org
- 4 http://twitter.com/
- 4 http://www.xmldo.net/Home/ncstaffblog
- 3 http://hootsuite.com/dashboard
- 3 http://longurl.org
- 3 http://www.google.co.jp/reader/view/
- 2 http://twitter.com/tyama



