Hi, i am new in J2EE technology and i'm big troubles. I have an intranet application (jsp & ejb) running fine with version 1.4.0, i am trying to deploy the same EAR in 1.5.2 version, but i get this error.
com.evermind.server.rmi.OrionRemoteException: Error (de-)serializing object: org.gjt.mm.mysql.jdbc2.ResultSet; nested exception is: java.io.NotSerializableException: org.gjt.mm.mysql.jdbc2.ResultSet This error occurs when i return a ResultSet from a method "executeQuery" of an EJB that manages de mysql db. I have written many jsp, that are in production, and i woud not want to modify them. Is there any solution for this error ? Can i solve this problem if i return a Vector, instead of a ResultSet ? Many thanks in advance and best regards Andres Garcia Hourcade ==================================== EJB ==================================== import java.rmi.*; import java.util.*; import javax.ejb.*; import javax.naming.*; import java.sql.*; import javax.sql.*; import javax.sql.DataSource; // ejb que maneja archivos de log import Log.*; public class DbManagerBean implements SessionBean { transient SessionContext context; transient Connection conn = null; transient DataSource ds = null; transient Statement st = null; transient ResultSet rs = null; public void getConnection(String datasource) throws RemoteException, DbManagerException { try { InitialContext ictx = new InitialContext(); this.ds = (DataSource) ictx.lookup(datasource); this.conn = this.ds.getConnection(); } catch (Exception e) { throw new DbManagerException(e); } } public void closeConnection() throws RemoteException, DbManagerException { try { this.conn.close(); } catch (Exception e) { throw new DbManagerException(e); } } public ResultSet executeQuery(String strsql, String logonuser) throws RemoteException, DbManagerException { st = null; rs = null; try { //ResultSet.TYPE_SCROLL_INSENSITIVE, //ResultSet.CONCUR_READ_ONLY this.st = this.conn.createStatement(); try{ // logeo la consulta InitialContext context = new InitialContext(); LogHome logHome = (LogHome) javax.rmi.PortableRemoteObject.narrow(context.lookup("Log"), LogHome.class); Log log = logHome.create(); log.writeDebug(strsql, logonuser); log.remove(); } catch (Exception e) { throw new DbManagerException(e); } rs = this.st.executeQuery(strsql); // the closing of a statement also closes all // the resultsets asociated with the statement st.close(); } catch (SQLException e) { throw new DbManagerException(e, this.conn); } return (rs); } public void ejbPassivate(){ context = null; conn = null; ds = null; st = null; rs = null; } public void ejbActivate() { } public void ejbRemove() { } public void ejbCreate() { } public void setSessionContext(SessionContext context) { this.context = context; } }