Use a página Editar Atributos Avançados do Pool de Conexões para especificar atributos que ajudam a diagnosticar perdas 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 definições para seus valores default. Definições que não tiveram seus valores default alterados.
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 (Menos Usado Recentemente). Um valor de 0 desativa o armazenamento no cache de instruções. 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 listener, 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 listeners 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ão objetos encapsulados em JDBC para Statement, PreparedStatement, CallableStatement, ResultSet, DatabaseMetaData. Por default, a opção está ativada.
Permite agrupamento de conexões para o 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 perdas 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 uma perda potencial, e um rastreamento de pilha do chamador é registrado. Um valor de 0 que o rastreamento de perda da conexão está desativado. O valor default é 0.
Use esse campo junto com Reclamação para Perda, para evitar potenciais perdas de conexão pela aplicação.
Se essa opção está ativada, as conexões perdidas serão restauradas no pool após a conclusão do rastreamento de perda da conexão. Por default, essa opção está desativada.
O tempo, em segundos, do rastreamento de perda de instruções em um pool de conexões. Use esse campo para detectar possíveis perdas 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 perdas, e um rastreamento de pilha do chamador é conectado. Um valor de 0 significa que o rastreamento de perda de instruções está desativado. O valor default é 0.
Use esse campo junto da Reclamação para Perda de Instrução para evitar possíveis perdas da conexão da aplicação.
Se essa opção for ativada, instruções perdidas serão restauradas para o pool depois que o rastreamento de perda 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 será fechada. Ao limitar o número de vezes que uma conexão pode ser reutilizada, você poderá evitar perdas de instruções, caso uma aplicação não feche as instruções. Um valor de 0 significa que este atributo está desativado. 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 uma conexão chamando 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.custom-validation
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.
table
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 table
. Você pode selecionar o nome da lista drop-down ou digitá-lo.
O nome da classe de implementação de validação personalizada. Esse campo só será aplicável se o Método de Validação tiver sido definido como custom-validation
. 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.