2010-12-08 6 views
1

私は自分のプロジェクトでJava、Hibernate、Springを使用しています。私は大量のデータを扱っているので、初めてテーブルと結果セットをキャッシュするためにehcacheを実装しました。ehcacheのテスト

しかし、データがキャッシュから次の時間にロードされているかどうかはわかりません。これをどうすればテストできますか?どんな助けもありがとう。これは私がehcacheを設定した方法です。

<prop key="hibernate.cache.use_second_level_cache">true</prop> 
<prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.SingletonEhCacheProvider</prop> 
<prop key="hibernate.cache.use_query_cache">true</prop> 

は、その後、私はクラスパスにehcache.xmlを続けています。これで十分ですか?それが動作しているかどうかをどのようにテストできますか?

答えて

4

ログを確認します。サーバーのログをDEBUGレベルにすると、そこにキャッシュされているアクティビティが表示されます。

+1

自動テストはどうですか? – chrismarx

0

ehcache.xmlをテストリソース(またはテストのクラスパス)に追加して、ehcacheをインスタンス化することができます。このキャッシュされたオブジェクトを使用しているメソッドをテストするたびに、キャッシュされたオブジェクトからそのメソッドを検索する必要があります。

それ以外の場合は、テストコードのキャッシュに手動でアクセスします。

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations = {"classpath*:cache.xml"}) 
public abstract class TestEcacheSpring { 

    @Autowired 
    EcacheSpringtest test; 

    @Test 
    public void test(){ 
    test.getName("test"); 
    test.getName("test"); 
    } 

}