É possível configurar o aplicativo WebSphere Application Server para persistir as sessões para uma
grade de dados. Esta grade de dados pode estar em um servidor de contêiner integrado
executado no WebSphere Application Server ou pode estar em uma
grade de dados remota.
Antes de Iniciar
Antes de alterar a configuração no
WebSphere Application Server, você deve ter:
- O nome da grade de dados da sessão que você deseja usar. Consulte Configurando o Gerenciador de Sessões HTTP com WebSphere Application Server para obter informações sobre como criar uma grade de dados da sessão.
- Se o serviço de catálogo que você deseja usar para gerenciar suas sessões
estiver fora da célula na qual está instalando o aplicativo da sessão, será
necessário criar um domínio do serviço de catálogo. Consulte o Criando Domínios do Serviço de Catálogo no WebSphere Application Server para obter informações adicionais.
- Se você estiver configurando um domínio de serviço de catálogo, talvez precise ativar a segurança do cliente
no domínio de serviço de catálogo se os servidores de contêiner precisarem de autenticação. Essas configurações informam o tempo de execução qual implementação CredentialGenerator deve ser usada. Esta implementação gera uma credencial para passar para a grade de dados remota. Consulte Configurando a Segurança do Cliente em um Domínio de Serviço de Catálogo para obter informações adicionais sobre a
configuração dessas definições.
- Segurança global ativada no console administrativo do WebSphere Application Server, se desejar suportar
um dos cenários a seguir:
- Os servidores de catálogos em seu domínio de serviço de catálogo têm Secure Sockets Layer (SSL) ativado.
- Você deseja usar SSL para um domínio de serviço de catálogo com SSL suportado.
Você requer SSL para um
servidor de catálogos configurando o atributo transportType como
SSL-Required no Arquivo de Propriedades do Servidor. Para obter informações adicionais sobre como configurar a segurança global,
consulte
Configurações
de Segurança Global.
- Se você estiver usando a Versão 7.1.0.3 ou posterior, será possível persistir sessões que usam a regravação de URL ou cookies como um mecanismo de rastreio de sessão para a grade de dados. Para liberações anteriores da Versão 7.1.0.3, não é possível persistir sessões que usam a regravação de URL como um mecanismo de rastreamento de sessão. Para ativar a persistência de sessões que usam a regravação de URL, configure a propriedade useURLEncoding para true no arquivo splicer.properties após unir automaticamente o aplicativo.
- Quando você estiver unindo automaticamente aplicativos
para o gerenciamento de sessões HTTP no WebSphere Application Server,
todos os servidores de aplicativos que hospedam o aplicativo da web terão a propriedade customizada do contêiner da web HttpSessionIdReuse configurada como true. Esta
propriedade permite que sessões que falharam a partir de um servidor de
aplicativos para outro ou foram invalidadas a partir do cache de sessão
na memória em um cenário remoto preservem seu ID de sessão entre as solicitações.
Se você não desejar este comportamento, configure a propriedade customizada do contêiner da web
como false em todos os servidores de aplicativos aplicáveis
antes de configurar o gerenciamento de sessões para os aplicativos.
Para obter informações adicionais sobre esta propriedade customizada, consulte Resolvendo Problemas da Integração de Cache.
Procedimento
- Para configurar o gerenciamento de sessões quando estiver instalando
o aplicativo, conclua as seguintes etapas:
- No console administrativo do WebSphere Application Server, clique em
. Escolha o caminho Detalhado para
criar o aplicativo e concluir as etapas iniciais do assistente.
- Na etapa Configurações de gerenciamento de sessão
do eXtreme Scale do assistente, configure a grade de
dados que deseja usar. Escolha a Grade de dados do eXtreme
Scale remota ou a Grade de dados do eXtreme Scale
integrada.
- Para a opção Grade de dados do eXtreme Scale remota,
escolha o domínio do serviço de catálogo que gerencia a grade de dados da sessão
e escolha uma grade de dados na lista de grades de dados da sessão ativa.
- Para a opção Grade de dados do eXtreme Scale integrada,
escolha a configuração padrão do ObjectGrid ou especifique o local específico dos
arquivos de configuração do ObjectGrid.
- Conclua as etapas do assistente para concluir a instalação do
aplicativo.
É possível também instalar o aplicativo com um script wsadmin.
No exemplo a seguir, o parâmetro -SessionManagement cria
a mesma configuração que é possível criar no console administrativo:
Para a configuração remota de grade de dados eXtreme Scale:AdminApp.install('C:/A.ear', '[ -nopreCompileJSPs -distributeApp
-nouseMetaDataFromBinary -nodeployejb -appname A -edition 8.0
-createMBeansForResources -noreloadEnabled -nodeployws -validateinstall
off -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755
-buildVersion Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude
-asyncRequestDispatchType DISABLED -nouseAutoLink -SessionManagement [[true
XSRemoteSessionManagement cs0:!:grid0]]
-MapWebModToVH [[MicroWebApp microwebapp.war,WEB-INF/web.xml default_host] [MicroSipApp
microsipapp.war,WEB-INF/web.xml default_host] [MicroDG1App microdg1app.war,WEB-INF/web.xml
default_host] [MicroDG2App microdg2app.war,WEB-INF/web.xml default_host] [MicroSip2App
microsip2app.war,WEB-INF/web.xml default_host]]]')
Para o
cenário integrado do eXtreme Scale com configuração padrão:AdminApp.install('C:/A.ear', '[ -nopreCompileJSPs -distributeApp
-nouseMetaDataFromBinary -nodeployejb -appname A -edition 8.0
-createMBeansForResources -noreloadEnabled -nodeployws -validateinstall
off -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755
-buildVersion Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude
-asyncRequestDispatchType DISABLED -nouseAutoLink -SessionManagement [[true
XSRemoteSessionManagement :!: :!:default]] -MapWebModToVH [[MicroWebApp microwebapp.war,
WEB-INF/web.xml default_host] [MicroSipApp
microsipapp.war,WEB-INF/web.xml default_host] [MicroDG1App microdg1app.war,WEB-INF/web.xml
default_host] [MicroDG2App microdg2app.war,WEB-INF/web.xml default_host] [MicroSip2App
microsip2app.war,WEB-INF/web.xml default_host]]]')
Para o
cenário integrado do eXtreme Scale com uma configuração customizada:AdminApp.install('C:/A.ear', '[ -nopreCompileJSPs -distributeApp
-nouseMetaDataFromBinary -nodeployejb -appname A -edition 8.0
-createMBeansForResources -noreloadEnabled -nodeployws -validateinstall
off -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755
-buildVersion Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude
-asyncRequestDispatchType DISABLED -nouseAutoLink -SessionManagement [[true
XSRemoteSessionManagement :!: :!:custom:!:c:\XS\objectgrid.xml:!:c:\XS\objectgriddeployment.xml]]
-MapWebModToVH [[MicroWebApp microwebapp.war,WEB-INF/web.xml default_host] [MicroSipApp
microsipapp.war,WEB-INF/web.xml default_host] [MicroDG1App microdg1app.war,WEB-INF/web.xml
default_host] [MicroDG2App microdg2app.war,WEB-INF/web.xml default_host] [MicroSip2App
microsip2app.war,WEB-INF/web.xml default_host]]]')
- Para configurar o gerenciamento de sessões em um aplicativo existente
no console administrativo do WebSphere Application Server:
- No console administrativo do WebSphere Application Server, clique em
.
- Atualize os campos para ativar a persistência de sessão para uma
grade de dados.
Também é possível atualizar o aplicativo com um script wsadmin. No
exemplo a seguir, o parâmetro -SessionManagement cria a
mesma configuração que é possível criar no console administrativo:
- Para a configuração remota de grade de dados eXtreme Scale:
AdminApp.edit('DefaultApplication','[-SessionManagement[[true
XSRemoteSessionManagement cs0:!:grid0]]]')
Os caracteres :!: que
são transmitidos são usados como delimitadores. Os valores que são transmitidos
são: catalogServiceName:!:gridName
- Para o
cenário integrado do eXtreme Scale com configuração padrão:
AdminApp.edit('DefaultApplication','[-SessionManagement[[true
XSEmbeddedSessionManagement :!:!:!:default]]]')
Os caracteres :!: que
são transmitidos são usados como delimitadores. Os valores que são transmitidos
são: catalogServiceName:!:gridName:!:default:!:
absolutePath_to_objectGridXmlfile:!:absolutePath_to_DeploymentXmlfile
- Para o cenário integrado do eXtreme Scale com uma configuração customizada:
AdminApp.edit('DefaultApplication','[-SessionManagement[[true
XSEmbeddedSessionManagement
:!:!:!:custom:!:c:\XS\objectgrid.xml:!:c:\XS\objectgriddeployment.xml]]]')
Os caracteres :!: que
são transmitidos são usados como delimitadores. Os valores que são transmitidos
são: catalogServiceName:!:gridName:!:custom:!:
absolutePath_to_objectGridXmlfile:!:absolutePath_to_DeploymentXmlfile
Quando você salva as mudanças, o aplicativo usa a grade de dados configurada para a persistência de sessão no dispositivo.
- Para configurar o gerenciamento de sessões em um servidor existente:
- No console administrativo do WebSphere Application Server, clique em
.
- Atualize os campos para ativar a persistência de sessão.
Também é possível configurar o gerenciamento de sessões em um servidor
existente com os seguintes comandos de ferramenta wsadmin:
Para a configuração remota de grade de dados eXtreme Scale:AdminTask.configureServerSessionManagement('[-nodeName IBM-C77EE220EB6Node01 -serverName server1
-enableSessionManagement true -sessionManagementType XSRemoteSessionManagement -XSRemoteSessionManagement
[-catalogService cs0 -csGridName grid0]]')
Para a configuração integrada do eXtreme Scale:- A configuração padrão, se você estiver usando os arquivos XML padrão:
AdminTask.configureServerSessionManagement('[-nodeName IBM-C77EE220EB6Node01 -serverName server1
-enableSessionManagement true -sessionManagementType XSEmbeddedSessionManagement
-XSEmbeddedSessionManagement [-embeddedGridType default -objectGridXML -objectGridDeploymentXML ]]')
- A configuração customizada, se você estiver usando arquivos XML customizados:
AdminTask.configureServerSessionManagement('[-nodeName IBM-C77EE220EB6Node01 -serverName server1
-enableSessionManagement true -sessionManagementType XSEmbeddedSessionManagement
-XSEmbeddedSessionManagement
[-embeddedGridType custom -objectGridXML c:\XS\objectgrid.xml -objectGridDeploymentXML
c:\XS\objectgriddeployment.xml]]')
Quando você salva as mudanças, o servidor usa a
grade de dados configurada para a
persistência de sessão com os aplicativos que estão em execução no
servidor.
- Se desejar editar outros aspectos da configuração de sessão HTTP,
será possível editar o arquivo splicer.properties. É possível obter o local do caminho do arquivo splicer.properties
localizando a propriedade customizada sessionFilterProps.
Se você configurou a persistência da sessão no nível do servidor, o nome
da propriedade customizada é: :com.ibm.websphere.xs.sessionFilterProps.
Se você configurou a persistência da sessão no nível do aplicativo, o
nome da propriedade customizada é: <application_name>,com.ibm.websphere.xs.sessionFilterProps.
Estas propriedades customizadas podem estar em um dos seguintes locais:
- Em um ambiente do WebSphere Application Server Network Deployment:
O arquivo splicer.properties está no caminho do perfil de gerenciador
de implementação.
- Em um ambiente independente do WebSphere Application Server: Uma propriedade customizada no
servidor de aplicativos
É possível abrir o arquivo indicado, fazer mudanças e sincronizar os nós de forma que o
arquivo de propriedades atualizado seja propagado para os outros nós na configuração. Todos os nós de servidor de
aplicativos requerem que o arquivo splicer.properties esteja no caminho especificado para persistir
as sessões corretamente.
Atenção: Se desejar ativar a persistência de sessões que usam a regravação de URL, configure a propriedade useURLEncoding como true no arquivo splicer.properties.
Para obter informações adicionais sobre as propriedades no arquivo splicer.properties, consulte
Arquivo splicer.properties.
Resultados
Você configurou o gerenciador de sessões HTTP para persistir as sessões para
uma
grade de dados. As entradas são removidas da grade de dados quando as sessões
expiram. Consulte
Configurações
de Gerenciamento de Sessões para obter informações adicionais sobre como atualizar o valor do tempo limite da
sessão no console administrativo do
WebSphere Application Server.