Use a página Editar Atributos Avançados do Pool de Conexões para especificar atributos que ajudam a diagnosticar vazamentos de conexão e a melhorar a facilidade de uso.
A página Editar Atributos Avançados do Pool de Conexões contém as opções a seguir.
Botão para restaurar com os valores default as definições que apresentam valores default. As definições que não apresentam valores default não são alteradas.
O nome do pool de conexões. O nome é um campo somente para leitura. Você só poderá especificar o nome do pool de conexões quando criar um novo pool de conexões JDBC.
Período em segundos, após o qual as consultas de execução anormalmente longa serão encerradas. O GlassFish Server define o Time-out para Consulta
nas instruções criadas. Um valor de -1 significa que a opção está desativada. O valor default é -1.
O número de instruções a serem colocadas no cache usando o mecanismo de cache LRU (Least Recently Used). Um valor de 0 desativa a colocação de instruções no cache. O valor default é 0.
Uma string SQL a ser executada sempre que uma conexão é criada (não reutilizada) no pool. A execução dessa string inicializa o estado da conexão.
Uma lista separada por vírgulas de nomes de classes de implementação do interpretador, que especifica que as instruções SQL executadas por aplicações serão rastreadas. As classes do listener devem implementar a interface org.glassfish.api.jdbc.SQLTraceListener
. O uso de interpretadores permite a fácil filtragem de registros de mensagens para as instruções SQL e ajuda os administradores a analisarem as instruções.
Se essa opção estiver ativada, as aplicações obterá objetos encapsulados em JDBC para Statement, PreparedStatement, CallableStatement, ResultSet, DatabaseMetaData . Por default, a opção está ativada.
Permite colocar no pool as conexões do pool. Por default, a opção está ativada.
Especifica o intervalo de tempo, em segundos, entre sucessivas solicitações para validar uma conexão no máximo uma vez. A definição desse atributo para um valor apropriado minimiza o número de solicitações de validação feitos por uma conexão. O valor default é 0, o que significa que o atributo não está ativado.
Período em segundos para rastrear as perdas de conexão em um pool de conexões. Use esse campo para detectar potenciais vazamentos de conexão pela aplicação. Uma conexão que não é retornada para o pool pela aplicação dentro do período especificado é assumida como tendo um vazamento potencial, e um rastreamento de pilha do chamador é registrado. Um valor de 0 que o rastreamento de vazamento da conexão está desativado. O valor default é 0.
Use esse campo junto com Recuperar Vazamento, para evitar potenciais vazamentos de conexão pela aplicação.
Se essa opção está ativada, as conexões com vazamento serão restauradas no pool após a conclusão do rastreamento de vazamento da conexão. Por default, essa opção está desativada.
O tempo, em segundos, do rastreamento de vazamentos de instruções em um pool de conexões. Use esse campo para detectar possíveis vazamentos de instruções na aplicação. Considera-se que uma instrução que não é retornada para o pool pela aplicação no período especificado tenha vazamentos, e um rastreamento de pilha do chamador é conectado. Um valor de 0 significa que o rastreamento de vazamento de instruções está desativado. O valor default é 0.
Use esse campo junto da Recuperação de Vazamento da Instrução para evitar possíveis vazamentos da conexão da aplicação.
Se essa opção for ativada, instruções vazadas serão restauradas para o pool depois que o rastreamento de vazamento de instrução seja concluído. Por default, essa opção está desativada.
O número de tentativas a serem feitas se houver uma falha na criação de uma nova conexão. O valor de 0 significa que nenhuma tentativa será feita para criar a conexão novamente. O valor default é 0.
O intervalo de tempo, em segundos, entre duas tentativas de criar uma conexão. O valor default é 10. Esse atributo só será usado se o valor Novas tentativas de criação for maior que 0.
Se esta opção estiver ativada, uma conexão física só será associada a um conjunto lógico quando a conexão for usada. As conexões serão desassociadas quando a transação for concluída e um método de componente for finalizado, o que ajuda a reutilizar as conexões físicas. Por default, essa opção está desativada.
Se essa opção está ativada, um recurso para a transação será inscrito somente quando a transação for realmente usada em um método. Por default, essa opção está desativada.
Se essa opção está ativada, uma associação será estabelecida entre uma conexão com o thread, para quando o mesmo thread for necessário à uma conexão, a conexão já associada ao thread poderá ser reutilizada, não incorrendo, portanto, na sobrecarga para obtenção de uma conexão no pool. Por default, essa opção está desativada.
Se essa opção está ativada, uma conexão que é selecionada do pool deveria ser correspondida com as conexões que têm determinadas credenciais. Essa opção precisará ser ativada se o pool de conexões for usado por aplicações que tiverem várias credenciais de usuário. Essa opção poderá ser desativada com segurança se o administrador souber que as conexões no pool serão sempre homogêneas e, portanto, uma conexão selecionada no pool não precisará coincidir com o adaptador de recurso. Por default, essa opção está desativada.
O número de vezes que uma conexão deve ser reutilizada pelo pool. Depois que uma conexão é reutilizada por um número especificado de vezes, ela é fechada. Ao limitar o número de vezes que uma conexão pode ser reutilizada, você poderá evitar vazamentos de instruções caso uma aplicação não feche as instruções. Um valor de 0 significa que a opção está desativada. O valor default é 0.
Se essa opção for ativada, a validação de conexão será necessária, permitindo que o servidor se reconecte em caso de falha.
O GlassFish Server pode validar as conexões ao banco de dados nas seguintes formas.
confirmação automática
e metadados
O GlassFish Server valida a conexão ao chamar o método con.getAutoCommit
ou con.getMetaData
.
Observação:
Muitos drivers JDBC armazenam no cache os resultados dessas chamadas. Como resultado, o uso dessas chamadas nem sempre fornece validações confiáveis. Verifique com o fornecedor do driver para determinar se essas chamadas são ou não armazenadas no cache.validação personalizada
O GlassFish Server usa um mecanismo de validação definido pelo usuário especificado pela classe de implementação personalizada no campo Nome da classe de validação.
tabela
A aplicação consulta a tabela de banco de dados especificada. A tabela deve existir e estar acessível, mas não precisa conter linhas. Não use uma tabela existente que tenha um número grande de linhas, nem uma tabela que seja acessada com frequência.
Nome da tabela de banco de dados para validação. Esse campo só será aplicável se o método de validação tiver sido definido como tabela
. Você pode selecionar o nome da lista drop-down ou digitá-lo.
O nome da classe de implementação personalizada. Esse campo só será aplicável se o método de validação tiver sido definido como validação personalizada
. O nome da classe fornecido precisa estar acessível ao GlassFish Server. A classe especificada deve implementar a interface org.glassfish.api.jdbc.ConnectionValidation
. Você pode selecionar o nome da lista drop-down ou digitá-lo.
Se essa opção for ativada, o GlassFish Server fechará todas as conexões do pool e as restabelecerá quando alguma conexão falhar. Se a opção for desativada, cada conexão individual somente será restabelecida quando for usada. Por default, essa opção está desativada.
Se essa opção for ativada, o pool poderá ser usado pelos chamadores não de componentes; por exemplo; filtros de servlet gerenciadores de persistência de terceiros. As conexões obtidas por chamadores não de componente não são automaticamente fechadas no final de uma transação pelo contêiner. Elas precisam ser explicitamente fechadas pelo chamador. Por default, essa opção está desativada.