a4j:keepAlive com erro de Serializable

Galera,

Precisei usar o keepAlive pra resolver o problema no selectOneMenu.
Porém dá o seguinte erro:

Aqui o trecho do xhtml:

<a4j:keepAlive beanName="cadProfController" />

Aqui o trecho do bean:


@Controller("cadProfController")
@Scope("request")
public class CadProfController implements java.io.Serializable {
...
}

algum atributo da sua classe não é Serializable. Caso não seja necessário que este atributo seja serializado, marque-o como transient. Agora, se for necessário que ele seja serializado, vc terá que escrever os métodos writeObjetct e readObject para customizar a serialização.

Mas o que eu devo fazer com atributos como exemplo:

        private List<SelectItem> listaDeUfs = new ArrayList<SelectItem>();
	private List<SelectItem> listaDeCidades = new ArrayList<SelectItem>();

	@Resource(name="profissionalDAO")
	private transient DaoGenerico<Profissional, Integer> profissionalDao;

No primeiro caso por exemplo, Deve ser SelectItem, List ou ArrayList que devem implementar Serializable?
Ou no outro caso, DaoGenerico é uma interface, tentei colocar implements Serializable no DaoGenericoImp mas não deu certo.

ArrayList é serializable, mas acho que SelectItem não. O que vc pode fazer é torná-los transient.