SiNBLOG

140文字に入らないことを、極稀に書くBlog

DatastoreTimeoutExceptionについて、時代は変わっていたようだ。

先日のSlim3 Source Code Reading #2 で話題になった件について。
Slim3 Source Code Reading #2 に参加してきた! - SinDiary

丁度、twitter#slim3 でひが殿に質問してくださってる方がいらっしゃった。
タイミング的にここか、横山殿のblogを見てくださったのかな?
T.Yokoyamaのブログ: Slim3 Source Code Reading #2


更にその件について、@bluerabbit777jp殿が詳しく教えてくださった。

有識者の方とこんなに簡単にコンタクトが取れる・・・!
いい時代になったものだと、勝手に感動した!

ということで、言いだしっぺの私の役割は、学習した内容をblogにまとめることである!


結論

DatastoreTimeoutExceptionはGAE/JのSDKより先のRPCの向こう側でリトライされるように時代は変わったのだ(キリッ

@bluerabbit777jp殿からいただいたリプライを引用!


Slim3本にも、毎回必要なのでSDKからフレームワーク側で対応するのが良い
と書いてありましたが、更にその先で対応されたようです。

2011/12/29 修正
また、DatastoreのAPIは全て非同期で、利用する側で同期に変える必要があるそうです。
普通に使う時は、同期して使うでしょうからSlim3ではデフォルトが同期するようになっているのでしょうね。

DatastoreのAPIが全て非同期なのではなく、RPCは全て非同期である。
GAE/J SDKAPIには同期用と非同期用が用意してあるそうです。


また、ModelMetaに関する情報も、@bluerabbit777jp殿からいただきました。


@sinmetal ModelMetaはModelのアノテーションを元にAPTで生成されます。
APTというのは、これのことで良いのかな?
Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle

slim3-gen 側のソースを読む時には、この辺りの知識も必要そう。


2011/12/29 追記