Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Off Topic (OT)
Problema Java e Tomcat - Sessioni
martedì 07 agosto 2007 - 10.43
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
mauro_roma
Profilo
| Newbie
1
messaggi | Data Invio:
mar 7 ago 2007 - 10:43
Salve, sono nuovo e non so neanche se il forum è quello giusto in cui postare.
Sto seguendo un progetto in Java basato su EJB, il tutto messo su application server Tomcat.
Ho un problema abbastanza serio, che vi posso riassumere cosi :
Da una pagina web lancio la ricerca di alcuni dati impostando dei filtri all'interno della pagina.
Se questa query ci mette molto a tornare un risultato e io cambio i filtri e lancio di nuovo la ricerca cosa succede (ammesso che la seconda ricerca sia piu veloce):
Vengono visualizzati inizialmente i valori estratti dalla prima query, ma poi il recordset lanciato per primo, che nel frattempo ha finito di essere caricato, torna all'application server un insieme di dati che viene messo in sessione...
C'è un modo per risolvere tutto ciò a livello di application server?In sostanza, se una pagina lancia due volte una ricerca, devi considerare solo la seconda...
Grazie Mille.
Mauro.
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 8 ago 2007 - 11:07
>Salve, sono nuovo e non so neanche se il forum è quello giusto
>in cui postare.
Beh qui nell'Off Topic va bene anche se questo è un sito prevalentemente su .NET.
>Se questa query ci mette molto a tornare un risultato e io cambio
>i filtri e lancio di nuovo la ricerca cosa succede (ammesso che
>la seconda ricerca sia piu veloce):
Prima cosa negativa, è che ci mette tanto tempo a ritornare i risultati. Sarebbe l'ideale verificare come è scritta la query, analizzarla, eventualmente applicare se già non ci sono degli indici sulle tabelle, e fare un po' di tuning. Un database che espone dati al pubblico e che ritorna dati con una certa lentezza ha poco significato. Se dopo l'analisi di cui sopra è ancora lenta forse è l'occasione di cambiare o potenziare il server.
Seconda osservazione, non dare la possibilità all'utente di lanciare più volte la pagina o la query e segnalare per esempio "Query in corso... Attendere". Ci sono vari meccanismi sia con applicazioni a finestra che Web.
>Vengono visualizzati inizialmente i valori estratti dalla prima
>query, ma poi il recordset lanciato per primo, che nel frattempo
>ha finito di essere caricato, torna all'application server un
>insieme di dati che viene messo in sessione...
Bella domanda. Credo che il primo vada a morire. Nel momento in cui tu rifai una query, la vecchia connessione al DB non ha più un endpoint e va a morire. Quindi ti arrivano i risultati della seconda query.
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !