[RESOLVIDO]java.io.NotSerializableException: org.primefaces.component.datatable.DataTable

Galera estava querendo migrar do PF2.21 para 3.01 e por causa de problemas e precisava rodar a app do cliente voltei pro 2.21, mas as páginas q contem o DataTable apresentam esse erro do título sendo q as mesmas estão serializadas, num axei uma resposta plauzível então recorre a vcs…

idéias?

Posta o StackTrace e o código da sua ManagedBean

MB

package br.com.luxu.controller;

import java.io.Serializable;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.component.UIData;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;

import org.hibernate.exception.ConstraintViolationException;

import br.com.luxu.DAO.HibernateDAO;
import br.com.luxu.DAO.InterfaceDAO;
import br.com.luxu.classe.Cargo;
import br.com.luxu.util.FacesContextUtil;

@ManagedBean
@ViewScoped
public class CargoBean implements Serializable {

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

    private Cargo cargo = new Cargo();
    private Cargo tipoCargoSelecionado;
    private UIData tabela;

    public void salvar() {
		InterfaceDAO<Cargo> cargoDAO = new HibernateDAO<Cargo>(Cargo.class,FacesContextUtil.getRequestSession());
		try {
		    cargoDAO.salvar(cargo);
		    FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_INFO, "Concluído","Registro incluído com sucesso!"));
		} catch (ConstraintViolationException e) {
			FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_ERROR, "Atenção","Registro não pode ser incluído!"));
		} finally {
		    tipoCargoSelecionado = new Cargo();
		    cargo = new Cargo();
		}
    }

    public String alterar() {
		cargo = (Cargo) getTabela().getRowData();
		return null;
    }

    public void atualizar(ActionEvent evt) {
		InterfaceDAO<Cargo> cargoDAO = new HibernateDAO<Cargo>(Cargo.class,FacesContextUtil.getRequestSession());
		try {
		    cargoDAO.atualizar(cargo);
		    FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_INFO, "Concluído","Registro alterado com sucesso!"));
		} catch (ConstraintViolationException e) {
			FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_ERROR, "Atenção","Registro não pode ser alterado!"));
		} finally {
		    tipoCargoSelecionado = new Cargo();
		    cargo = new Cargo();
		}
    }

    public void novo(ActionEvent evt) {
    	cargo = new Cargo();
    }

    public void excluir(ActionEvent evt) {
		InterfaceDAO<Cargo> cargoDAO = new HibernateDAO<Cargo>(Cargo.class,FacesContextUtil.getRequestSession());
		try {
		    cargoDAO.excluir(tipoCargoSelecionado);
		    FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_INFO, "Concluído","Registro excluído com sucesso!"));
		} catch (ConstraintViolationException e) {
		    FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_ERROR, "Atenção", "Registro não pode ser excluído!"));
		} finally {
		    tipoCargoSelecionado = new Cargo();
		    cargo = new Cargo();
		}
    }

    public Cargo getCargo() {
	return cargo;
    }

    public void setCargo(Cargo cargo) {
	this.cargo = cargo;
    }

    public void setTabela(UIData tabela) {
	this.tabela = tabela;
    }

    public UIData getTabela() {
	return tabela;
    }

    public Cargo getTipoCargoSelecionado() {
	return tipoCargoSelecionado;
    }

    public void setTipoCargoSelecionado(Cargo tipoCargoSelecionado) {
	this.tipoCargoSelecionado = tipoCargoSelecionado;
    }
}

stacktrace

[code]Fev 01, 2012 7:50:24 PM org.apache.catalina.core.AprLifecycleListener init
Informações: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jdk1.7.0\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files (x86)/Java/jre7/bin/client;C:/Program Files (x86)/Java/jre7/bin;C:/Program Files (x86)/Java/jre7/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\system32\wbem;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0;C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn;C:\wamp\bin\php\php5.3.8;C:\ZendFramework-1.11.11\library;C:\ZendFramework-1.11.11\bin;D:\eclipse-jee-indigo-win32\eclipse;;.
Fev 01, 2012 7:50:24 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
Advertência: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ‘source’ to ‘org.eclipse.jst.jee.server:StudioPilates’ did not find a matching property.
Fev 01, 2012 7:50:24 PM org.apache.coyote.AbstractProtocolHandler init
Informações: Initializing ProtocolHandler [“http-bio-8080”]
Fev 01, 2012 7:50:24 PM org.apache.coyote.AbstractProtocolHandler init
Informações: Initializing ProtocolHandler [“ajp-bio-8009”]
Fev 01, 2012 7:50:24 PM org.apache.catalina.startup.Catalina load
Informações: Initialization processed in 636 ms
Fev 01, 2012 7:50:24 PM org.apache.catalina.core.StandardService startInternal
Informações: Starting service Catalina
Fev 01, 2012 7:50:24 PM org.apache.catalina.core.StandardEngine startInternal
Informações: Starting Servlet Engine: Apache Tomcat/7.0.14
Fev 01, 2012 7:50:24 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
Informações: validateJarFile(D:\Projetos\pacotes\apache-tomcat-7.0.14\wtpwebapps\StudioPilates\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Fev 01, 2012 7:50:37 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://java.sun.com/jstl/core is already defined
Fev 01, 2012 7:50:37 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://java.sun.com/jstl/sql_rt is already defined
Fev 01, 2012 7:50:37 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://java.sun.com/jsp/jstl/sql is already defined
Fev 01, 2012 7:50:37 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://java.sun.com/jstl/core_rt is already defined
Fev 01, 2012 7:50:37 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://java.sun.com/jsp/jstl/core is already defined
Fev 01, 2012 7:50:37 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://java.sun.com/jsp/jstl/functions is already defined
Fev 01, 2012 7:50:37 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://java.sun.com/jstl/fmt is already defined
Fev 01, 2012 7:50:37 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/permittedTaglibs is already defined
Fev 01, 2012 7:50:37 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://java.sun.com/jstl/xml is already defined
Fev 01, 2012 7:50:37 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/scriptfree is already defined
Fev 01, 2012 7:50:37 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://java.sun.com/jstl/fmt_rt is already defined
Fev 01, 2012 7:50:37 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://java.sun.com/jsp/jstl/fmt is already defined
Fev 01, 2012 7:50:37 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://java.sun.com/jsp/jstl/xml is already defined
Fev 01, 2012 7:50:37 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://java.sun.com/jstl/xml_rt is already defined
Fev 01, 2012 7:50:37 PM org.apache.catalina.startup.TaglibUriRule body
Informações: TLD skipped. URI: http://java.sun.com/jstl/sql is already defined
Fev 01, 2012 7:50:37 PM com.sun.faces.config.ConfigureListener contextInitialized
Informações: Inicializando Mojarra 2.1.2 (FCS 20110613) para o contexto ‘/StudioPilates’
Fev 01, 2012 7:50:38 PM com.sun.faces.spi.InjectionProviderFactory createInstance
Informações: JSF1048: Anotações PostConstruct/PreDestroy presentes. Os métodos ManagedBeans marcados com essas anotações informarão as anotações processadas.
Fev 01, 2012 7:50:39 PM org.apache.catalina.startup.HostConfig deployDirectory
Informações: Deploying web application directory docs
Fev 01, 2012 7:50:39 PM org.apache.catalina.startup.HostConfig deployDirectory
Informações: Deploying web application directory examples
Fev 01, 2012 7:50:39 PM org.apache.catalina.core.ApplicationContext log
Informações: ContextListener: contextInitialized()
Fev 01, 2012 7:50:39 PM org.apache.catalina.core.ApplicationContext log
Informações: SessionListener: contextInitialized()
Fev 01, 2012 7:50:39 PM org.apache.catalina.core.ApplicationContext log
Informações: ContextListener: attributeAdded(‘org.apache.jasper.compiler.TldLocationsCache’, ‘org.apache.jasper.compiler.TldLocationsCache@1ffc09c’)
Fev 01, 2012 7:50:39 PM org.apache.catalina.startup.HostConfig deployDirectory
Informações: Deploying web application directory host-manager
Fev 01, 2012 7:50:39 PM org.apache.catalina.startup.HostConfig deployDirectory
Informações: Deploying web application directory manager
Fev 01, 2012 7:50:39 PM org.apache.coyote.AbstractProtocolHandler start
Informações: Starting ProtocolHandler [“http-bio-8080”]
Fev 01, 2012 7:50:39 PM org.apache.coyote.AbstractProtocolHandler start
Informações: Starting ProtocolHandler [“ajp-bio-8009”]
Fev 01, 2012 7:50:39 PM org.apache.catalina.startup.Catalina start
Informações: Server startup in 14753 ms
2012-02-01 19:50:40,891 WARN [org.hibernate.util.DTDEntityResolver] - recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
2012-02-01 19:50:42,391 WARN [org.hibernate.impl.SessionFactoryObjectFactory] - InitialContext did not implement EventContext
Fev 01, 2012 7:50:52 PM com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
Grave: Error Rendering View[/formularios/formularioCidade.xhtml]
java.io.NotSerializableException: javax.faces.model.ListDataModel
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at java.util.HashMap.writeObject(HashMap.java:1014)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:962)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1362)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1170)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at java.util.HashMap.writeObject(HashMap.java:1014)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:962)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at com.sun.faces.renderkit.ClientSideStateHelper.doWriteState(ClientSideStateHelper.java:325)
at com.sun.faces.renderkit.ClientSideStateHelper.writeState(ClientSideStateHelper.java:173)
at com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:122)
at com.sun.faces.application.StateManagerImpl.writeState(StateManagerImpl.java:166)
at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:418)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

Fev 01, 2012 7:50:52 PM org.apache.catalina.core.StandardWrapperValve invoke
Grave: Servlet.service() for servlet [Faces Servlet] in context with path [/StudioPilates] threw exception
java.io.NotSerializableException: javax.faces.model.ListDataModel
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at java.util.HashMap.writeObject(HashMap.java:1014)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:962)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1362)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1170)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at java.util.HashMap.writeObject(HashMap.java:1014)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:962)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at com.sun.faces.renderkit.ClientSideStateHelper.doWriteState(ClientSideStateHelper.java:325)
at com.sun.faces.renderkit.ClientSideStateHelper.writeState(ClientSideStateHelper.java:173)
at com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:122)
at com.sun.faces.application.StateManagerImpl.writeState(StateManagerImpl.java:166)
at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:418)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

[/code]

Achei o problema havia mudado para client,

<context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>client</param-value> </context-param>

voltei pra server e td funfou…fica a dica!

<context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>server</param-value> </context-param>