2011-11-07 15 views
8

Sto lavorando su un progetto di Enterprise con Java EE 5 e JSF 2.0 (Mojarra 2.0.3) su Weblogic 10.3.3JSF1064 "Impossibile trovare o servire risorsa" avvertimento sul JSF 2.0

non lo faccio avere un errore, ma un avviso molto fastidioso nella mia console quando si passa attraverso la mia applicazione.

Ogni volta che mi esibisco in un redirect JSF, ottengo un avvertimento nel mio console del seguente modulo:

Nov 7, 2011 5:36:46 PM com.sun.faces.application.resource.ResourceHandlerImpl logMissingResource 
WARNING: JSF1064: Unable to find or serve resource, images/jquery-theme/ui-icons_cc0000_256x240.png. 
Nov 7, 2011 5:36:46 PM com.sun.faces.application.resource.ResourceHandlerImpl logMissingResource 
WARNING: 
java.net.SocketException: Software caused connection abort: socket write error 
    at java.net.SocketOutputStream.socketWrite0(Native Method) 
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) 
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136) 
    at weblogic.servlet.internal.ChunkOutput.writeChunkTransfer(ChunkOutput.java:507) 
    at weblogic.servlet.internal.ChunkOutput.writeChunks(ChunkOutput.java:486) 
    at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:382) 
    at weblogic.servlet.internal.ChunkOutput$2.checkForFlush(ChunkOutput.java:580) 
    at weblogic.servlet.internal.ChunkOutput.write(ChunkOutput.java:306) 
    at weblogic.servlet.internal.ChunkOutputWrapper.write(ChunkOutputWrapper.java:146) 
    at weblogic.servlet.internal.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:138) 
    at java.nio.channels.Channels$WritableByteChannelImpl.write(Channels.java:275) 
    at com.sun.faces.application.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:277) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310) 

Ma nella mia richiesta, la risorsa è visualizzata correttamente. Non so perché questo avviso viene mostrato, quando l'immagine viene caricata senza problemi. Ho letto su un forum di icefaces che potrebbe essere correlato ai tag <h:outputScript/> o <h:outputStylesheet/>.

Questo è il mio utilizzo di questi tag:

<h:outputStylesheet name="jquery-theme/jquery-ui-1.8.16.custom.css" library="css"/> 

e

<h:outputScript name="jquery-ui-1.8.16.custom.min.js" library="js"/> 

Questi file sono nelle cartelle src/main/resources/css e src/main/resources/js, rispettivamente, e ancora una volta, siano correttamente caricati e visibile nella codice sorgente della pagina. Voglio solo sbarazzarmi di questi avvertimenti nella mia console.

risposta

8

java.net.SocketException: software ha causato l'interruzione della connessione: errore di scrittura presa

La connessione è stata interrotta mentre la risorsa era ancora scaricano occupato. Ciò può accadere quando, ad esempio, si naviga su una pagina diversa, oppure si preme Esc o si chiude la finestra del browser mentre il browser è ancora impegnato a scaricare tutte le risorse.

Ho controllato il codice sorgente Mojarra e vedere quanto segue in ResourceHandlerImpl#handleResourceRequest() (linee 292-294 in Mojarra 2.1.3):

} catch (IOException ioe) { 
    send404(context, resourceName, libraryName, ioe, true); 
} 

Così, il IOException a scrivere la risposta è stato catturato e forzatamente trattati come a 404. Personalmente, questo dovrebbe essere stato ignorato o delegato al servlettaintainer da throws IOException, non forzatamente trasformato in un errore HTTP 404.

Ho segnalato questo come issue 2241 i ragazzi di Mojarra. Fino ad allora, non si può fare molto contro di esso, ma potrebbe essere utile sapere che tali avvisi non verranno registrati quando lo javax.faces.PROJECT_STAGE è impostato su Production anziché su Development. Invece, verrà registrato come FINE.

+0

Questo [image] (http://i.imgur.com/0m1fU.png) può forse aiutarti di più a capire il problema. Inoltre, questo sta accadendo solo in IE9 e non in Chrome (non so su altri browser) ... Le richieste contrassegnate come "abortite" nell'immagine sono quelle che stanno causando gli avvertimenti. –

+2

Continuo a vedere che viene registrato con PROJECT_STAGE impostato su Produzione –

Problemi correlati