IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

[Sream]OutputStream et IOException


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2004
    Messages : 12
    Par défaut [Sream]OutputStream et IOException
    Hello !
    J'ai un petit soucis avec un OutputStream: l'application sur laquelle je bosse contient une jsp qui affiche des images. Ces images viennent d'une DB stockées dans un blob (eh oui, c'est comme ça, j'y peux rien).
    Ma servlet va chercher le blob, met le contenu dans un output stream et envoit ça à la jsp qui affiche l'image. Ca marche presque bien sauf que de temps en temps j'ai une IOException qui est levée mais en fait ca pollue mes log mais ça n'a pas d'impacte sur l'application qui marche très bien. Cette exception est levée lors du flush.
    Mon problème c'est que je n'arrive pas à trouver les cas ou cela arrive afin de le traiter correctement. Je pourrais bien catcher l'exception et la cacher mais c'est pas très joli.
    Est-ce que quelqu'un a deja rencontré ce problème ?
    Voici le code concerné:

    try{
    PRIZEID pzId = new PRIZEID();
    pzId.setPrizeId(prizeId);
    ORIGINALSIZE size = new ORIGINALSIZE();
    size.setOriginalSize(originalSize);
    incentiveMgr.readImage(pzId, out, size); //Ici on recupere le blob qu'on met dans out
    out.flush(); //Et là ça merde
    } catch (java.io.IOException ioe){
    //Nothing to do, sometimes IOException is raised but has no consequence.
    }
    Merci d'avance pour votre aide !

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 239
    Par défaut
    Salut,

    pourrais-tu afficher le message de l'exception IOException ?

    Merci

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2004
    Messages : 12
    Par défaut
    Voilà la stack trace, c'est toujours pas résolu :-(


    java.net.SocketException: Connection reset by peer: socket write error
    at org.apache.coyote.tomcat5.OutputBuffer.realWriteBytes(OutputBuffer.java:374)
    at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:398)
    at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:318)
    at org.apache.coyote.tomcat5.OutputBuffer.writeBytes(OutputBuffer.java:402)
    at org.apache.coyote.tomcat5.OutputBuffer.write(OutputBuffer.java:389)
    at org.apache.coyote.tomcat5.CoyoteOutputStream.write(CoyoteOutputStream.java:76)
    at com.orange.ola.incentive.IncentiveManager.readImage(IncentiveManager.java:636)
    at com.orange.ola.incentive.IncentiveServlet.processRequest(IncentiveServlet.java:414)
    at com.orange.ola.incentive.IncentiveServlet.doGet(IncentiveServlet.java:542)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.orange.ola.aceAdminManager.client.RSAClientFilter.doFilter(RSAClientFilter.java:51)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.orange.ola.filters.OLAServletFilter.doFilter(OLAServletFilter.java:106)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:535)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:534)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2004
    Messages : 12
    Par défaut
    Je viens de comprendre un truc: si j'essaye de mettre dans mon outputstream des données provenant d'un blob et que ces données dépassent une certaine taille ca fait peter une socket exception. Et la taille en question est vraiment pas grande. Dans mon cas, si je met une image dans le blob qui depasse 10ko ca pete.
    Est-ce que quelqu'un a une idée comment faire pour augmenter cette limite ?

Discussions similaires

  1. [Stream] OutputStream -> InputStream
    Par anykeyh dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 22/11/2005, 22h20
  2. [Image] image -> jpg -> OutputStream
    Par keil dans le forum Entrée/Sortie
    Réponses: 18
    Dernier message: 09/11/2005, 14h36
  3. [Stream] Transformer un OutputStream en InputStream
    Par kevredon dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 18/06/2005, 12h20
  4. StringBuffer append Character = IOException ??
    Par KiLVaiDeN dans le forum Langage
    Réponses: 8
    Dernier message: 03/06/2005, 14h25
  5. Transformer un OutputStream en un InputStream
    Par glRaZ dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 29/04/2004, 11h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo