3

そのため、誰もがHibernate のhibernate-memcached実装 ( https://code.google.com/p/hibernate-memcached/wiki ) を第 2 レイヤーの Memcached キャッシュとして使用しているようです。

Hibernate と統合しようとしましたが、非常に古いことがわかりました。たとえば、古いバージョンのorg.slfjおよびorg.hibernateバイナリに依存しています (新しいバイナリを使用しているため、Web サービスが壊れます)。しかし、ビルド時にこれらのバイナリを Maven で除外してもhibernate.cache.region.factory_class、Hibernate の新しいキャッシング ポリシーで導入された必要な設定の実装が欠落しているようです。

要するに、私は上記のエラーに遭遇しています:

org.hibernate.cache.NoCacheRegionFactoryAvailableException: Second-level cache is used in the application, but property hibernate.cache.region.factory_class is not given, please either disable second level cache or set correct region factory class name to property hibernate.cache.region.factory_class (and make sure the second level cache provider, hibernate-infinispan, for example, is available in the classpath).

私の推測では、独自の実装を作成する必要がありますか? まだ壊れたステップがいくつあるかわかりません。

4

2 に答える 2

1

この投稿が古いことは知っていますが、とにかく回答する必要があると思います。

残念ながら、現在の hibernate-memcached バージョン 1.4-SNAPSHOT は hibernate max バージョン 3.6.6 のみをサポートしています。Hibernate 4 で使用する場合は、github で fork して自分で変更する必要があります。

最新の hibernate-memcached バージョンは、https://github.com/raykrueger/hibernate-memcachedで入手できます。

Maven を使用している場合は、ここに pom.xml のスニペットがあります。

<repositories>
  <repository>
    <id>hibernate-memcached</id>
    <name>hibernate-memcached</name>
    <url>http://raykrueger.googlecode.com/svn/repository</url>
  </repository>
</repositories>


<dependency>
  <groupId>com.googlecode</groupId>
  <artifactId>hibernate-memcached</artifactId>
   <version>1.4-SNAPSHOT</version>
</dependency>
于 2014-02-20T05:19:38.760 に答える
0

同じ問題があり、Sergeyが回答で説明したことを多かれ少なかれ行うことになりました。他の誰かがこの問題に対する答えを探している場合は、これを試してみてください https://github.com/mihaicostin/hibernate-l2-memcached

于 2015-10-19T18:50:53.573 に答える