2016-07-11 9 views
0

サーブレットやWEB-INF/web.xmlを使用していないときにobjectifyを使用する方法はありますか? 私はPlayを使用しています!フレームワークは、Javaで2.5.4と私はそれに対処する方法がわからない...このリンクからObjective with Play Framework 2

Objectify wiki setup

私は新しいモジュールを作成することで、このコードを実行する方法を発見しました

bind(ObjectifyFilter.class).in(Singleton.class); 

が、私は実行する方法がわからない:

filter("/*").through(ObjectifyFilter.class); 

私はそれを行う方法がわからないので、私が試したこと:

[email protected]を保存

エラー:

ObjectifyService.begin(); 
ofy().save().entity(registration).now(); 

しかし、私は唯一の次の例外を取得しませAPI環境がこのスレッドのために登録されていません。

ありがとうございました!

答えて

2

これは面白い挑戦のようです。

再生フレームワークにフィルタを登録することは、サーブレットの仕様に従わないにもかかわらず難しくありません。

https://www.playframework.com/documentation/2.5.x/JavaHttpFilters

しかし、私が見る主な問題は、このフレームワークは、トランザクション、および非同期タスクに関する情報を格納するためのスレッドローカルコンテキストを使用しています(少しのために、私が読んだ)ということです。そして、これは、非ブロックモデルに続くトレッドをプレーフレームワークが使用する方法と互換性がありません。 https://www.playframework.com/documentation/2.5.x/ThreadPools

この情報が役立つかどうかはわかりませんが、プレイフレームワークの大きな図がわかります。

お楽しみください

+0

はい、あなたは正しいです(残念ながら)。 GoogleのリモートAPIを使用して、この記事の回避策を見つけました。 http://stackoverflow.com/questions/27762240/google-app-engine-connect-to-remote-datastore-locally-using-objectifyいずれにしても、お返事ありがとうございます – Flo354

+0

ようこそ。がんばろう –