É possível escolher configurar uma origem de dados Oracle para usar o recurso de armazenamento em cache da conexão Oracle, em vez de usar o conjunto de conexões do servidor de aplicativos. O armazenamento em cache da conexão para bancos de dados Oracle é semelhante ao conjunto de conexões no servidor de aplicativos.
Sobre Esta Tarefa
Atualmente, o Oracle apenas suporta o armazenamento em cache de conexão com as origens de dados que usam a classe de implementação oracle.jdbc.pool.OracleDataSource, em vez da classe oracle.jdbc.pool.OracleConnectionPoolDataSource ou oracle.jdbc.xa.client.OracleXADataSource. Por padrão, o provedores Oracle JDBC no servidor de aplicativos são configurados para usaroracle.jdbc.pool.OracleConnectionPoolDataSource para origens de dados não-XA, ou oracle.jdbc.xa.client.OracleXADataSource para origens de dados XA. Para ativar o armazenamento em cache da conexão Oracle, você deve configurar e usar um novo provedor JDBC no servidor de aplicativos que implemente a classe oracle.jdbc.pool.OracleDataSource.
Evitar Problemas: O armazenamento em cache de Oracle não suporta XA.
gotcha
Procedimento
- Crie uma origem de dados e o provedor JDBC definido pelo usuário.
- Clique em
- Selecione um servidor da lista drop-down Escopo.
- Clique em Novo(a).
- Digite o nome e o nome de JNDI da origem de dados. Clique em Avançar.
- Crie um provedor JDBC. Selecione Criar Novo Provedor JDBC e clique em Avançar.
- Defina as propriedades requeridas para o provedor JDBC. Use as seguintes definições de configuração:
- Tipo de Banco de Dados: Definido pelo usuário
- Nome da Classe de Implementação: oracle.jdbc.pool.OracleDataSource
Clique em Avançar.
- Insira o caminho da classe para ojdbc6.jar e clique em Avançar.
- Para Nome da classe auxiliar do armazenamento de dados, insira com.ibm.websphere.rsadapter.Oracle11gDataStoreHelper.
Clique em Avançar.
- Defina os aliases de segurança para esta origem de dados e clique em Avançar.
- Conclua o assistente.
- Salve as mudanças na configuração.
- Configure a origem de dados que você criou.
- Clique no nome da origem de dados. O painel de configuração é exibido.
- Selecione Propriedades Customizadas e crie ou modifique as propriedades desta origem de dados. Digite ou atualize as seguintes propriedades customizadas:
Nome |
Valor |
disableWASConnectionPooling |
true Evitar Problemas: Você também deve configurar o atributo maximumPoolSize para 0 nas configurações do conjunto de conexões do WebSphere Application Server para permitir que o Oracle controle os limites do conjunto. gotcha
|
connectionCachingEnabled |
true |
connectionCacheName |
your_cache_name |
removeExistingOracleConnectionPoolIfExists |
true Evitar Problemas: A propriedade removeExistingOracleConnectionPoolIfExists deve ser configurada para true, para que o servidor de aplicativos remova quaisquer conjuntos de conexões existentes do Oracle com um nome idêntico. Caso contrário, a origem de dados Oracle falhará o método getConnection, se o nome do conjunto criado possuir um nome idêntico a de um conjunto existente. Por exemplo, se você executa uma conexão de teste, o processo de conexão de teste cria um conjunto de conexões Oracle que evita que o servidor de aplicativos trabalhe adequadamente no tempo de execução.
gotcha
|
URL |
Oracle_URL |
Evitar Problemas: A ordem na qual as propriedades customizadas são configuradas é importante. A ordem da configuração pode ser um problema porque o servidor de aplicativos passa as propriedades como uma coleção e a ordem não é garantida. Se você encontrar esse problema, contate a Oracle e mencione o bug Oracle nº6638862.
gotcha
- Clique em Aplicar ou em OK.
- Salve as mudanças na configuração do servidor de aplicativos.
- Reinicie o servidor de aplicativos.
Resultados
O Oracle não exibe uma mensagem se há falha na criação do conjunto, e uma conexão normal é retornada no lugar. É possível confirmar se o conjunto de conexões Oracle foi criado usando a função de conexão de teste do console administrativo para a origem de dados. Primeiro, ative o rastreio com a sequência de rastreio, "RRA=all", para o servidor que executa seu aplicativo. Em seguida, emita uma conexão de teste. Emita uma segunda conexão de teste. Ambas as conexões de teste devem funcionar. Examine o log de rastreio.
Se o conjunto de conexões Oracle foi criado com sucesso, o rastreio mostrará que a segunda conexão de teste detectou que o cache da conexão Oracle existe, por causa da primeira conexão de teste e obteve sucesso ao removê-la para que fosse possível criá-la novamente pelo segundo teste.