Pergunta

Eu quero armazenar dados da sessão JSP em uma loja de costume (o que eu especificar) no servidor WebLogic. Existe alguma interface ou classe base que eu possa implementar ou um filtro que eu posso escrever que eu posso pode plug-in através da configuração e que me permite armazenar dados de sessão na minha loja? Eu fiz alguma pesquisa inicial, mas não conseguiu encontrar qualquer ponto de entrada. Qualquer um que tem alguma idéia de como isso pode ser feito.

Na verdade, eu queria usar uma loja que tem bom desempenho e particionamento suporte de dados através de múltiplos servidores (não replicantes). Há muitas dessas lojas (Cache) disponíveis. Então, escrevendo o meu provedor de armazenamento de sessão que pode armazenar os dados da sessão em minha loja particionado (ou particionado com replicação), e compartilhá-los entre vários servidores web.

Foi útil?

Solução

WebLogic não tem nenhuma API pública para assumir o controle de dados da sessão.

Se você está disposto a fazer um monte de trabalho, você pode modificar as aplicações web para interceptar todas as chamadas de sessão e armazenar dados onde você deseja. Existem APIs padrão disponíveis: ServletContextListener, ServletContextAttributeListener, ServletRequestListener, ServletRequestAttributeListener, HttpSessionListener e HttpSessionAttributeListener. Pode registar os seus ouvintes em web.xml.

Se você é ambicioso, você pode escrever código para instrumento automaticamente os aplicativos web. Oracle Coherence produto Web leva esta abordagem. Consulte a seção "Como a coerência instrumentos Web Installer uma aplicação Java EE" neste página . Ele dá uma descrição de alto nível das etapas necessárias.

Outras dicas

Eu não acho que Weblogic permite que você faça isso. A meu conhecimento, não há publicamente disponível interface para implementar e não Weblogic não oferece qualquer gancho ou maneira de conectar sua implementação no persistente configuração de sessão .

Para ser honesto, eu realmente estou querendo saber por que você iria implementar seu próprio armazenamento persistente (isto é mais uma responsabilidade do provedor de servidor de aplicativos). Eu não entendo o que você não pode alcançar utilizando um dos 5 existentes implementação . Talvez você poderia usar um arquivo loja e definir um costume persistente-store-dir . Mas, na verdade, sem mais detalhes sobre o seu objetivo, não tenho a certeza de ser capaz de apontar na direção certa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top