Erro na session

3 respostas
T

Coloco uma ArryList de serviços na sessão do cliente, e funciona tudo bem. Mas derrepente aparece esse erro no eclipse.
Erro.

WARNING: Cannot serialize session attribute servicos for session 91B99CD8E7C3FACF6A771B9A6B715AFC
java.io.NotSerializableException: model.Servico
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
	at java.util.ArrayList.writeObject(ArrayList.java:570)
	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:1478)
	at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:948)
	at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:517)
	at org.apache.catalina.session.StandardManager.unload(StandardManager.java:463)
	at org.apache.catalina.session.StandardManager.stop(StandardManager.java:667)
	at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4360)
	at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3019)
	at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:432)
	at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1278)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
	at java.lang.Thread.run(Thread.java:619)

ArrayList de serviço na sessão.

sessionCliente.setAttribute("lista_servico",servicos);
RequestDispatcher rd = request.getRequestDispatcher("solicitacao_servico.jsp");
rd.forward(request, response);

Alguém saber pq?

3 Respostas

G

Aparentemente você esqueceu de implementar a interface Serializable nessa classe Serviço.

T

Obrigado. Deve ser isso mesmo.
Valeu. 8)

T

Mais uma coisa.
Coloco essa lista de serviços na sessão do cliente por que para cada cliente os serviços tem um preço diferente.
Depois que o cliente finaliza a sua slicitação seria legal remover essa lista da sessão?

Criado 19 de outubro de 2008
Ultima resposta 19 de out. de 2008
Respostas 3
Participantes 2