@ViewAccessScoped não mantem estado

Pessoal bom dia, estou tentando manter o estado de um ManagedBean em duas paginas A e B, quando eu clico no botão voltar da pagina B meu managedbean esta com os objetos null ou seja não esta mantendo o estado.

Alguem pode me ajudar?

Aqui esta o MB

package com.agenda.managedbean;

import java.util.ArrayList;
import java.util.List;

import javax.faces.model.SelectItem;
import javax.inject.Inject;
import javax.inject.Named;

import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ViewAccessScoped;

import com.agenda.entidade.Curso;
import com.agenda.entidade.Programa;
import com.agenda.entidade.Projeto;
import com.agenda.model.ProgramaModel;
import com.agenda.model.ProjetoModel;
import com.agenda.util.Forward;
import com.agenda.util.MensagemID;

@Named(value = "projetoMB")
@ViewAccessScoped
public class ProjetoMB extends MB {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Inject
	private ProgramaModel programaModel;

	@Inject
	private ProjetoModel projetoModel;

	private Projeto projeto = new Projeto();
	private List<SelectItem> listProgramas;
	private Integer programaSelecionado;

	//Curso
	private Curso curso;
	
	@Override
	public String exibir() {
		carregarProgramas();
		return Forward.CADASTRAR_PROJETO;
	}
	
	public String voltar() {
		return Forward.CADASTRAR_PROJETO;
	}

	private void carregarProgramas() {
		this.listProgramas = new ArrayList<SelectItem>();
		List<Programa> list = programaModel.consultarTodos();
		for (Programa programa : list) {
			this.listProgramas.add(new SelectItem(programa.getId(), programa
					.getNome()));
		}
	}

	public void salvar() {
		projetoModel.salvar(projeto);
		adicionaMensagemInfo(null, MensagemID.PROGRAMA_CADASTRADO_COM_SUCESSO);
	}

	public String incluirCurso() {
		this.curso = new Curso();
		return Forward.INCLUIR_CURSO;
	}

	public String incluirEvento() {
		return Forward.INCLUIR_EVENTO;
	}

	public String incluirPraticasExtensionistas() {

		return Forward.INCLUIR_PRATICAS_EXTENSIONISTAS;
	}

	public Projeto getProjeto() {
		return projeto;
	}

	public void setProjeto(Projeto projeto) {
		this.projeto = projeto;
	}

	public Integer getProgramaSelecionado() {
		return programaSelecionado;
	}

	public void setProgramaSelecionado(Integer programaSelecionado) {
		this.programaSelecionado = programaSelecionado;
	}

	public List<SelectItem> getListProgramas() {
		return listProgramas;
	}

	public void setListProgramas(List<SelectItem> listProgramas) {
		this.listProgramas = listProgramas;
	}

	public Curso getCurso() {
		return curso;
	}

	public void setCurso(Curso curso) {
		this.curso = curso;
	}

}

Esse é o comportamento normal de um ViewScoped.

Ele retêm o estado apenas na página.

Aqui você encontra maiores detalhes de como funciona cada escopo: http://uaihebert.com/?p=1596

[quote=Hebert Coelho]Esse é o comportamento normal de um ViewScoped.

Ele retêm o estado apenas na página.

Aqui você encontra maiores detalhes de como funciona cada escopo: http://uaihebert.com/?p=1596[/quote]

Bom dia Hebert, esse comportamento é do ViewScoped mas eu estou usando o ViewAccessScoped, sabe o pq esta assim?

[quote=evertonsilvagomesjava][quote=Hebert Coelho]Esse é o comportamento normal de um ViewScoped.

Ele retêm o estado apenas na página.

Aqui você encontra maiores detalhes de como funciona cada escopo: http://uaihebert.com/?p=1596[/quote]

Bom dia Hebert, esse comportamento é do ViewScoped mas eu estou usando o ViewAccessScoped, sabe o pq esta assim?[/quote]
As páginas A e B usam o mesmo ManagedBean?

[quote=Rodrigo Sasaki][quote=evertonsilvagomesjava][quote=Hebert Coelho]Esse é o comportamento normal de um ViewScoped.

Ele retêm o estado apenas na página.

Aqui você encontra maiores detalhes de como funciona cada escopo: http://uaihebert.com/?p=1596[/quote]

Bom dia Hebert, esse comportamento é do ViewScoped mas eu estou usando o ViewAccessScoped, sabe o pq esta assim?[/quote]
As páginas A e B usam o mesmo ManagedBean?[/quote]

Usam sim Rodrigo, por isso não estou entendendo.

  1. Não sei oq é ViewAccessScoped. Isso é fora da especificação, se não me engano, é coisa to MyFaces.
  2. Saiu da tela, perdeu escopo. Faça um teste, crie dois métodos um anotado com @PostConstruct e outro com @PreDestroy e veja o momento em que são chamados.

[quote=Hebert Coelho]1) Não sei oq é ViewAccessScoped. Isso é fora da especificação, se não me engano, é coisa to MyFaces.
2) Saiu da tela, perdeu escopo. Faça um teste, crie dois métodos um anotado com @PostConstruct e outro com @PreDestroy e veja o momento em que são chamados.[/quote]

O ViewAccessScoped era pra fazer o que estou tentando fazer, pelo que li ele mantém o estado do ManagedBean entre páginas que usam o mesmo ManagedBean, só que no meu caso não esta acontecendo

[quote=evertonsilvagomesjava][quote=Hebert Coelho]1) Não sei oq é ViewAccessScoped. Isso é fora da especificação, se não me engano, é coisa to MyFaces.
2) Saiu da tela, perdeu escopo. Faça um teste, crie dois métodos um anotado com @PostConstruct e outro com @PreDestroy e veja o momento em que são chamados.[/quote]

O ViewAccessScoped era pra fazer o que estou tentando fazer, pelo que li ele mantém o estado do ManagedBean entre páginas que usam o mesmo ManagedBean, só que no meu caso não esta acontecendo[/quote]Veja c te ajuda:
https://cwiki.apache.org/confluence/display/EXTCDI/JSF+Usage#JSFUsage-ViewAccessScope

[quote=Hebert Coelho][quote=evertonsilvagomesjava][quote=Hebert Coelho]1) Não sei oq é ViewAccessScoped. Isso é fora da especificação, se não me engano, é coisa to MyFaces.
2) Saiu da tela, perdeu escopo. Faça um teste, crie dois métodos um anotado com @PostConstruct e outro com @PreDestroy e veja o momento em que são chamados.[/quote]

O ViewAccessScoped era pra fazer o que estou tentando fazer, pelo que li ele mantém o estado do ManagedBean entre páginas que usam o mesmo ManagedBean, só que no meu caso não esta acontecendo[/quote]Veja c te ajuda:
https://cwiki.apache.org/confluence/display/EXTCDI/JSF+Usage#JSFUsage-ViewAccessScope[/quote]

Isso não esta falando so pra eu implementar o ViewAcessScoped? No bean que eu postei esta assim

[quote=evertonsilvagomesjava][quote=Hebert Coelho][quote=evertonsilvagomesjava][quote=Hebert Coelho]1) Não sei oq é ViewAccessScoped. Isso é fora da especificação, se não me engano, é coisa to MyFaces.
2) Saiu da tela, perdeu escopo. Faça um teste, crie dois métodos um anotado com @PostConstruct e outro com @PreDestroy e veja o momento em que são chamados.[/quote]

O ViewAccessScoped era pra fazer o que estou tentando fazer, pelo que li ele mantém o estado do ManagedBean entre páginas que usam o mesmo ManagedBean, só que no meu caso não esta acontecendo[/quote]Veja c te ajuda:
https://cwiki.apache.org/confluence/display/EXTCDI/JSF+Usage#JSFUsage-ViewAccessScope[/quote]

Isso não esta falando so pra eu implementar o ViewAcessScoped? No bean que eu postei esta assim[/quote]Você leu a teoria sobre a correta utilização? Se encaixa no seu problema?

Sim, eu li, esta falando “A regra é simples, enquanto o MB é referenciada por uma página - o MB estará disponível para a próxima página (se for usado novamente o MB será encaminhado novamente)”

Vc conseguiu visualizar algum problema no meu cenário?