2011-07-19 7 views
1

jQuery UIのオートコンプリートを含むPlayでかなり簡単なアプリケーションを開発しています。このオートコンプリートはajaxリクエストをサーバーに送信し、ID /値を戻します(Peter Hiltonが提供するコードスニペットを使用)。Playで休止状態にキャッシングしたくないです。

私はセレンのテストをリロードに問題があります。 を - 私は、テストモード(プレイテスト)で自分のアプリケーションを起動したとき、それは(ブートストラップ機能を介して)メモリDB にID /値をロードする - 私は私のセレンテストを起動するときそれはデータを削除し、新しいID(私には普通のようです)と同じ値のテストデータをロードします - テストが実行されると、オートコンプリートは新しいIDの代わりに古いID /値を返します。 "id nnのオブジェクトが見つかりません" =>古い値がサーバキャッシュにロードされているように見えますが、Playの説明書で説明されている通りです...

私は@javax.persistence.Entityをチェックしましたが、休止状態@Entity

私はまた、通常のようで、私のapplication.confにチェック:そう、あなたが使用している注釈は関係ありません休止状態

%test.application.mode=dev 
%test.db.url=jdbc:h2:mem:play;MODE=MYSQL;LOCK_MODE=0 
%test.jpa.ddl=create-drop 
%test.mail.smtp=mock 

ヘルプしてください...

答えて

0

JPAの使用を。しかし、すべてのリクエストが新しいHibernate-Sessionを取得する必要があるため、これはハイバンテントの問題ではないと私は思います。だから、ログステートメントでコードを分析して、それが休止状態であることを確認してください。デフォルトでは

0

Hibernateはセッションのみを使用している限り、要求の期間として、基本的にはキャッシュ、(これはHTTPセッションではありません)、http://community.jboss.org/wiki/SessionsAndTransactions

を参照してください。だから私はあなたが与えた問題がでているとは思いません2番目のレベルのキャッシュを設定し、エンティティで@Cacheを使用していない場合は、休止状態になります。

これは、ブラウザのキャッシュとして単純なものが原因で発生している可能性があります。ブラウザのキャッシュを削除してみてください。