Utilizando Provedores de Persistência de Terceiros
A Java™ Persistence API (JPA) para WebSphere Application Server suporta provedores de persistência de terceiros em seu ambiente de servidor de aplicativos.
Sobre Esta Tarefa
Os aplicativos Java EE que usam as funções JPA podem implementar provedores de persistência de terceiro diferentes dos provedores que estão incluídos com o servidor de aplicativos. Os aplicativos também podem especificar um provedor Apache OpenJPA que seja de uma versão diferente daquela que está incluída com o servidor de aplicativos, enquanto que a mesma versão da especificação JPA é suportada.
Há dois modos básicos para integrar provedores de terceiros em um aplicativo:
- Integrando o provedor de persistência dentro em um aplicativo
- Usando bibliotecas compartilhadas
Procedimento
- Integrando um provedor de persistência de terceiros a um aplicativo Às vezes um design de aplicativo deve depender da implementação de um provedor de persistência específico. A especificação JPA permite integrar um provedor JPA específico em um archive de persistência. Ao
construir o aplicativo, é possível montar uma versão específica de
implementação de provedor no arquivo EAR (application enterprise
archive) ou em um arquivo WAR (web application).
Para integrar um provedor de persistência de terceiros em um
aplicativo, você deve inspecionar o design do aplicativo e todos os
pré-requisitos dependentes.
Utilize as etapas a seguir para integrar um provedor de persistência em um aplicativo:
- Modifique o elemento <provedor> para especificar explicitamente qual provedor de persistência usar para acessar a entidade de persistência.
- Construa a versão específica do provedor de persistência de terceiros no aplicativo. Para gerenciar a persistência corretamente, verifique se EntityManagerFactory e EntityManager estão chamando o provedor correto. Muitos provedores gravam informações de inicialização e de versão na saída padrão,
que é incluída no SystemOut.log do servidor de aplicativos. Essas informações podem ser úteis para determinar se um provedor de terceiros está
sendo utilizado pelo seu aplicativo.
Nota: Esse tópico faz referência a um ou mais arquivos de log do servidor de aplicativos. Como uma recomendação alternativa, é possível configurar o servidor para usar a infraestrutura de log e rastreio do High Performance Extensible Logging (HPEL) em vez de usar os arquivos SystemOut.log , SystemErr.log, trace.log e activity.log em sistemas distribuídos e IBM® i. Também é possível usar HPEL em conjunção com os recursos de criação de log z/OS nativos. Se você estiver usando HPEL, será possível acessar todas as informações de log e rastreio usando a ferramenta de linha de comandos LogViewer a partir do diretório bin do perfil do servidor. Consulte as informações sobre a utilização do HPEL para resolução de problemas dos aplicativos para obter mais informações sobre o uso do HPEL.
- Para utilizar um provedor JPA de terceiros que não foi fornecido com o servidor de aplicativos, configure a ordem do carregador de classes para seu aplicativo para carregar as classes primeiro com o carregador de classes do aplicativo. Isso também é necessário se o provedor JAP de terceiros for definido em uma biblioteca compartilhada que esteja designada para um carregador de classes definido pelo usuário no servidor. Se um carregador de classes não estiver configurado corretamente, o provedor JPA de terceiro que estiver incluído com o servidor de aplicativos não é carregado e usado pelo seu aplicativo.
- Dependendo de como você compactar o provedor, execute uma das seguintes etapas:
- Se você compactou o provedor em um arquivo EAR, especifique os binários do provedor de persistência de terceiro no caminho de classe Manifest.mf nos módulos do aplicativo que precisam de acesso JPA.
- Se o provedor foi compactado em um arquivo WAR, inclua os binários do provedor necessários no diretório WEB-INF/lib do aplicativo da Web.
- Instale seu aplicativo normalmente.
- Utilizando bibliotecas compartilhadas para implementar um provedor de persistência de terceiros Os provedores de persistência acessados pelos aplicativos em um ambiente global podem ser instalados como uma biblioteca compartilhada para o servidor de aplicativos. Dependendo de seus requisitos, é possível compartilhar a biblioteca com o servidor e o aplicativo. Utilize as etapas a seguir para implementar um provedor de persistência de terceiros utilizando as bibliotecas compartilhadas:
- Modifique o elemento <provedor> para especificar explicitamente qual provedor de persistência usar para acessar a entidade de persistência.
- Defina o provedor de persistência em uma biblioteca compartilhada. Consulte o tópico sobre criação de bibliotecas compartilhadas para obter mais informações.
- Associe a biblioteca compartilhada ao carregador de classes do aplicativo, ou associe a biblioteca compartilhada ao carregador de classes do servidor se a biblioteca for acessada por vários aplicativos.
- Configure a ordem do carregador de classes para seu aplicativo para carregar as classes primeiro com o carregador de classes do aplicativo. Isso é necessário se o provedor JPA de terceiros for incluído no aplicativo ou se for definido em uma biblioteca compartilhada. Se um carregador de classes não estiver configurado de acordo, o provedor JPA que está incluído com o servidor de aplicativos é utilizado por seu aplicativo no lugar do provedor JPA de terceiros.
- Um provedor de persistência de biblioteca compartilhada pode substituir um provedor de persistência existente que seja do mesmo tipo e que exista na hierarquia do seu carregador de classes de aplicativo. Se um provedor de persistência de biblioteca compartilhada substituir o provedor de persistência que seja fornecido com o produto, é recomendado usar um carregador de classe isolado para a biblioteca compartilhada. Consulte o tópico Criando Bibliotecas Compartilhadas para obter mais informações.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_jpa3rdparty
Nome do arquivo: tejb_jpa3rdparty.html