Montando de Forma que os Dados da Sessão Possam Ser Compartilhados
Por padrão, o recurso de gerenciamento de sessões suporta a definição de escopo da sessão por módulo da web de acordo com a especificação de API Servlet 2.3 e posterior. Apenas servlets no mesmo módulo da Web podem acessar os dados associados a uma sessão em particular. Porém, é possível usar o objeto IBMApplicationSession ou a extensão IBM®, contexto de sessão compartilhado, para compartilhar dados fora do escopo do módulo da Web.
Sobre Esta Tarefa
O objeto IBMApplicationSession é um objeto de sessão pai que pode ser recuperado por uma sessão do módulo da web e pode compartilhar atributos da sessão em todos os módulos da web em um aplicativo em nível de negócios. O escopo padrão para o aplicativo de nível de negócios é o aplicativo corporativo. A opção de contexto de sessão compartilhada estende também o escopo dos atributos de sessão. Utilizando a extensão de contexto de sessão compartilhada, existe apenas um objeto de sessão para o aplicativo de nível de negócios inteiro ou para o aplicativo corporativo padrão.
Se você estiver utilizando uma sessão compartilhada para um aplicativo de nível de negócios, os arquivos de classe para todos os objetos colocados na sessão deverão existir em uma biblioteca compartilhada isolada e ser comum entre todos os aplicativos.
O benefício de usar o método IBMApplicationSession é que cada módulo da Web pode manter sua própria sessão assim como ter uma referência à sessão compartilhada.
Se estiver migrando um aplicativo de uma versão anterior do produto, o método IBMApplicationSession precisará de uma mudança na lógica de aplicativo do aplicativo.
Para aplicativos corporativos nos quais esta extensão de contexto de sessão compartilhada é ativada, a configuração de gerenciamento de sessões no módulo da web dentro do aplicativo corporativo é ignorada. Em seguida, a configuração de gerenciamento de sessões definida no aplicativo corporativo é usada se o gerenciamento de sessões é sobrescrito no nível do aplicativo corporativo. Caso contrário, a configuração de gerenciamento de sessões no contêiner da web é usado. Se diversos aplicativos corporativos estiverem sendo usados dentro de um aplicativo em nível de negócios, a configuração de gerenciamento de sessão deve ser comum entre todos os aplicativos e módulos da Web dentro desse aplicativo em nível de negócios.
Listeners HttpSession que são definidos em todos os módulos da web dentro do aplicativo em nível de negócios ou aplicativo corporativo são chamados para eventos de sessão. A ordem de chamada do listener não é garantida.Conclua o seguinte para compartilhar dados da sessão no aplicativo em nível de negócios.