Boa Tarde estou com o seguinte erro
AVISO: Cannot serialize session attribute com.sun.faces.renderkit.ServerSideStateHelper.LogicalViewMap for session 8092B827C29E7E944F6DB43135BE00E3
java.io.NotSerializableException: com.geco.model.Itens
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.HashMap.writeObject(HashMap.java:1001)
at sun.reflect.GeneratedMethodAccessor217.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.HashMap.writeObject(HashMap.java:1001)
at sun.reflect.GeneratedMethodAccessor217.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.HashMap.writeObject(HashMap.java:1001)
at sun.reflect.GeneratedMethodAccessor217.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.HashMap.writeObject(HashMap.java:1001)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1663)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:1077)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:411)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:353)
at org.apache.catalina.session.StandardManager.stopInternal(StandardManager.java:497)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:222)
at org.apache.catalina.core.StandardContext$4.call(StandardContext.java:5229)
at org.apache.catalina.core.StandardContext$4.call(StandardContext.java:5212)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
XHTML do DataTable
<ui:composition template="/template/template.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:define name="modal">
<h:form>
<p:confirmDialog message="Deseja salvar o pedido de compra nº #{genSerialView.number} ?" showEffect="fade"
hideEffect="fade" header="Pedido de compra" severity="alert" widgetVar="dialog">
<p:commandButton value="Sim" onclick="dialog.hide()" action="#{messagesController.addError}" type="button"/>
<p:commandButton value="Não" onclick="dialog.hide()" type="button" />
</p:confirmDialog>
</h:form>
<h:form>
<p:dialog header="Autorizações Pendentes" widgetVar="modal1" showEffect="fade" hideEffect="fade" height="200">
<h:outputText value="Em teste" />
</p:dialog>
<p:dialog header="Lista de Fornecedores" widgetVar="modal2" showEffect="fade" hideEffect="fade" height="200">
<h:outputText value="Em teste" />
</p:dialog>
</h:form>
</ui:define>
<ui:define name="top">
<h:form>
<h:outputText value="Pedido de compra" style="font-family: Tahoma; font-size: 30px; font-style: bold" />
<h:panelGrid columns="2" style="margin-left: 45%;text-align: center">
<h:outputText value="NUMERO" style="font-family: Tahoma; font-size: 15px; font-style: bold" />
<h:outputText value="DATA" style="font-family: Tahoma; font-size: 15px; font-style: bold" />
<h:outputText value="01/#{genSerialView.ano}" style="font-family: Tahoma; font-size: 12px; font-style: bold" />
<h:outputText value="#{genSerialView.data}" style="font-family: Tahoma; font-size: 12px; font-style: bold" />
</h:panelGrid>
</h:form>
</ui:define>
<ui:define name="center">
<h:form id="idid">
<p:panel id="teste" header="Autorização / Fornecedor" toggleable="true" toggleSpeed="200">
<h:panelGrid columns="3">
<h:outputText value="Referente Autorização Nº:" style="font-family: Tahoma; font-size: 11px; font-style: bold" />
<h:selectOneMenu value="#{itensBean.itens}"><f:selectItems value="#{itensBean.itens}"/></h:selectOneMenu>
<p:commandButton image="ui-icon ui-icon-extlink" onclick="modal1.show()"/>
<h:outputText value="Fornecedor:" style="font-family: Tahoma; font-size: 11px; font-style: bold" />
<h:selectOneMenu value="#{itensBean.itens}"><f:selectItems value="#{itensBean.itens}"/></h:selectOneMenu>
<p:commandButton image="ui-icon ui-icon-extlink" onclick="modal2.show()"/>
</h:panelGrid>
</p:panel>
<p:panel header="Forma de pagamento" id="forma_pagamento" toggleable="true" toggleSpeed="200">
<h:panelGrid columns="2">
<h:outputText value="A Vista" style="font-family: Tahoma; font-size: 11px; font-style: bold"/><h:selectBooleanCheckbox value="#{formaPagamento.avista}"><p:ajax event="change" update="forma_pagamento"/></h:selectBooleanCheckbox>
<h:outputText value="Parcelado" style="font-family: Tahoma; font-size: 11px; font-style: bold"/><h:selectBooleanCheckbox value="#{formaPagamento.parcelado}"><p:ajax event="change" update="forma_pagamento"/></h:selectBooleanCheckbox>
</h:panelGrid>
<h:panelGrid columns="2">
<h:outputText value="Quantidade de parcelas :" style="font-family: Tahoma; font-size: 11px; font-style: bold" rendered="#{formaPagamento.parcelado}"/>
<p:inputText id="parc" value="#{formaPagamento.parcelas}" rendered="#{formaPagamento.parcelado}">
<f:convertNumber minIntegerDigits="1" type="number" />
</p:inputText>
<h:outputText value="Previsão de inicio do pagamento :" style="font-family: Tahoma; font-size: 11px; font-style: bold" rendered="#{formaPagamento.parcelado}"/>
<p:calendar value="#{formaPagamento.dataPagamento}" effect="fade" effectDuration="50" rendered="#{formaPagamento.parcelado}"/>
<h:outputText value="Data de pagamento :" style="font-family: Tahoma; font-size: 11px; font-style: bold" rendered="#{formaPagamento.avista}"/>
<p:calendar value="#{formaPagamento.dataPagamento}" effect="fade" effectDuration="50" rendered="#{formaPagamento.avista}"/>
</h:panelGrid>
</p:panel>
</h:form>
<p:panel header="Cadastrar novo item" toggleable="true" toggleSpeed="200">
<h:form id="cad">
<h:panelGrid id="grid" columns="4" >
<h:outputLabel value="Quantidade : " for="txt_qtd"><p:focus for="txt_qtd" /></h:outputLabel>
<p:inputText id="txt_qtd" value="#{itensBean.item.quantidade}" required="true" requiredMessage="Informe a quantidade do Item !" converterMessage="Use somente NUMEROS na quantidade !"><f:convertNumber/></p:inputText>
<h:outputLabel value="Unidade : " for="txt_und" ></h:outputLabel>
<p:inputText id="txt_und" style="text-transform:uppercase" value="#{itensBean.item.und}" required="true" requiredMessage="Informe o tipo de Unidade !" />
<h:outputLabel value="Valor Unitário : " for="txt_valorUn"></h:outputLabel>
<p:inputText id="txt_valorUn" value="#{itensBean.item.valorUn}" required="true" requiredMessage="Informe o valor unitário !" converterMessage="Use somente NUMEROS no valor unitário !"><f:convertNumber/></p:inputText>
<h:outputLabel value="Descrição : " for="txt_desc"></h:outputLabel>
<p:inputTextarea autoResize="true" id="txt_desc" effectDuration="500" maxHeight="30" value="#{itensBean.item.descricao}" required="true" requiredMessage="Informe a descrição do Item !" />
<p:commandButton update="item:itens,val_total,grid,idid:teste,menu" image="ui-icon ui-icon-disk" value="Cadastrar " action="#{itensBean.save}" >
<p:collector value="#{itensBean.item}" addTo="#{itensBean.itens}" />
</p:commandButton>
<h:column></h:column>
<h:column></h:column>
<p:commandButton value="Salvar" image="ui-icon ui-icon-disk" onclick="dialog.show()" type="button" rendered="#{not empty itensBean.itens}"/>
</h:panelGrid>
</h:form>
</p:panel>
<h:form id="item">
<p:panel toggleable="true" toggleSpeed="200" id="itens" header="Itens Cadastrados">
<p:dataTable value="#{itensBean.itens}" var="item" emptyMessage="Nenhum item inserido" style="text-align: center">
<p:column>
<f:facet name="header">
<h:outputText value="Quantidade" />
</f:facet>
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{item.quantidade}"><f:convertNumber/></h:outputText>
</f:facet>
<f:facet name="input">
<p:inputText value="#{item.quantidade}"> <f:convertNumber/></p:inputText>
</f:facet>
</p:cellEditor>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Unidade" />
</f:facet>
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{item.und}"/>
</f:facet>
<f:facet name="input">
<p:inputText value="#{item.und}"/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Descrição do Produto" />
</f:facet>
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{item.descricao}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{item.descricao}"/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Valor Unitátio" />
</f:facet>
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{item.valorUn}"><f:convertNumber minFractionDigits="2"/></h:outputText>
</f:facet>
<f:facet name="input">
<p:inputText value="#{item.valorUn}"> <f:convertNumber minFractionDigits="2"/></p:inputText>
</f:facet>
</p:cellEditor>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Valor Total" />
</f:facet>
<h:outputText value="#{item.valorTotal}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Excluir" />
</f:facet>
<p:commandButton image="ui-icon ui-icon-trash" update="item:itens,cad:grid">
<p:collector value="#{item}" removeFrom="#{itensBean.itens}" />
</p:commandButton>
</p:column>
<p:column headerText="Alterar">
<p:rowEditor />
</p:column>
</p:dataTable>
<p:graphicText value=" TOTAL GERAL DO PEDIDO R$ #{itensBean.total}" fontName="Tahoma" fontSize="10" style="margin-right: 80%"/>
</p:panel>
</h:form>
</ui:define>
</ui:composition>
BEAN
import java.io.Serializable;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
/**
*
* @author estagio.desenv
*/
@ManagedBean
@ViewScoped
public class ItensBean implements Serializable{
private Itens item = new Itens();
private List<Itens> itens = new ArrayList<Itens>();
public ItensBean() {
}
public void save() {
item = new Itens();
}
public Itens getItem() {
return item;
}
public void setItem(Itens item) {
this.item = item;
}
public List<Itens> getItens() {
return itens;
}
public void setItens(List<Itens> itens) {
this.itens = itens;
}
public String getTotal() {
double val = 0;
for (int x = 0; x < itens.size(); x++) {
val += itens.get(x).getValorTot();
}
DecimalFormat format = new DecimalFormat("00.00");
return format.format(val);
}
public String redirect(){
return "testa_view";
}
}
Mesmo tirando a implementação do deriazable ele da erro, aparentemente funciona normal, mas o pq do erro eu nao sei.
Desde ja fico grato