EhCache + Struts 1.3.10

2 respostas
Ace

Boa tarde pessoal
estou tentando configurar o ehCache do hibernate em minha aplicação da seguinte maneira: estou com o ehcache-core-2.3.1.jar

hibernate.cfg.xml

<!-- configuracao cache segundo nivel -->
<property name="hibernate.cache.use_second_level_cache">true</property>

<!-- Tentei com este tbm e não tive sucesso -->
<!-- <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property> -->

<property name="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</property>

<!-- Configuracao de cache de Query -->
<property name="hibernate.cache.use_query_cache">true</property>

Dentro de WEB-INF tenho o seguinte ehcache.xml

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">

    <diskStore path="java.io.tmpdir"/>

    <defaultCache
        maxElementsInMemory="1000"
        eternal="true"
        timeToIdleSeconds="3600"
        timeToLiveSeconds="7200"
        overflowToDisk="false"
        diskPersistent="false"
        diskExpiryThreadIntervalSeconds="120"
        memoryStoreEvictionPolicy="LRU"
        />
        
    <cache name="br.com.projeto.model"
        maxElementsInMemory="300"
        eternal="true"
        overflowToDisk="false"
        />

</ehcache>

Tenho as anotações em meus Beans

@Entity
@Table(name="banner_clube")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class BannerClube {
	
	@Id
	@GeneratedValue
	private Long id;
}

Ao acessar a pagina ele gera uma query no console, ao dar um F5 ele gera de novo a query.
Alguem poderia me dizer onde estou errando?

2 Respostas

Ace

Bom dia pessoal,

Alterei algumas configurações do meu ehCache:
retirei o arquivo ehcache.xml, para deixar ele com as configurações padrão e como as minha entidades são apenas lidas, não tem nenhum tipo de escrita e não precisam manter a integridade alterei as anotações para READ_ONLY.

rodei o projeto localmente, acessei uma vez foi gerado a query, como estou no trabalho, acessei por uma outra maquina e verifiquei no console que foram gerados 2 query’s para a mesma busca =.

Alguma idéia? uma luz no fim do tunel? rs

vlw

Ace

Alterei o jar para a versão ehcache-1.0.jar me gera o seguinte erro.

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Filter execution threw an exception
root cause

java.lang.ExceptionInInitializerError
	br.com.vidaeconsciencia.clubelacoseternos.filter.HibernateFilter.doFilter(HibernateFilter.java:40)
root cause

org.hibernate.HibernateException: could not instantiate RegionFactory [org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge]
	org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:423)
	org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:280)
	org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2863)
	org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2859)
	org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1870)
	br.com.vidaeconsciencia.util.HibernateUtil.<clinit>(HibernateUtil.java:28)
	br.com.vidaeconsciencia.clubelacoseternos.filter.HibernateFilter.doFilter(HibernateFilter.java:40)
root cause

java.lang.reflect.InvocationTargetException
	sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	java.lang.reflect.Constructor.newInstance(Unknown Source)
	org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:409)
	org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:280)
	org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2863)
	org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2859)
	org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1870)
	br.com.vidaeconsciencia.util.HibernateUtil.<clinit>(HibernateUtil.java:28)
	br.com.vidaeconsciencia.clubelacoseternos.filter.HibernateFilter.doFilter(HibernateFilter.java:40)
root cause

org.hibernate.cache.CacheException: could not instantiate CacheProvider [net.sf.ehcache.hibernate.EhCacheProvider]
	org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.<init>(RegionFactoryCacheProviderBridge.java:66)
	sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	java.lang.reflect.Constructor.newInstance(Unknown Source)
	org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:409)
	org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:280)
	org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2863)
	org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2859)
	org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1870)
	br.com.vidaeconsciencia.util.HibernateUtil.<clinit>(HibernateUtil.java:28)
	br.com.vidaeconsciencia.clubelacoseternos.filter.HibernateFilter.doFilter(HibernateFilter.java:40)
root cause

java.lang.ClassNotFoundException: net.sf.ehcache.hibernate.EhCacheProvider
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
	java.lang.Class.forName0(Native Method)
	java.lang.Class.forName(Unknown Source)
	org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:192)
	org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.<init>(RegionFactoryCacheProviderBridge.java:63)
	sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	java.lang.reflect.Constructor.newInstance(Unknown Source)
	org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:409)
	org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:280)
	org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2863)
	org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2859)
	org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1870)
	br.com.vidaeconsciencia.util.HibernateUtil.<clinit>(HibernateUtil.java:28)
	br.com.vidaeconsciencia.clubelacoseternos.filter.HibernateFilter.doFilter(HibernateFilter.java:40)
Criado 28 de fevereiro de 2012
Ultima resposta 29 de fev. de 2012
Respostas 2
Participantes 1