Salve a tutti, sto realizzando un applicazione che lavori su un'archietettura clients/server, utilizzando rmi. Il database è stato realizzato attraverso hsqldb, e risiede nel server. Dal client riesco ad accedere al database, infatti ho utilizzato la classe Database che ho trovato nelle Pillole, ne ho creato l'interfaccia è l'ho "remotizzata", nel senso che dal client posso chiamare i metodi di questa classe. Il mio problema nasce nel momento in cui voglio fare la stampa dal client. Io utilizzo i report e la classe per la stampa è la seguente:

codice:
public StampaCliente(String codCliente, IDatabase db) {
        try {
            //Carica il file jrxml e lo compila
            String fileJrxml = getClass().getResource("/report/ClientiReport.jrxml").getFile();
            JasperReport jasperReport = JasperCompileManager.compileReport(fileJrxml);

            //Crea un Map di parametri da passare al report
            Map<String, String> parameters = new HashMap<String, String>();
            parameters.put("codcliente", codCliente);
            parameters.put("SUBREPORT_DIR", getClass().getResource("/report/").getFile());
            parameters.put("IMM_PATH", getClass().getResource("/report/logo.gif").getFile());

            //Crea la connessione al DataBase
            Connection conn = db.getConnection();

            //Crea il JasperPrint
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, conn);

            //Visualizza il report nella finestra di anteprima di JasperReport
            JasperViewer.viewReport(jasperPrint, false);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(StampaCliente.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(StampaCliente.class.getName()).log(Level.SEVERE, null, ex);
        } catch (JRException ex) {
            Logger.getLogger(StampaCliente.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
Questo genera un eccezione in corrispondenza di:

codice:
Connection conn = db.getConnection();
L'eccezione è di unmurshalling, non riesce a serializzare l'oggetto org.hsqldb.jdbcDriver.

Ho provato a inserire implements Serializable nella classe Database, ma niente. Ho provato ad utilizzare transient nella Connessione ma niente. Qualcuno sa darmi una mano?