httpSessionDatabase - Banco de Dados da Sessão HTTP (httpSessionDatabase)

Controla como as sessões HTTP são persistidas em um banco de dados.

NameTypeDefaultDescription
dataSourceRefstringO identificador da origem de dados que o gerenciador de sessões deve usar para persistir dados da sessão HTTP.
tableNamestringsessionsO nome da tabela de banco de dados.
useMultiRowSchemabooleanofalseQuando ativado, cada atributo de dados da sessão é colocado em uma linha separada no banco de dados, permitindo que quantidades maiores de dados sejam armazenadas para cada sessão. Esta configuração pode produzir melhor desempenho quando atributos de sessão são muito grandes e menos mudanças são necessárias nos atributos de sessão. Quando desativado, todos os atributos de dados da sessão são colocados na mesma linha para cada sessão.
skipIndexCreationbooleanofalseConfigure esta propriedade como "true" para desativar a criação de índice na inicialização do servidor. Essa propriedade customizada só deverá ser usada se você desejar criar manualmente seus próprios índices do banco de dados para persistência de sessão. Entretanto, é recomendável que você deixe o gerenciador de sessões criar os índices do banco de dados. Antes de ativar essa propriedade, certifique-se de que o índice correto não exista no banco de dados da sessão.
writeFrequency
  • MANUAL_UPDATE
  • TIME_BASED_WRITE
  • END_OF_SERVLET_SERVICE
END_OF_SERVLET_SERVICEEspecifica quando dados da sessão são gravados no armazenamento persistente. Por padrão, dados da sessão são gravados no armazenamento persistente após o servlet concluir a execução. A alteração deste valor pode melhorar o desempenho em alguns ambientes.
MANUAL_UPDATE
Uma sincronização programática no objeto IBMSession é necessária para gravar os dados da sessão no armazenamento persistente.
TIME_BASED_WRITE
Os dados da sessão são gravados no armazenamento persistente com base no valor do intervalo de gravação especificado.
END_OF_SERVLET_SERVICE
Os dados da sessão são gravados no armazenamento persistente após o servlet concluir a execução.
writeIntervalUm período de tempo com precisão de segundo2mNúmero de segundos que devem passar antes de gravar dados da sessão no armazenamento persistente. O padrão é 120 segundos. Este valor é usado somente quando uma frequência de gravação baseada em tempo é ativada. Especifique um número inteiro positivo seguido por uma unidade de tempo, que pode ser horas (h), minutos (m) ou segundos (s). Por exemplo, especifique 30 segundos como 30s. É possível incluir diversos valores em uma única entrada. Por exemplo, 1m30s é equivalente a 90 segundos.
writeContents
  • ONLY_UPDATED_ATTRIBUTES
  • ALL_SESSION_ATTRIBUTES
ONLY_UPDATED_ATTRIBUTESEspecifica quantos dados da sessão devem ser gravados no armazenamento persistente. Por padrão, somente atributos atualizados são gravados, mas todos os atributos podem ser gravados no lugar (independentemente de se eles são alterados ou não).
ONLY_UPDATED_ATTRIBUTES
Somente atributos atualizados são gravados no armazenamento persistente.
ALL_SESSION_ATTRIBUTES
Todos os atributos são gravados no armazenamento persistente.
scheduleInvalidationbooleanofalseAtive esta opção para reduzir o número de atualizações de banco de dados necessárias para manter as sessões HTTP ativas. Especifique as duas horas de um dia quando há o menor atividade no servidor de aplicativos. Quando esta opção está desativada, o processo invalidador é executado a cada poucos minutos para remover sessões HTTP invalidadas.
scheduleInvalidationFirstHourint0Indica a primeira hora durante a qual as sessões invalidadas são limpas do armazenamento persistente. Especifique este valor como um número inteiro entre 0 e 23. Este valor é válido somente quando a invalidação do planejamento é ativada.
scheduleInvalidationSecondHourint0Indica a segunda hora durante a qual as sessões invalidadas são limpas a partir do armazenamento persistente. Especifique este valor como um número inteiro entre 0 e 23. Este valor é válido somente quando a invalidação do planejamento é ativada.
noAffinitySwitchBackbooleanofalseConfigure esta propriedade como "true" para manter a afinidade com o novo membro mesmo após o original sofrer backup. Quando um membro de cluster falha, suas solicitações são roteadas para um membro de cluster diferente e as sessões são ativadas nesse outro membro. Portanto, a afinidade de sessão é mantida no novo membro e, quando o membro de cluster é retornado, as solicitações para sessões que foram criadas no membro de cluster original são roteadas de volta para ele. Os valores permitidos são true ou false, com o padrão sendo false. Configure esta propriedade como true quando tiver sessões distribuídas configuradas com gravação baseada em tempo. Observe que essa propriedade não tem nenhum efeito no comportamento quando sessões distribuídas não estão ativadas.
useInvalidatedIdbooleanotrueConfigure esta propriedade como "true" para reutilizar o identificador recebido se a sessão com esse identificador foi invalidada recentemente. Esta é uma otimização de desempenho porque ela evita a verificação do armazenamento persistente.
onlyCheckInCacheDuringPreInvokebooleanofalseUm valor igual a true indica que o último horário de acesso de uma sessão deve ser atualizado somente se uma solicitação atinge a sessão. Um valor igual a false indica que o último horário de acesso de uma sessão deve ser atualizado mediante cada solicitação. A alteração deste valor pode melhorar o desempenho em alguns ambientes.
optimizeCacheIdIncrementsbooleanotrueSe a sessão do navegador do usuário estiver movendo para trás e para frente em diversos aplicativos da web, você poderá ver atividade de armazenamento persistente extra pois as sessões na memória para um módulo da web são atualizadas a partir do armazenamento persistente. Como resultado, os identificadores de cache estão aumentando continuamente e os atributos da sessão na memória são sobrescritos por aqueles da cópia persistente. Configure esta propriedade como true, se desejar evitar que os identificadores de cache aumentem continuamente. Um valor igual a true indica que o gerenciador de sessões deve avaliar se a sessão na memória para um módulo da web é mais antigo do que a cópia no armazenamento persistente. Se a configuração for um cluster, assegure que os tempos do sistema de cada membro de cluster sejam o mais idênticos possível.
db2RowSize
  • 32KB
  • 4KB
  • 16KB
  • 8KB
4KBTamanho da página do espaço de tabela configurado para a tabela de sessões, se estiver usando um banco de dados DB2. O aumento deste valor pode melhorar o desempenho do banco de dados em alguns ambientes.
32KB
Usar um tamanho de página de espaço de tabela de 32 KB. Você deve, adicionalmente, criar um buffer pool e um espaço de tabela do DB2 e especificar 32 KB como o tamanho de página para ambos. Você também deve especificar o nome do espaço de tabela criado.
4KB
Usar o tamanho de página do espaço de tabela padrão de 4 KB. Não é necessário criar um buffer pool ou espaço de tabela do DB2 e você não precisa especificar um nome de espaço de tabela.
16KB
Usar um tamanho de página de espaço de tabela de 16 KB. Você deve, adicionalmente, criar um buffer pool e um espaço de tabela do DB2 e especificar 16 KB como o tamanho de página para ambos. Você também deve especificar o nome do espaço de tabela criado.
8KB
Usar um tamanho de página de espaço de tabela de 8 KB. Você deve, adicionalmente, criar um buffer pool e um espaço de tabela do DB2 e especificar 8 KB como o tamanho de página para ambos. Você também deve especificar o nome do espaço de tabela criado.
tableSpaceNamestringEspaço de tabela a ser usado para a tabela de sessões. Este valor é necessário somente quando o Tamanho da Linha do DB2 é maior do que 4 KB.
usingCustomSchemaNamebooleanofalseConfigure esta propriedade como "true" se você estiver usando o DB2 para persistência de sessão e a propriedade currentSchema estiver configurada na origem de dados.
useOracleBlobbooleanofalseConfigure esta propriedade como "true" para criar a tabela de banco de dados usando o tipo de dados Objeto Binário Grande (BLOB) para a coluna média. Este valor aumenta o desempenho de sessões persistentes quando bancos de dados Oracle são usados. Devido a uma restrição do Oracle, o suporte de BLOB requer o uso do driver de banco de dados Oracle Call Interface (OCI) para mais de 4000 bytes de dados. Você também deve assegurar que uma nova tabela de sessões seja criada antes do servidor ser reiniciado, eliminando sua tabela de sessões antiga ou alterando a definição de origem de dados para referenciar um banco de dados que não contém uma tabela de sessões.