Pré-carregando o ObjectCache WSJPA Automaticamente

A extensão WebSphere Java™ Persistence API (WSJPA) para OpenJPA fornece um ObjectCache somente leitura que pode melhorar o desempenho em determinados casos de uso. Por padrão, os dados no cache são carregados em um método lento, o que significa que entidades individuais são carregadas na memória quando elas são solicitadas por um aplicativo. Se desejar carregar todas as entidades desde o início, entretanto, será possível configurar o servidor de aplicativos para pré-carregar todas as entidades do banco de dados que são configuradas no ObjectCache. Pré-carregar o ObjectCache permitirá que você armazene em cache entidades que, de outra forma, seriam restringidas se você carregasse o ObjectCache por meio do método lento. Essa configuração somente é suportada ao usar WSJPA no nível de especificação JPA 2.0.

Sobre Esta Tarefa

Ao ativar o carregamento automático do ObjectCache, o ambiente JPA dimensionará e pré-carregará automaticamente o ObjectCache em vez de esperar que entidades únicas sejam solicitadas por aplicativos. Quando o servidor de aplicativos criar o primeiro EntityManager, o processo de pré-carregamento iniciará e o servidor de aplicativos pré-carregará todas as entidades do banco de dados que são configuradas no ObjectCache. Este processo de pré-carregamento ocorrerá de forma assíncrona em um encadeamento de processamentos separado.
Evitar Problemas Evitar Problemas: Esteja ciente das informações a seguir:
  • Para entidades que são configuradas para estarem no ObjectCache, também você deve configurar todos os relacionamentos rápidos no ObjectCache; quaisquer relacionamentos lentos não estarão disponíveis.
  • Enquanto o servidor de aplicativos estiver pré-carregando o ObjectCache, as entidades serão buscadas a partir do banco de dados. O servidor de aplicativos não incluirá nenhuma entidade no ObjectCache que seja carregada por outros métodos.
  • O carregamento automático do cache pode demorar um tempo muito longo se seu gráfico do objeto é complexo.
  • Seja cuidadoso quando ativar este recurso, porque ele poderá consumir toda a memória disponível. Para esta função funcionar, o ambiente de JPA precisa ter o conjunto completo de dados na memória.
gotcha
Quando o processo de pré-carregamento for concluído, você verá uma mensagem informativa semelhante a esta:
ObjectCache carregado com sucesso com [...] Entidades em [...] segundos.

Procedimento

  1. Configure a propriedade MaxSize como auto para o ObjectCache. Por exemplo, inclua a entrada a seguir em seu arquivo .properties:
    <property name="wsjpa.ObjectCache" value=”true(Types=com.ibm.wsjpa.Foo; com.ibm.wsjpa.Bar, MaxSize=auto)”/>
    O valor padrão para a propriedade MaxSize é 1000 mas, ao configurar a propriedade MaxSize como auto, o mecanismo de pré-carregamento será ativado.
  2. Opcional: Revise o valor configurado para a propriedade EvictionSchedule, o que é explicado no tópico Configurando o ObjectCache do WSJPA para Melhorar o Desempenho. Ao usar a propriedade EvictionSchedule em conjunção com a configuração de MaxSize=auto, a propriedade EvictionSchedule é implementada de modo diferente do comportamento padrão: em vez de limpar o ObjectCache no planejamento configurado, o ObjectCache será recarregado automaticamente.

Exemplo

Os exemplos a seguir mostram como configurar o ObjectCache para ser carregado automaticamente:
  • A propriedade a seguir especifica que o ObjectCache será carregado automaticamente quando o servidor de aplicativos criar o primeiro EntityManager:
    <property name=" wsjpa.ObjectCache" value=”true(Types=com.ibm.wsjpa.Foo; com.ibm.wsjpa.Bar, MaxSize=auto)”/>
  • A propriedade a seguir especifica que o ObjectCache será carregado automaticamente quando o servidor de aplicativos criar o primeiro EntityManager e o ObjectCache será recarregado a cada 20 minutos:
    <property name=" wsjpa.ObjectCache" value=”true(Types=com.ibm.wsjpa.Foo; com.ibm.wsjpa.Bar,
     MaxSize=auto, EvictionSchedule=+20)”/>

Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_jpaautoloadcache
Nome do arquivo: tejb_jpaautoloadcache.html