Grails 3.0.8 リリース!!イベント関連向上!
Grails 3.0.8 リリースです。
今回の更新では、Spring Boot 1.2.6 にアップデートされています。
そしてReactorを使用したイベント関連が向上されています。
ドキュメントはコチラから。
http://grails.github.io/grails-doc/3.0.7/guide/async.html#events
イベント受取をgrails.events.Events traitsを実装したクラスを追加できるようになった?
import grails.events.* import javax.annotation.* class MyClass implements Events { @PostConstruct void init() { on("myEvent") { println "Event fired!" } } }
ApplicationクラスのdoWithSpringをオーバライド、またはComponentアノテーションでSpringビーンとして追加できます。
Closure doWithSpring() {
{->
myClass(MyClass)
}
}
Reactor Springアノテーション
GrailsサービスでReactorが提供するアノテーションを使用できます。
import reactor.spring.context.annotation.* @Consumer class MyService { @Selector('my.event') void myEventListener(Object data) { println "GOT EVENT $data" } }
GORMからのイベント
GORMはいくつかのイベントを定義しています。 ※コチラを参照
これらのイベントは、gorm:で始まるキーとして取得できます。
import org.grails.datastore.mapping.engine.event.* ... on("gorm:preInsert") { PreInsertEvent event -> println "GOT EVENT $event" }
※これらのイベントは非同期で実行されるため、パーシストやキャンセルは行えません。
Springからのイベント
Spring関連からも様々な便利なイベントが実行されています。これらのorg.springframeworkパッケージからのイベントはspring:をプリフィックスに取得できます。
import org.springframework.web.context.support.* import org.springframework.boot.context.event.* ... on("spring:applicationStarted") { ApplicationStartedEvent event -> // fired when the application starts } on("spring:servletRequestHandled") { RequestHandledEvent event -> // fired each time a request is handled }
へー。ナイスです。
Grails 3.0.x の詳細情報は、コチラを参考にしてください!
Grails 3.0.0 リリース!! - leftovers...
Grails 3.0.8 の公式リリースノートはこちら。
https://github.com/grails/grails-core/releases/tag/v3.0.8
Changelog https://github.com/grails/grails-core/issues?q=milestone%3Agrails-3.0.8
コミットリスト https://github.com/grails/grails-core/compare/v3.0.7...v3.0.8?w=1
ダウンロード https://github.com/grails/grails-core/releases/tag/v3.0.8
ドキュメント http://grails.github.io/grails-doc/3.0.x/