Pessoal,
Quando eu faco um deploy no meu codigo, ele me gera essa exception, porem meu codigo roda, mas nao sei como concertar isso, segue a exception
java.io.NotSerializableException: SWEntObj.SWEmptyField
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
at java.util.HashMap.writeObject(HashMap.java:985)
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:585)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:890)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1333)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1415)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:902)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:539)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:485)
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:687)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4496)
at org.apache.catalina.core.ContainerBase.destroy(ContainerBase.java:1213)
at org.apache.catalina.core.StandardContext.destroy(StandardContext.java:4602)
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:585)
at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:149)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
at org.jboss.web.tomcat.tc5.TomcatDeployer.performUndeployInternal(TomcatDeployer.java:414)
at org.jboss.web.tomcat.tc5.TomcatDeployer.performUndeploy(TomcatDeployer.java:385)
at org.jboss.web.AbstractWebDeployer.stop(AbstractWebDeployer.java:367)
at org.jboss.web.WebModule.stopModule(WebModule.java:79)
at org.jboss.web.WebModule.stopService(WebModule.java:45)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStop(ServiceMBeanSupport.java:319)
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:223)
at sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:197)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:884)
at $Proxy18.stop(Unknown Source)
at org.jboss.system.ServiceController.stop(ServiceController.java:496)
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:585)
at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:197)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
at $Proxy35.stop(Unknown Source)
at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:394)
at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:498)
at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:471)
at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:466)
at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:439)
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:585)
at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:197)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
at $Proxy8.undeploy(Unknown Source)
at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:334)
at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:454)
at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201)
at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:212)
at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:191)
14:35:35,915 INFO [TomcatDeployer] deploy, ctxPath=/pc020018, warUrl=file:/D:/dev/srv/jboss-3.2.6/server/default/tmp/deploy/tmp707pc020018.war/
14:35:39,319 ERROR [ManagerBase] IOException while loading persisted sessions: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: SWEntObj.SWEmptyField
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: SWEntObj.SWEmptyField
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1303)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
at java.util.HashMap.readObject(HashMap.java:1013)
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:585)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:919)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1813)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1342)
at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:885)
at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:416)
at org.apache.catalina.session.StandardManager.load(StandardManager.java:343)
at org.apache.catalina.session.StandardManager.start(StandardManager.java:657)
at org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:499)
at org.apache.catalina.startup.ContextConfig.managerConfig(ContextConfig.java:315)
at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:635)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:216)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4290)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
at sun.reflect.GeneratedMethodAccessor117.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:149)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
at org.apache.catalina.core.StandardContext.init(StandardContext.java:5441)
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:585)
at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:149)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
at org.jboss.web.tomcat.tc5.TomcatDeployer.performDeployInternal(TomcatDeployer.java:316)
at org.jboss.web.tomcat.tc5.TomcatDeployer.performDeploy(TomcatDeployer.java:76)
at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:320)
at org.jboss.web.WebModule.startModule(WebModule.java:62)
at org.jboss.web.WebModule.startService(WebModule.java:40)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
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:585)
at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
Quem pode me ajudar ?
valew
keller
Abril 6, 2006, 2:45pm
#2
java.io.NotSerializableException
Chute: Talvez sua classe tenha que implementar Serializable.
Valeu? Até… :thumbup:
[s]
Descupe a ignorancia ! mas eu tenho que iimplementar o Serializable, mas em que momento eu faco isso ?? na chamada do meu metodo ??
valew
public class MinhaClasse implements Serializable {
...
}
antiga mensagem do ‘Fox McCloud’
Ela (interface Serializable) não só pode ser implementada como nasceu para isso (daí a palavra implements). O que uma interface não pode ser é instanciada (new). Peguemos o exemplo da interface Runnable. Você simplesmente não pode fazer Runnable r = new Runnable(). É preciso criar uma classe que implemente Runnable se você quiser utilizá-la. Existem exceções, no caso da interface ser utilizada como uma classe implícita (um MouseListener, por exemplo), mas isso já está bem à frente dessa nossa conversa.
No livro de certificação Java 5 da Cathy Sierra ela dá uma explicação muito interessante: ela diz que uma interface é um “contrato”. Quando uma classe implementa uma interface ela está assinando um contrato, se comprometendo a implementar os métodos definidos na interface. A interface define o método, inclusive com argumentos, mas não diz nada sobre a sua implementação (na interface a declaração termina com ponto-vírgula, e não abre uma chave para iniciar a colocação de linhas de código).
Detalhes interessantes: todo método de uma interface é implicitamente public abstract, colocando-se ou não esses modificadores, e toda variável de uma interface (porque a interface também pode ter variáveis) é implicitamente public static final, colocando-se ou não esses modificadores.
Segue exemplo:
[code]public interface Atualizavel{
void atualiza();
}
public class Jogo implements Atualizavel{
public void atualiza(){
// linhas de código
}
}[/code]
Se a classe Jogo implementar a interface Atualizavel, a não-implementação dos métodos da interface (no caso atualiza()) gerará um erro de compilação.
Saca esse exemplo do Thingol
[code]import java.io .*;
class Client implements Serializable {
private String name;
private String address;
public String getName() { return name; }
public String getAddress() { return address; }
public void setName(String name) { this.name = name; }
public void setAddress(String address) { this.address = address; }
public String toString() { return “name=’” + name + "’ and address= " + address + “’”; }
}
public class Test17 {
public static void main(String[] args) throws Exception {
ObjectOutputStream oos = new ObjectOutputStream (new FileOutputStream ("test.bin"));
Client myClient = new Client();
myClient.setName("Steve Jobs");
myClient.setAddress("1 Infinite Loop; Cupertino, CA 95014");
oos.writeObject (myClient);
oos.close();
ObjectInputStream ois = new ObjectInputStream (new FileInputStream ("test.bin"));
Client yourClient = (Client) ois.readObject();
System.out.println (yourClient);
}
}[/code]
Achei pelo cache do Google nesse forum