ehcache + jpa nao funciona  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
donatinho
JavaBaby
[Avatar]

Membro desde: 28/03/2006 15:39:17
Mensagens: 82
Localização: Belo Horizonte
Offline

Bom dia pessoal!

Seguinte, tem uns 3 dias que estou tentando fazer o meu ehcache funcionar com JPA do hibernate. O console do eclipse exibe apenas que o ehcache subiu, mas o tempo que coloco no ehcache.xml expira, ele NAO vai ao banco de dados e NAO exibe a sentenca sql que foi feita.

mesmo configurando pra

<property name="hibernate.show_sql" value="true" />

Sendo assim, alguem poderia me dar uma mao, por favor?

Nao sei mais o que fazer...

Att,

donatinho

donatinho
[Email] [MSN]
pozzo
JavaEvangelist

Membro desde: 08/04/2006 11:07:20
Mensagens: 331
Localização: Curitiba
Offline

..ele NAO vai ao banco de dados e NAO exibe a sentenca sql que foi feita.


Isso não indica que está funcionando? O ehcache acessa objetos já carregados na memória, não deve ir ao banco.


Você checou no jmx-console do teu servidor se o cache está habilitado?

Você seguiu algum tutorial?

http://ehcache.org/documentation/hibernate.html
http://community.jboss.org/wiki/ConfigureEhcacheasaSecondLevelCache
donatinho
JavaBaby
[Avatar]

Membro desde: 28/03/2006 15:39:17
Mensagens: 82
Localização: Belo Horizonte
Offline

Pozzo, mais um vez agradeco a atencao dispensada pela questao.

Bom, o que segui foram sites que encontrei pela internet, mas pelo visto estou configurando de forma errada.

Sendo assim, ratifico o meu problema.

Nao estou conseguinda fazer o ehcache do JPA funcionar com o hibernate

quando subo o jboss, aparece as seguintes linhas:


15:35:53,085 INFO [SettingsFactory] Query language substitutions: {}
15:35:53,085 INFO [SettingsFactory] JPA-QL strict compliance: enabled
15:35:53,085 INFO [SettingsFactory] Second-level cache: enabled
15:35:53,085 INFO [SettingsFactory] Query cache: enabled
15:35:53,085 INFO [SettingsFactory] Cache provider: org.hibernate.cache.EhCacheProvider


E obrigado pela informacao correta que tu colocou, realmente eu confundi as bolas.

Olha, pra ser sincero, nao estou sabendo é configurar essa tecnologia...

E olha que ja bati cabeca


donatinho
[Email] [MSN]
pozzo
JavaEvangelist

Membro desde: 08/04/2006 11:07:20
Mensagens: 331
Localização: Curitiba
Offline

Poste as seguintes informações:

Versão do Hibernate;
Nome e versão do container;
Um hbm.xml ou entidade (caso use annotation);
hibernate.cgf.xml ou persistence.xml;
donatinho
JavaBaby
[Avatar]

Membro desde: 28/03/2006 15:39:17
Mensagens: 82
Localização: Belo Horizonte
Offline

hibernate : hibernate3.jar

Nome e versão do container : jboss-4.2.3.GA

Entidade:



DAO que contem a sentenca sql:




persistence.xml





ehcache.xml


This message was edited 2 times. Last update was at 27/04/2010 16:23:43


donatinho
[Email] [MSN]
pozzo
JavaEvangelist

Membro desde: 08/04/2006 11:07:20
Mensagens: 331
Localização: Curitiba
Offline

hibernate : hibernate3.jar


Bom, vou supor que seja Hibernate 3.3. Adicione a seguinte linha no persistence.xml.



Você adicionou o jar do ecache no projeto, certo?

Comece fazendo uma pesquisa por id para ver se ele usa o cache. Depois uma por query.

This message was edited 1 time. Last update was at 27/04/2010 16:51:21

donatinho
JavaBaby
[Avatar]

Membro desde: 28/03/2006 15:39:17
Mensagens: 82
Localização: Belo Horizonte
Offline

Bom dia Pozzo!

Coloquei o property que tu havia pedido .

O jar do ehcache esta na raiz do projeto.

E ainda nao faz o cache...



complicado isso, nao?

donatinho
[Email] [MSN]
donatinho
JavaBaby
[Avatar]

Membro desde: 28/03/2006 15:39:17
Mensagens: 82
Localização: Belo Horizonte
Offline

Pozzo... consegui resolver o problema.

Fico muito agradecido pela sua ajuda, foi de fundamental relevancia para a solucao ....

vou postar a solucao para que, se mais alguem passar pelo mesmo problema, consiga resolver rapidamente.

Att,

donatinho

This message was edited 1 time. Last update was at 28/04/2010 12:32:12


donatinho
[Email] [MSN]
donatinho
JavaBaby
[Avatar]

Membro desde: 28/03/2006 15:39:17
Mensagens: 82
Localização: Belo Horizonte
Offline

Para configurar e fazer funcionar o ehcache com jpa no hibernate 3 e com jboss 4.2.3, oberseve abaixo como deve ser feito:

1 - arvore:



2 - Configuracao do persistence.xml



3 - Configurar o seu vo para que consiga realizar o cache



4 - Configuracao do ehcache.xml



5 - Subir o Jboss e verificar se as linhas abaixo aparecem:




Assim, o ehcache com o JPA para o hibernate 3 no jboss 4.2.3 ira funcionar...

Valeu Pozzo!!! Tua ajuda foi fundamental para a solucao deste problema

see ya

donatinho





This message was edited 1 time. Last update was at 28/04/2010 13:00:00


donatinho
[Email] [MSN]
FernandoFranzini
GUJ Master
[Avatar]

Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline

Posso tentar essa config ai no tomcat q funciona ? ou tem que colocar outros jar's ?

Fernando Franzini
[Email] [WWW]
pozzo
JavaEvangelist

Membro desde: 08/04/2006 11:07:20
Mensagens: 331
Localização: Curitiba
Offline

FernandoFranzini wrote:Posso tentar essa config ai no tomcat q funciona ? ou tem que colocar outros jar's ?


Cara, acho que você pode usar a mesma configuração. Não tem nada de especifico do JBoss. Só vai ter que configurar um data source no tomcat:



Tem também algumas boas práticas que o pessoal do Ehcache recomenda para o Tomcat:

FernandoFranzini
GUJ Master
[Avatar]

Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline

Tentei fazer ontem.....mas não deu certo...não acusa erro, não mostra nada....o JPA simplesmente funciona normal.....
Como eu sei q o cache esta no ar ? O Hibernate log algo ?
Alguma dica ?
Vou olhar esse link ai....
Valeu

Fernando Franzini
[Email] [WWW]
macloud
Smalltalk

Membro desde: 20/05/2010 09:32:00
Mensagens: 2
Offline

Donatinho, bom dia beleza ? Cara, segui seu exemplo mas o cache aqui não funciona. No log do Jboss mostra as regions que foram encontradas declaradas no arquivo ehcache mas não acho alguma linha no console dizendo que a minha entidade foi cacheada.
Sendo assim, na segunda vez que executo a minha consulta, vejo o sql sendo executado no console normalmente.
Sabe o que pode estar acontecendo ?

Abraço
donatinho
JavaBaby
[Avatar]

Membro desde: 28/03/2006 15:39:17
Mensagens: 82
Localização: Belo Horizonte
Offline

bom dia!

Cara, se voce verificar o item 5 do post do dia 28/04/2010 12:59:16 tu vera que este log é que diz que o cache esta habilitado. Contudo, apenas as entidades que forem read-only que aparecerao tambem no log.

Lembrando que, por ser cache, quando executar o mesmo, ele nao aparecera no console (acredito eu).

Uma coisa, eu estava testando o cache de forma assim. Tipo, subia a aplicacao e dava um update na base de dados. Assim via se o cache estava funcionando, apos passar o tempo estabelecido, a aplicacao pegava o valor informado atualizado no banco.

A minha aplicacao funciona o cache.

Espero ter ajudado.

donatinho

donatinho
[Email] [MSN]
macloud
Smalltalk

Membro desde: 20/05/2010 09:32:00
Mensagens: 2
Offline

Obrigado pela resposta donatinho !
No caso eu tenho uma entity dessa forma

@Unique(field="descricao" , keyMessageError="indicador.msg_28")
@MappedSuperclass
@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)
public class Indicador implements IGenericBean {

Supostamente deveria existir uma linha no console
parecida com a que você citou

CacheFactory] read-only cache configured for mutable class: br.com.consist.solution.flexsi.entity.Indicador.

No entanto, não aparece nada referente a entity Indicador.java e sempre é executado o sql quando executo a query novamente. O cache está habilitado mas não sei se de fato está funcionando.

Bom, vou continuar olhando o que pode ser !
Novamente, muito obrigado pelo retorno donatinho !
Abraço
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team