T:saveState e a4j:keepAlive - Quais diferenças

0 respostas
ibispo

Olá colegas,

Gostaria de saber as implicações do uso das 2 opções para manter o estado da bean de controller.

t: - myfaces.tomahawk
a4j: - richfaces

Para manter minhas beans request_scoped vivas eu uso <a4j:keepAlive> e não uso o <tomahawk>, por problemas de adaptação com meu servidor de aplicações JBoss.
Só que o componente <a4j:keepAlive> não permite eu manter vivo apenas alguns objetos da bean, ao passo que o <t:saveState> eu posso definir os componentes que quero que estejam ‘vivos’ entre os requests.

Mas tenho o seguinte problema:

Usando o keepAlive eu sou obrigado a serializar a Managed Bean
Na camada web eu tenho componentes e faço uso do binding=#{bean.componente} e estes NÃO PODEM ser serializados. Portanto eu tenho que iniciar esses atributos com ‘static’ para evitar que os mesmos sejam serializados.

Aí vem a dúvida:

Eu usando esses ATRIBUTOS como ‘static’ o meu medo está sendo que eles estão sendo compartilhados por todos os usuários da sessão.

Pois sei que quando eu crio MÉTODOS ‘static’, estes são compartilhados por todos os usuários da sessão.

No aguardo de uma resposta,

Criado 8 de setembro de 2011
Respostas 0
Participantes 1