Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797

    Bean, arraylist/list/vector

    Salve gente,
    sto creando un bean per la mia applicazione. Ora, il tomcat, se faccio partire l'applicazione, la chiudo e riparto mi dice java.io.NotSerializableException.
    adesso ho messo tutte vector al posto di arraylist, che nn è serializzabile. il problema era quello? quindi nei bean nn vanno usati gli arraylist?

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    ArrayList e' serializzabile.
    Da documentazione ufficiale:
    java.util
    Class ArrayList

    java.lang.Object
    extended byjava.util.AbstractCollection
    extended byjava.util.AbstractList
    extended byjava.util.ArrayList

    All Implemented Interfaces:
    Cloneable, Collection, List, RandomAccess, Serializable

  3. #3
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    e allora che diavolo vuole tomcat?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Boh, senza codice e' un po' difficile indovinare. Magari hai messo nella lista un dato non serializzabile. Non basta che sia serializzabile la struttura dati, lo devono essere anche i singoli elementi.

  5. #5
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    codice:
    13-ago-2007 11.50.14 org.apache.catalina.session.StandardSession writeObject
    AVVERTENZA: Cannot serialize session attribute questionarioForm for session 557FECAF03071002B3BA62ECA4731019
    java.io.NotSerializableException: it.enginsoft.qo.bean.Questionario_presentazione
    	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 org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1515)
    	at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:959)
    	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:4499)
    	at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:924)
    	at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1180)
    	at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1151)
    	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:313)
    	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    	at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1086)
    	at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1098)
    	at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:448)
    	at org.apache.catalina.core.StandardService.stop(StandardService.java:584)
    	at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
    	at org.apache.catalina.startup.Catalina.stop(Catalina.java:616)
    	at org.apache.catalina.startup.Catalina.start(Catalina.java:591)
    	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 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
    13-ago-2007 12.17.47 org.apache.catalina.core.StandardWrapperValve invoke
    è l'errore.. questa la classe (adesso ho i vector, prima arraylist):


    codice:
    package it.enginsoft.qo.bean;
    
    import java.util.List;
    import java.util.Vector;
    
    public class Questionario_presentazione {
    
        private String domanda;
        private String modulo;
        private String titolo;
        private List risposte = new Vector();
        
        /** Creates a new instance of Questionario_presentazione */
        public Questionario_presentazione() {
        }
    
        public String getModulo() {
            return modulo;
        }
    
        public void setModulo(String modulo) {
            this.modulo = modulo;
        }
    
        public String getDomanda() {
            return domanda;
        }
    
        public void setDomanda(String domanda) {
            this.domanda = domanda;
        }
    
        public String getTitolo() {
            return titolo;
        }
    
        public void setTitolo(String titolo) {
            this.titolo = titolo;
        }
    
        public List getRisposte() {
            return risposte;
        }
    
        public void setRisposte(List risposte) {
            this.risposte = risposte;
        }
        
    }

  6. #6
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    il problema si presenta perchè sono classi di bean per query di ibatis.
    ma come risolvo? se c'è da risolvere?

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Per essere serializzabile, una classe deve implementare Serializable.

  8. #8
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    Originariamente inviato da simo7784
    Per essere serializzabile, una classe deve implementare Serializable.
    si ma è un bean per le query di ibatis

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    E' quindi? C'è qualche vincolo che rende un bean non serializzabile (non uso Ibatis, ma mi sembra un controsenso).
    codice:
    package it.enginsoft.qo.bean;
    
    import java.util.List;
    import java.util.Vector;
    
    public class Questionario_presentazione implements Serializable{
    
        private String domanda;
        private String modulo;
        private String titolo;
        private List risposte = new Vector();
        
        /** Creates a new instance of Questionario_presentazione */
        public Questionario_presentazione() {
        }
    
        public String getModulo() {
            return modulo;
        }
    
        public void setModulo(String modulo) {
            this.modulo = modulo;
        }
    
        public String getDomanda() {
            return domanda;
        }
    
        public void setDomanda(String domanda) {
            this.domanda = domanda;
        }
    
        public String getTitolo() {
            return titolo;
        }
    
        public void setTitolo(String titolo) {
            this.titolo = titolo;
        }
    
        public List getRisposte() {
            return risposte;
        }
    
        public void setRisposte(List risposte) {
            this.risposte = risposte;
        }
        
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.