Tenho uma aplicação que usa vraptor3 com acesso a um módulo EJB remoto. Esse módulo remoto está hospedado em glassfish rodando em modo cluster com várias instâncias. Todo o processamento grande está nesse modulo EJB, sendo que o vraptor está na camada web apenas como controller, ou seja, pouco processamento e em ambiente não distribuído.
Porém de uns dias para cá a aplicação web está um pouco lenta, e fazendo uns testes notei que realmente estou com falta de recursos. Estou pensando em distribuir também a aplicação web, rodando inicialmente em três clusters e ir aumentado conforme houver necessidade.
Fiz uns testes bem básicos e os objetos de sessão me parecem não estar disponível em todos os clusters. Meus beans de sessão estão todos anotados com @SessionScoped. Procurei então o componente do vraptor que faz o ouject desse atributo na session mas não encontrei. Onde ele está? Como que o vraptor trabalha com a session? É feito um setAttribute manualmente ou a tarefa é delegada ao Spring/Pico?
Além disso alguém já trabalhou com o vraptor em cluster?
Já aproveitando o tópico… como eu faço para remover um atributo da session sem invalidar a session e sem fazer um removeAttribute manualmente, sendo que meu bean é um session-scoped?