0

ehcache-1.2.3.jar第 2 レベルのキャッシュにHibernate v3.2.5 と EHCache ( ) を使用しています。

これはehcache.xmlファイルです。

<ehcache>
  <defaultCache maxElementsInMemory="100" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="200" />
  <cache name="departments" maxElementsInMemory="100" eternal="false" timeToIdleSeconds="5" timeToLiveSeconds="200" />
</ehcache>

以下は、を取得するために使用したコードですCacheManager

SessionFactory sf = new Configuration().configure("trial.cfg.xml").buildSessionFactory();
    Session session = sf.openSession();

    Dept department = (Dept)session.load(Dept.class, 1);
    //Performing some operations

    //Trying to get an instance of CacheManager
    CacheManager cm = new CacheManager("src/ehcache.xml");

例外が発生しています:

Exception in thread "main" java.lang.NullPointerException
at net.sf.ehcache.CacheManager.detectAndFixDiskStorePathConflict(CacheManager.java:269)
at net.sf.ehcache.CacheManager.configure(CacheManager.java:252)
at net.sf.ehcache.CacheManager.init(CacheManager.java:196)
at net.sf.ehcache.CacheManager.<init>(CacheManager.java:131)
at com.demo.Test.main(OneToMany.java:52)

繰り返しますが、代替手段としてこれを試しました:

Cache cache = CacheManager.getInstance().getCache("departments");

しかし、再び同じ例外が発生しました。

編集:

トライアル.cfg.xml

<property name="hibernate.connection.username">XXX</property>
<property name="hibernate.connection.password">XXX</property>
<property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
<property name="hibernate.connection.url">XXX</property>
<property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
<property name="hibernate.jdbc.batch_size">30</property>
<property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
<property name="hibernate.cache.use_query_cache">false</property>
<property name="hibernate.cache.use_second_level_cache">true</property>
<property name="hibernate.connection.release_mode">after_transaction</property>
<property name="hibernate.connection.autocommit">true</property>
<property name="hibernate.connection.pool_size">0</property>
<property name="hibernate.current_session_context_class">thread</property>    
<property name="hibernate.show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>

これを解決する方法を教えてください。

4

0 に答える 0