Propriedades Personalizadas do Gerenciamento de Sessão
Você pode especificar configurações adicionais para gerenciamento de sessão definindo propriedades customizadas.
- No console administrativo, clique em .
- Sob Propriedades Adicionais, selecione Propriedades Personalizadas.
- Na página Propriedades Customizadas, clique em Novo.
- Na página de configurações, insira a propriedade que você deseja configurar no campo Nome e o valor com o qual deseja configurá-la no campo Valor.
- Clique em Aplicar ou em OK.
- Clique em Salvar na barra de tarefas do console para salvar suas alterações na configuração.
- Reinicie o servidor.
- AlwaysEncodeURL
- CheckSessionCookieNameOnEncodeURL
- checkSessionNewOnIsValidRequest
- CloneSeparator
- CloneSeparatorChange
- DebugSessionCrossover
- DelayAfterDuplicateIdException
- DelayInvalidationAlarmDuringServerStartup
- ForceSessionInvalidationMultiple
- HideSessionValues
- HttpSessionCloneId
HttpSessionEnableUnmanagedServerReplication
- HttpSessionIdLength
- HttpSessionIdReuse
- HttpSessionReaperPollInterval
- InvalidateOnUnauthorizedSessionRequestException
- NoAdditionalSessionInfo
- NoAffinitySwitchBack
- OptimizeCacheIdIncrements
- SecurityUserIgnoreCase
- Servlet21SessionCompatibility
- SessionIdentifierMaxLength
- SessionInvalidatorThreadPoolSize
- SessionRewriteIdentifier
- SessionTableName
- SessionTableSkipIndexCreation
- ThrowSecurityExceptionOnGetSessionFalse
- UseInvalidatedId
- UseOracleBLOB
- UsingApplicationSessionsAndInvalidateAll
- UsingCustomSchemaName
AlwaysEncodeURL
A especificação Servlet 2.5 especifica para não codificar a URL em uma chamada response.encodeURL se não for necessário. Para suportar compatibilidade com versões anteriores quando a codificação de URL está ativada, configure a propriedade customizada AlwaysEncodeURL para true para chamar o método encodeURL. A URL sempre estará codificada, mesmo que o navegador suporte cookies. A propriedade deve ser configurada no nível de contêiner da web.
CheckSessionCookieNameOnEncodeURL
Use esta propriedade para verificar a existência do cookie de sessão HTTP ao determinar se o ID de sessão precisa ser codificado na URL. Esta propriedade deve ser configurada no nível de contêiner da web.
A configuração padrão para esta propriedade é false. Ao configurar esta propriedade para true, ative o gerenciador de sessão para verificar a existência do cookie de sessão HTTP ao determinar se o ID de sessão precisa ser codificado na URL.
checkSessionNewOnIsValidRequest
Use esta propriedade para especificar se o servidor pode manipular diversas solicitações de clientes simultâneas quando HttpSessionIdReuse é ativado. Esta propriedade deve ser configurada no nível de contêiner da web.
Por padrão, o gerenciador de sessões manipula uma solicitação de cliente a cada vez, quando a propriedade HttpSessionIdReuse também está ativada. Configure checkSessionNewOnIsValidRequest como false para permitir que o gerenciador de sessões manipule diversas solicitações simultâneas a partir de um cliente quando HttpSessionIdReuse está ativado. Se HttpSessionIdReuse não estiver ativado, esta propriedade não terá efeito.
É necessário reiniciar o servidor para que a mudança na configuração tenha efeito.
O valor padrão dessa propriedade é true.
CloneSeparator
Use essa propriedade para especificar um caractere diferente como o separador de clone em cookies de sessão. O valor especificado para essa propriedade customizada deve ser um caractere único.
Essa propriedade foi configurada como uma propriedade customizada do contêiner da web na Versão 6.1, mas agora deve ser configurado como uma propriedade customizada de gerenciamento de sessão no nível de contêiner da web.

O fato que qualquer caractere pode ser especificado como o valor para essa propriedade customizada não significa que o caractere que você especificar funcionará corretamente. Esse fato também não significa que a IBM seja responsável por corrigir qualquer problema que possa surgir do uso de um caractere alternativo.
bpracCloneSeparatorChange
Utilize esta propriedade para manter afinidade de sessões. O ID de clone do servidor é anexado ao identificador da sessão separado por dois pontos. Em alguns dispositivos WAP (Wireless Application Protocol), não é permitido um dois pontos. Configure esse propriedade como true para alterar o separador de clone para um sinal de mais (+). Esta propriedade deve ser configurada no nível de contêiner da web.
DebugSessionCrossover
A propriedade customizada DebugSessionCrossover possibilita ao código executar verificações adicionais para ver se apenas a sessão associada à solicitação é acessada ou referenciada. As mensagens serão registradas se forem detectadas discrepâncias.
Configure essa propriedade como true para ativar a detecção de passagem de dados da sessão.
Consulte o artigo Problemas de Sessão HTTP, para obter informações adicionais.
DelayAfterDuplicateIdException
A propriedade customizada DelayAfterDuplicateIdException é usada para especificar quanto tempo, em milissegundos, o gerenciador de sessões deve esperar antes de tentar recuperar uma sessão do servidor backend após ocorrer um erro SESN0196W. Esta propriedade deve ser configurada no nível de contêiner da web.
O valor padrão para essa propriedade é 500.
DelayInvalidationAlarmDuringServerStartup
Use esta propriedade para atrasar a inicialização do alarme de invalidação na inicialização do servidor pelo número especificado de segundos.
O valor padrão para esta propriedade é 0.
ForceSessionInvalidationMultiple
A propriedade customizada ForceSessionInvalidationMultiple indica se o gerenciador de sessões deve aguardar indefinidamente a conclusão de uma solicitação antes de tentar invalidar a sessão ou se deverá tentar invalidar uma sessão depois que o limite de tempo especificado tiver decorrido. O valor padrão para essa propriedade é 3.
- Se for especificado 0 (zero) para essa propriedade customizada, o gerenciador de sessão
aguardará indefinidamente até a conclusão de um pedido antes de tentar invalidar
a sessão.
Se, normalmente, seus pedidos não forem restringidos por um limite de tempo de resposta, especifique 0 para essa propriedade.
- Se for especificado um número inteiro positivo, como 1, 2 ou 3 para essa propriedade
customizada, mesmo que não se saiba se uma sessão foi concluída, o gerenciador de sessão
tentará invalidá-la, se o período de tempo indicado desde o
último acesso ocorrido tiver passado. Esse período de tempo é o resultado da multiplicação
do valor especificado para essa propriedade pelo valor especificado para a propriedade
Tempo Limite da Sessão. Por exemplo, se for especificado 2 minutos para a propriedade Tempo
Limite da Sessão e 2 para a propriedade ForceSessionInvalidationMultiple, o gerenciador de
sessão tentará invalidar a sessão depois de 4 minutos.
Para invalidar suas sessões depois que um determinado período de tempo tiver decorrido, especifique o número inteiro positivo apropriado para essa propriedade.
HideSessionValues
A propriedade customizada HideSessionValues evita o registro dos valores de atributos de sessões nos rastreios do gerenciador de sessões. Esta propriedade deve ser configurada no nível de contêiner da web.
Os aplicativos armazenam esses valores de atributos de sessões. O valor padrão é true.
HttpSessionCloneId
Utilize esta propriedade para alterar o ID de clone do membro do cluster. Dentro de um cluster, esse ID deve ser exclusivo para manter a afinidade de sessão. Quando configurado, esse nome sobrescreve o nome padrão gerado pelo WebSphere Application Server. Esta propriedade deve ser configurada no nível de contêiner da web.
Comprimento padrão do ID do clone: 8 ou 9
Comprimento padrão do ID do clone: 40
![[z/OS]](../images/ngzos.gif)
HttpSessionEnableUnmanagedServerReplication
Configure essa propriedade customizada como true se desejar ativar o failover do servidor replicando dados da sessão para um espaço para dados gerenciados pelo controlador. O valor padrão é false.
HttpSessionIdLength
Utilize esta propriedade para configurar o comprimento do identificador de sessão. Não utilize um valor extremamente baixo; a utilização de um valor baixo resulta na redução do número de combinações possíveis, aumentando o risco de adivinhação do identificador da sessão. Em um cluster, todos os membros do cluster devem ser configurados com o mesmo comprimento de ID. Faixa permitida: de 8 a 128. Comprimento padrão: 23. Esta propriedade deve ser configurada no nível de contêiner da web.
HttpSessionIdReuse
A propriedade customizada HttpSessionIdReuse determina se o gerenciador de sessões pode usar o ID de sessão enviado a partir de um navegador para preservar dados da sessão entre aplicativos da web em execução em um ambiente que não está configurado para persistência de sessão. Esta propriedade deve ser configurada no nível de contêiner da web.
Em um ambiente com diversas JVMs não configurado para persistência de sessão, a configuração dessa propriedade como true permite ao gerenciador de sessões usar as mesmas informações de sessões para todos os pedidos do usuário, mesmo se os aplicativos da Web manipulando esses pedidos forem controlados por JVMs diferentes. O valor padrão para essa propriedade é false. Configure esta propriedade como true, se desejar ativar o gerenciador de sessões para usar o ID de sessão enviado de um navegador para preservar os dados da sessão através de aplicativos da Web que estão em execução em um ambiente que não está configurado para persistência de sessão.
![[z/OS]](../images/ngzos.gif)
ExtendedMessage: BBOO0220E: SessionContext:createSession - call to
establishAffinity for id id_number failed with rc 4
HttpSessionReaperPollInterval
Use esta propriedade para especificar, em segundos, um intervalo de ativação para o processo que remove sessões inválidas. O valor especificado para essa propriedade substitui o valor de instalação padrão, que está entre 30 e 360 segundos, e garante que o processo do coletor seja executado em um intervalo específico.
Se o intervalo inativo máximo for menos de 2 minutos, o intervalo de pesquisa do coletor geralmente estará entre 30 e 60 segundos.
Se o intervalo inativo máximo for de mais de 2 minutos e até 15 minutos, o intervalo de pesquisa do coletor geralmente estará entre 60 a 90 segundos.
Se o intervalo inativo máximo for mais de 15 minutos e de até 30 minutos, o intervalo de pesquisa do coletor geralmente estará entre 120 e 180 segundos.
Se o intervalo inativo máximo for de mais de 30 minutos, o intervalo de pesquisa do coletor geralmente será entre 240 e 300 segundos.
Porque o tempo limite padrão e o intervalo inativo máximo é 30 minutos, o intervalo do coletor é geralmente entre 2 e 3 minutos.
Por exemplo, você pode querer utilizar essa propriedade se você deseja que a instalação expire as sessões invalidades mais frequentemente que 2 a 3 minutos. A especificação de HttpSessionReaperPollInterval=120 assegura que as sessões sejam invalidadas dentro de um intervalo de 2 minutos de expiração.
O valor mínimo para esta propriedade é 30 segundos. Se for digitado um valor menor que o mínimo, a propriedade especificada será ignorada e um valor apropriado será determinado e utilizado automaticamente. O intervalo máximo de inatividade é o tempo limite da sessão. O padrão é baseado no intervalo máximo de inatividade configurado no gerenciamento de sessões.
InvalidateOnUnauthorizedSessionRequestException
Configure esta propriedade como true se, em resposta a uma solicitação não autorizada, você deseja que o gerenciador de sessões invalide uma sessão ao invés de emitir uma mensagem de erro UnauthorizedSessionRequestException.
Quando uma sessão é invalidade, o solicitador pode criar uma nova sessão, mas não possui acesso a qualquer um dos dados da sessão salvos anteriormente. Esta invalidação permite que um único usuário continue a processar solicitações após um logout ao mesmo tempo em que ainda protege os dados da sessão.
O valor-padrão para essa propriedade é false.
NoAdditionalSessionInfo
Configure essa propriedade para true para forçar a remoção de informações que não são necessárias em identificadores de sessão. Esta propriedade deve ser configurada no nível de contêiner da web.
NoAffinitySwitchBack
Configure esta propriedade como true para manter a afinidade com o novo membro mesmo após o original aparecer novamente. Quando um membro do cluster falha, seus pedidos são roteados para um membro diferente do cluster, e as sessões são ativadas nesse outro membro. Assim, a afinidade de sessão é mantida para o novo membro, e quando o membro do cluster que falhou voltar a operar, os pedidos para sessões que foram criadas no membro original do cluster serão roteadas de volta a ele. Os valores permitidos são verdadeiro ou falso, com o padrão sendo falso. Esta propriedade deve ser configurada no nível de contêiner da web.
Configure essa propriedade como true quando tiver sessões distribuídas configuradas com gravação baseada em tempo. Ao usar a replicação de sessão memória-a-memória, configure a propriedade customizada HttpSessionCloneId para usar alternância de afinidade. Observe que essa propriedade não tem nenhum efeito sobre o comportamento quando sessões distribuídas não estão ativadas
OptimizeCacheIdIncrements
Configure a propriedade customizada OptimizeCacheIdIncrements como true para fazer o gerenciador de sessões avaliar se a sessão na memória para o módulo da web é mais antiga do que a cópia no armazenamento persistente. A configuração dessa propriedade resolve o aumento contínuo do ID de cache.
Se o gerenciamento de sessões HTTP estiver configurado para usar a persistência de sessão e a sessão do navegador do usuário estiver indo e vindo entre diversos aplicativos da Web, poderá perceber atividade extra do armazenamento persistente enquanto as sessões na memória para um módulo da Web são atualizadas no armazenamento persistente. Como resultado, os IDs de cache aumentam continuamente e os atributos de sessão da memória são sobrescritos por aqueles da cópia persistente. Configure essa propriedade como true se desejar evitar que os IDs de cache cresçam continuamente.
Se a configuração for um cluster, assegure-se de que os horários de sistema de cada membro do cluster sejam idênticos, quando possível.
SecurityUserIgnoreCase
Configure esta propriedade como true se desejar que a identidade de segurança de sessão e a identidade de segurança de cliente seja considerada uma correspondência, mesmo se tiverem maiúsculas e minúsculas diferentes.
Quando um usuário configura a integração de segurança de sessão, o gerenciador de sessões compara a identidade de segurança do proprietário da sessão com a identidade de segurança da solicitação do cliente. Como o critério de correspondência faz distinção entre maiúsculas e minúsculas, se essas duas identidades não se corresponderem de forma exata, uma UnauthorizedSessionRequestException será enviada de volta ao cliente.
Se tiver situações em que deseja que a identidade de segurança de sessão e a identidade de segurança de cliente sejam consideradas uma correspondência, mesmo se tiverem maiúsculas e minúsculas diferentes, inclua a propriedade customizada SecurityUserIgnoreCase nas definições da configuração do contêiner da Web e configure a propriedade como true. Quando esta propriedade estiver configurada como true, uma UnauthorizedSessionRequestException não ocorrerá se a identidade de segurança de sessão e a identidade de segurança de cliente forem idênticas, exceto entre suas maiúsculas e minúsculas. Por exemplo, quando esta propriedade estiver configurada como true, a identidade de segurança de sessão USER1 corresponde com as identidades de segurança de cliente User1 e user1.
Servlet21SessionCompatibility
Configure esta propriedade customizada como true para ativar o comportamento de sessão global. No Servlet 2.2 e posterior, as sessões possuem escopo definido no nível do módulo da Web. O padrão é false.

SessionIdentifierMaxLength
Utilize este valor para definir o comprimento máximo até o qual um identificador de sessão possa crescer. Esta propriedade deve ser configurada no nível de contêiner da web.
Em um cluster, devido a fail-over quando um pedido vai para um novo membro do cluster, o gerenciamento de sessão anexa um novo ID de clone ao ID de clone existente. Em um cluster grande, se por algum motivo os servidores estiverem falhando com mais frequência, é possível que o comprimento do identificador de sessão possa ser maior que o esperado reduzindo o espaço para a URL. Essa propriedade ajuda a descobrir a condição e tomar a ação apropriada para resolver fail-over de servidores. Quando isto é especificado, uma mensagem é registrada quando o comprimento máximo especificado é alcançado. Valor permitido: inteiro.
SessionInvalidatorThreadPoolSize
Define o tamanho máximo do conjunto de encadeamentos para os encadeamentos que coletam sessões inválidas após elas atingirem o tempo limite. Esses encadeamentos são responsáveis por notificar outros servidores se as sessões forem distribuídas e limpar quaisquer referências locais a elas. Uma frequência mais alta de sessões atingindo o tempo limite devido a um intervalo de tempo limite mais curto, bem como um grande número de sessões devido ao alto volume de tráfego levará a uma necessidade de um número mais alto desses encadeamentos.
O valor padrão é 50. O valor mínimo é 20 e o valor máximo é 100.
SessionRewriteIdentifier
Utilize esta propriedade para alterar a chave utilizada com regravação de URL. A chave padrão é jsessionid.
SessionTableName
Utilize esta propriedade customizada para configurar o nome da tabela de banco de dados. Valor permitido: Cadeia. O valor padrão é SESSIONS.
Alguns aplicativos podem depender do método ejbCreate(...) para que seja criado o bean de entidade no banco de dados. Para esse requisito, configurar a propriedade JVM com.ibm.websphere.ejbcontainer.allowEarlyInsert como true substitui o comportamento padrão.
SessionTableSkipIndexCreation
Use essa propriedade para desativar a criação de índice na inicialização do servidor.
Essa propriedade customizada deve ser usada apenas se você desejar criar manualmente seus próprios índices do banco de dados para persistência de sessão. Entretanto, recomenda-se permitir que o gerenciador de sessões crie índices do banco de dados.
Para ativar essa propriedade, acesse a página do console administrativo de propriedades customizadas de gerenciamento de sessões, insira o nome da propriedade SessionTableSkipIndexCreation e configure seu valor como true. Antes de ativar essa propriedade, certifique-se de que o índice correto exista em seu banco de dados de sessão.
ThrowSecurityExceptionOnGetSessionFalse
Configure esta propriedade customizada para falso para permitir que o gerenciamento de sessão retorne um valor de sessão nulo em vez de uma UnauthorizedSessionrequestException. O valor padrão é verdadeiro.
UseInvalidatedId
Configure esta propriedade customizada como true para reutilizar o ID de entrada se a sessão com esse ID foi invalidada recentemente. Esta é uma otimização de desempenho porque evita a verificação do armazenamento persistente. O valor padrão é true.
UseOracleBLOB
A propriedade customizada UseOracleBLOB cria a tabela de banco de dados de sessão HTTP usando o tipo de dados Objeto Binário Grande (BLOB) para a coluna média. Essa propriedade aumenta o desempenho das sessões persistentes quando os bancos de dados Oracle são utilizados. Devido a uma restrição do Oracle, o suporte 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 da origem de dados para fazer referência a um banco de dados que não contém uma tabela de sessões.
Name | Valor |
---|---|
UseOracleBLOB | true |
UsingApplicationSessionsAndInvalidateAll
Quando o método invalidateAllSet for chamado, nem todos os objetos IBMApplicationSessions serão verificados. Se você estiver utilizando o objeto IBMApplicationSessions e a chamada invalidateAll, utilize o seguinte par nome-valor:
Name | Valor |
---|---|
UsingApplicationSessionsAndInvalidateAll | true |
UsingCustomSchemaName
Use essa propriedade para assegurar que o gerenciador de sessões detecte com êxito a tabela de sessões em inicializações do servidor subsequentes.
Configure essa propriedade customizada como true se você estiver usando o DB2 para persistência de sessões e a propriedade customSchema não estiver configurada para o valor padrão no driver JDBC DB2.
O valor padrão é false.