Привет, У меня возникли проблемы с спящим кэшем второго уровня. Как поставщик кеша, я использую ehcache.Hibernate кеш второго уровня
Часть конфигурации из persistence.xml
<property name="hibernate.cache.use_second_level_cache" value="true"/>
<property name="hibernate.cache.provider_class" value="net.sf.ehcache.hibernate.EhCacheProvider" />
<property name="hibernate.cache.provider_configuration_file_resource_path" value="/ehcache.xml" />
настроить свои объекты с помощью аннотаций так:
@Cache(region = "Kierunek", usage = CacheConcurrencyStrategy.READ_WRITE) public class Kierunek implements Serializable {
импорта для этих аннотаций являются: import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy;
мой ehcache.xml
<diskStore path="java.io.tmpdir" />
<defaultCache maxElementsInMemory="10000" eternal="false"
timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true"
diskSpoolBufferSizeMB="30" maxElementsOnDisk="10000000"
diskPersistent="false" diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU" />
<cache name="Kierunek" maxElementsInMemory="1000"
eternal="true" overflowToDisk="false" memoryStoreEvictionPolicy="LRU" />
И любая мысль, почему я получаю следующее сообщение об ошибке?
WARNING: Could not find a specific ehcache configuration for cache named [persistence.unit:unitName=pz2EAR.ear/pz2EJB.jar#pz2EJB.Kierunek]; using defaults.
19:52:57,313 ERROR [AbstractKernelController] Error installing to Start: name=persistence.unit:unitName=pz2EAR.ear/pz2EJB.jar#pz2EJB state=Create
java.lang.IllegalArgumentException: Cache name cannot contain '/' characters.
решение добавить еще одно свойство для persistence.xml
<property name="hibernate.cache.region_prefix" value=""/>
и удаляет что неисправна префикс большой THx Руслану!
Вы должны полностью указать слово «уровень» вместо «lvl». Это более читаемо и доступно. –
Вы правы. Я писал, что это довольно расстроено, поэтому я не думал об этом ^^ спасибо – Dogrizz