ConversationScoped executando o postConstruct várias vezes?
9 respostas
R
Ricardo_Prado
Olá gangue,
Eu tenho um managed bean que executa o “conversation.begin()” no PostConstruct e “conversation.end()” no momento que eu termino de cadastrar meu objeto (está no local correto - usava sessionScoped e estou tentando migrar para ConversationScoped)
O problema é que o postConstruct está sendo executado toda hora que eu altero um componente usando ajax, causando validation error (o ajax preenche uma lista dinamicamente). Verifiquei que o método anotado com postConstruct está sendo executado várias vezes e não uma vez a cada início de conversa, como eu esperava.
Estou com o mesmo problema.
Alguém já passou por isso?
Abraços.
danilo.akamine
Estou com o mesmo problema.
E pra piorar, na segunda requisição pro mesmo Bean, o @Inject tá injentando uma Conversation nova, não aquela que eu tinha iniciado no request anterior.
marcusco
Opa galera
Altere o web.xml, ou seja inclua o codigo abaixo:
javax.faces.PARTIAL_STATE_SAVING
false
danilo.akamine
Opa mascurco,
isso vai ajudar o Bean a não ser “construido” de novo?
marcusco
Sim amigo.
O escopo de View funciona legal.
danilo.akamine
O de View até que não tive problemas,
mas e o de Conversation?
marcusco
Com este escopo ainda não testei…
Faça o teste e nos fala depois.
Abraços.
danilo.akamine
se não der certo, segue abaixo umas soluções interessantes:
tem um cara comentando que “startar” a Conversation no @PostConstruct não é mto interessante, e dá um exemplo utilizando <f:event> e <s:viewAction>
mais tarde vou tentar essas paradas,
dps posto pra dizer o que rolou.
Obrigado
Abraços
danilo.akamine
Depois de algumas pesquisas, vi que o grande problema é que estávamos perdendo o ID da Conversation.
Nós precisamos propagar o Conversation ID nos submits.