appengine-deferred 0.1 作成 #appengine

appengine-deferred を作成しました。
https://github.com/vvakame/appengine-deferred

DeferredTask について


appengine1.4.3DeferredTaskRunnableSerializable
DeferredTaskimplementTaskOptionpayloadTQ /_ah/queue/__deferred__ TQControllerTQ

作ったもの

特定のメソッドに @Deferred をつけておくと、例外発生時に自動的にTQでの実行に切り替えてくれるライブラリを作りました。
注意事項がいくつかあるのですが、まぁ後にします。

なんで作ったか


appengine10%
ControllerTQ使50
1.4.3DeferredTask12

使い方


APTAPTjarSlim3
mvn appengine-deferred-usage pom

 @Deferred 
appengine-deferred/SampleService.java at 3d651162457ed61cf9b17bd86287736d27ab0d00 · vvakame/appengine-deferred · GitHub


appengine-deferred/SampleServiceTest.java at 3d651162457ed61cf9b17bd86287736d27ab0d00 · vvakame/appengine-deferred · GitHub

 SampleService  SampleServiceDeferred 

DeferredUtil.throwWithValue(...) throwXxxDeferred
throwWithValue
 DeferredUtil.throwWithValue(...) 


SampleService.ownTask() 

注意



DeferredTaskSerializeImmutable

あとがき

多分僕が自分で使って幸せになる!ぐらいしか考えてないので、説明がだいぶ適当だと思います。
使ってみたい人がいたら、分からないところがあったら聞いてくれれば多分答えます。