2012-05-04 6 views
2

私は、Terracottaを使用した分散環境でEHCacheを設定しようとしています。ここでは、アプリケーションサーバーとTerracottaサーバーに接続できます。また、Terracotta Developer Consoleでは、複製されたオブジェクトを表示できます。テラコッタでhibernate分散ehca​​cheを設定する際のセッションファクトリの問題

こんにちはすべてを、この例外メッセージが表示され、どのように我々はそれを解決することができ、なぜすべてのボディが導くことができるかどうか:アプリケーションの残りの部分は正常に動作しているものの

しかし、アプリケーションサーバcontiniously、次の例外メッセージには、登場しています。 また、休止状態のアプリケーション用にテラコッタを設定するための包括的なチュートリアルもあります。

ここで[CacheByAmitNode8081]は、アプリケーションサーバーで定義したキャッシュノードの名前です。あなたはテラコッタを使用している場合

[DEBUG][04/05/12 12:49:07.973][CacheByAmitNode8081] Running mbean initializer task for ehcache hibernate... 
[DEBUG][04/05/12 12:49:07.995][CacheByAmitNode8081] Successfully registered bean 
[ERROR][04/05/12 12:49:08.000][CacheByAmitNode8081] Error locating Hibernate Session Factory 
java.lang.NullPointerException 
at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:36) 
at sun.reflect.UnsafeQualifiedObjectFieldAccessorImpl.get(UnsafeQualifiedObjectFieldAccessorImpl.java:20) 
at java.lang.reflect.Field.get(Field.java:358) 
at org.hibernate.cache.ehcache.management.impl.ProviderMBeanRegistrationHelper$RegisterMBeansTask.locateSessionFactory(ProviderMBeanRegistrationHelper.java:152) 
at org.hibernate.cache.ehcache.management.impl.ProviderMBeanRegistrationHelper$RegisterMBeansTask.run(ProviderMBeanRegistrationHelper.java:117) 
at java.util.TimerThread.mainLoop(Timer.java:512) 
at java.util.TimerThread.run(Timer.java:462) 
[DEBUG][04/05/12 12:49:08.001][CacheByAmitNode8081] SessionFactory is probably still being initialized... waiting for it to complete before enabling hibernate statistics monitoring via JMX 
[DEBUG][04/05/12 12:49:08.001][CacheByAmitNode8081] Running mbean initializer task for ehcache hibernate... 
[ERROR][04/05/12 12:49:08.001][CacheByAmitNode8081] Error locating Hibernate Session Factory 
java.lang.NullPointerException 
at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:36) 
at sun.reflect.UnsafeQualifiedObjectFieldAccessorImpl.get(UnsafeQualifiedObjectFieldAccessorImpl.java:20) 
at java.lang.reflect.Field.get(Field.java:358) 
at org.hibernate.cache.ehcache.management.impl.ProviderMBeanRegistrationHelper$RegisterMBeansTask.locateSessionFactory(ProviderMBeanRegistrationHelper.java:152) 
at org.hibernate.cache.ehcache.management.impl.ProviderMBeanRegistrationHelper$RegisterMBeansTask.run(ProviderMBeanRegistrationHelper.java:117) 
at java.util.TimerThread.mainLoop(Timer.java:512) 
at java.util.TimerThread.run(Timer.java:462)* 

答えて

0

、あなたはehcacheを実装を置き換えます、あなたのクラスパス上の特定のテラコッタのjarファイルを追加する必要があります。あなたの例外スタックで、私は任意のテラコッタクラスの出力が表示されない...私は私のMavenの依存関係で

<dependency> 
    <groupId>net.sf.ehcache</groupId> 
    <artifactId>ehcache-core-ee</artifactId> 
    <version>2.5.2</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>net.sf.ehcache</groupId> 
    <artifactId>ehcache-terracotta-ee</artifactId> 
    <version>2.5.2</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.terracotta</groupId> 
    <artifactId>terracotta-toolkit-1.5-runtime-ee</artifactId> 
    <version>4.2.0</version> 
    <scope>compile</scope> 
</dependency> 

あなたはまたを休止するプラグする方法についてのテラコッタのチュートリアルを確認することができます。 http://terracotta.org/documentation/enterprise-ehcache/get-started-hibernate

関連する問題