Ho due domande, una stupida relativa a jsp, una a oracle 9i lite.
Domanda stupida: sono in una pagina jsp. come faccio il redirect verso un'altra pagina? ho una if che esprime la condizione che determina se quella pagina deve essere visualizzata oppure no. Quindi mi serve una cosa del genere:
if ( !condizione) redirect("/errore.jsp");
Ho provato response.sendRedirect ma non funziona, viene comunque caricata la pagina.
Domanda meno stupida:
Sto testando i vari livelli di isolamento per fare certe transazioni.
In una classe di test, ho un metodo che fa una select, poi lo forzo ad attendere (ad esempio con una lettura da tastiera). Il codice e' una cosa del genere:
codice:
Connection conn = .....
Statement s = conn.createStatement();
conn.setAutoCommit(false);
conn.setIsolationLevel(Connection.SERIALIZABLE);
s.executeQuery(UNA_SELECT_STUPIDA);
in.readLine(); //si blocca in attesa di input da tastiera
conn.setAutoCommit(true);
conn.setIsolationLevel(default);
All'interno di questa transazione, mentre questa e' bloccata in attesa di input, mi connetto tramite msql, e provo a cancellare una riga, ad esempio quella referenziata dalla query. Mi aspetterei, poichè i llivello di isolamento della transazione e' serializzabile, che la connessioni manuale tramite msql rimanesse in attesa finchè la prima non ha ripristinato l'isolamento di default...invece da msql cancello tranquillamente quella riga. E questo non e' bene -.-
Pensavo che potesse essere perchè il livello serializzabile si riferisce solo a quella istanza di connessione, per cui tutte le altre sono indipendenti da quell'isolamento...ma se cosi fosse come faccio a gestire la concorrenza tra piu connessioni?