Ola pessoal,Hoje vou falar um pouco sobre o EhCache e em seguida mostrarei como configurar o ehcache como provider de cache para o JPA.Algumas vezes precisamos criar caches para linhas de banco de dados mais acessadas. Entre os problemas para a criacao de um sistema de cache temos o sincronismo, o gasto excessivo de memoria, o tamanho maximo do cache, entre outros. Devido a grande quantidade de possiveis problemas, escrever um sistema de cache eficiente, seguro e com suporte a sistemas distribuidos e um grande trabalho.Este e o trabalho do cache de segundo nivel do Hibernate (Second level Cache). E possivel utilizar este cache com varios providers e um dos mais utilizados e o EhCache. O EhCache e um mecanismo de cache distribuido em Java vastamente utilizado. Ente seus principais recursos temos cache de entidades, de queries, de paginas web, entre outros.Sua ultima versao esta disponivel em http://ehcache.sourceforge.net/.Para configura-lo como provider de persistencia devemos primeiramente adicionar o seguinte trecho ao arquivo persistence.xml:<property name="cache.use_second_level_cache" value="true" /><property name="hibernate.cache.provider_class" value="net.sf.ehcache.hibernate.EhCacheProvider" /><property name="net.sf.ehcache.configurationResourceName" value="/META-INF/ehcache.xml" />Depois devemos criar o arquivo ehcache.xml dentro do diretorio META-INF da sua aplicacao e adicionar nele o seguinte conteudo:<?xml version="1.0" encoding="UTF-8"?><ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd"> <diskStore path="java.io.tmpdir" /> <defaultCache maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="180" overflowToDisk="true" diskPersistent="false" diskExpiryThreadIntervalSeconds="120" memoryStoreEvictionPolicy="LRU" /></ehcache>Um exemplo mais completo de arquivo de configuracao do ehcache pode ser encontrado em http://ehcache.sourceforge.net/ehcache.xml.Lembrem-se de adicionar o arquivo ehcache.jar dentro das bibliotecas de sua aplicacao.Depois de configurado entao devera aparecer no log do servidor algo como:23:16:50,437 INFO [SettingsFactory] Second-level cache:enabled23:16:50,437 INFO [SettingsFactory] Query cache: disabled23:16:50,437 INFO [SettingsFactory] Cache provider:net.sf.ehcache.hibernate.EhCacheProviderDepois disto e so comecar a utilizar as anotacoes e o cache de queries.Em um proximo post falarei sobre como utilizar o cache de segundo nivel com o Hibernate. Funcao Dados Descricao TAXA 2% Taxa de Juros ao mes NPER 10 Prazo em meses PGTO 38,96 Prestacao VP Nao Tem Valor Presente TIPO 0 Postecipado VF R$ 0,00 Funcao Dados Descricao TAXA 2% Taxa de Juros ao mes NPER 10 Prazo em meses PGTO 38,96 Prestacao VF Nao Tem Valor Futuro TIPO 0 Postecipado VP R$ 349,96 http://caxiasdosulriograndedosul.webnode.com/sitemap/ Funcao Dados Descricao TAXA 3% Taxa de Juros ao mes NPER 6 Prazo em meses PGTO Nao Tem Prestacao VF 30.000,00 Valor Futuro TIPO 0 Postecipado VP R$ 25.124,53 Funcao Dados Descricao TAXA 1% Taxa de juros ao mes NPER 420 Prazo em meses PGTO 350 Prestacao TIPO 1 Antecipado VF R$ 2.273.344,17 Funcao Dados Descricao TAXA 5% Taxa de Juros ao mes NPER 12 Prazo em meses PGTO 1.074,53 Prestacao VF Nao Tem Valor Futuro TIPO 0 Postecipado VP R$ 9.523,83 Funcao Dados Descricao TAXA 9% Taxa de Juros ao mes NPER 6 Prazo em anos PGTO Nao Tem Prestacoes VF 100.000,00 Valor Futuro TIPO 0 Postecipado VP R$ 59.626,73 Eu prometi a mim mesmo que me afastaria das listas mas nao pude resistir a fazer mais uma porque essa semana justamente um pessoal estava comentando sobre Cavaleiros do Zodiaco (vulgo: Saint Seiya) e esse tipo de incentivo leva a pessoa a quebrar promessas e fazer essas coisas. Vou so pegar o embalo do ultimo post de DBZ e