2010-05-05 25 views
10

Sto ottenendo il seguente errore:Che cosa significa l'eccezione "javax.servlet.jsp.JspException: Broken pipe"?

 
javax.servlet.jsp.JspException: Broken pipe 

Ora che ho visto domande/risposte con gli aspetti a eccezione presa, ma questo errore è proveniente da un pacchetto diverso. Qualsiasi aiuto è molto apprezzato.
BTW, sto vedendo un sacco di questi errori in un'app web di puntamenti log Weblogic Node e penso che abbia a che fare con gli utenti finali che chiudono il loro browser prima che la pagina ricarichi/esegua il passaggio successivo (transazione di database che richiede un bel po 'di tempo per l'esecuzione, ovunque da 30 secondi a 4 minuti).

risposta

10

I am thinking that it has to do with end users closing their web browser before the page reloads/executes the next step

Sei completamente corretto. Questa eccezione verrà generata quando il client interrompe la richiesta corrente allontanandosi, chiudendo la scheda/finestra, aggiornando la richiesta, ecc. mentre la richiesta è ancora in esecuzione. In altre parole, il client ha chiuso bruscamente la connessione e il lato server non può più scrivere/svuotare alcun byte. Normalmente è uno IOException come la causa principale, di solito nel sapore di una sottoclasse specifica di servlettaintain come ClientAbortException in caso di Tomcat e cloni. Se analizzi l'intero stacktrace nei log del server, lo troverai da qualche parte in basso.

1

Sono sicuro che il pacchetto sottostante utilizza internamente le pipe per trasferire il risultato da a a b. Ora B (il ServletOutputStream) si chiude e l'altra estremità della pipe lo notifica lanciando questa eccezione.

1

HTTPRequest viene gestito da una catena di servlet collegate tra loro tramite tubi. Quando il browser abbandona la connessione e la presa viene chiusa, viene catturato dal livello di gestione della concatenazione servlet. Il servlet probabilmente sta intercettando indirettamente l'eccezione chiusa del socket e lo sta rendendo come il tubo rotto. Guarda qualsiasi eccezione avvolta per maggiori dettagli.

-1

Succede quando l'utente fa clic su interrompe, o si disconnette o in caso contrario interrompe prematuramente la connessione. Possiamo ignorare questa eccezione.