Hatena::ブログ(Diary)

leftovers... このページをアンテナに追加 RSSフィード

2010-10-04

Grails 1.3.5 リリース!新機能付き!

Grails 1.3.5 が、リリースされました。

今回のリリースでは、バグフィックスと、若干の新実装などを含みます。前回リリースされた、1.3.4では、REST関連が壊れてたので、個人的には更新しませんでした。今回のリリースで、そのあたりも修正済み (see 6614) なので、他に大きな問題が無い限り、今のプロジェクトで使ってるバージョンも更新する予定です。

Grails 1.3.5 公式リリースノート

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



今回の更新内容!

最新版のGroovy 1.7.5に更新されました。

詳しくは、Groovyリリースノートを参照してください。

no title

名前付きクエリーにソート実装

名前付きクエリーで呼び出すメソッドに、 ドメインのスタティックメソッドと同じように、"sort", "ordering", "ignoreCase"等を指定できます。

Person.recentPublications.list(sort: 'title', order: 'desc', ignoreCase: true)

新機能: GSPで使用してるテンプレート情報デバッグ表示

no title

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 -->

コメントには、開始と終了、レンダリング時間が表示されています。

プリコンパイルされたGSPのリロードサポート

no title

使用方法は、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

詳しくはドキュメントを参照。

6. The Web Layer

ビーンに対してオーバーライドしたプロパティリロードに対応。

no title

今までは開発時に、ビーンに対してオーバーライドした内容は変更を加えた後のリロード時には内容が失われていました。

ビーンのスコープ問題が解決されました。

参照 no title

テストターゲットフルネームで指定可能になりました。

http://jira.codehaus.org/browse/GRAILS-6462

元々、サフィックスにつける"Tests"とか"Test"を書けなかったのですが、今回からフルネームで指定できます。

grails test-app MyTests

resources.groovy内から、applicationインスタンス変数で参照

no title

今までだと、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")
        }
    }
}

ファンクショナルテスト対応の改善

ファンクショナルテスト機能強化として、リモートインスタンスデプロイされたアプリケションにもテストを実行できるようになります。まだ全てのテストプラグインが対応しているわけでは無いですが、直ぐに対応すると思います。

詳しい情報ドキュメントを参照。

9. Testing

run-war起動時でのJVMオプションの指定

Tomcatプラグインデフォルトでは、run-war時に512mのMaxヒープサイズに設定されフォークされたJVMが起動します。今回追加された実装では、BuildConfig.groovyJVMオプション定義できるようになりました。

grails.tomcat.jvmArgs = ["-Xmx1024m", "-XX:MaxPermSize=256m"]

生成されたURLリンクデフォルトキャッシュする機能

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...

Grails 1.3.x以降の公式リリースノート

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

1.3.1 リリースノート http://grails.org/1.3.1+Release+Notes

1.3.0 リリースノート http://grails.org/1.3+Release+Notes

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証