J'ai rencontré un problème étrange dans une webapp Grails fonctionnant sous Grails:UnsupportedEncodingException jeté lors de l'utilisation de résine et Grails
java.io.UnsupportedEncodingException
est jeté assez souvent en raison de diverses chaînes de codage inconnus (tels que "ISO8859_10"
, "ISO-8859-10"
), et chose étrange est que cela est fait entièrement dans le code résine et Grails. C'est - aucun code personnalisé n'est impliqué lorsque l'exception est levée.
Je ne sais pas si c'est Grails ou le code du conteneur de servlet qui devrait gérer l'exception. Mais je supposerais que l'exception devrait être traitée quelque part et ne pas exploser jusqu'à stderr.
Ceci est l'exception en pleine:
java.io.UnsupportedEncodingException: ISO-8859-10
at com.caucho.vfs.i18n.JDKWriter$OutputStreamEncodingWriter.<init>(JDKWriter.java:112)
at com.caucho.vfs.i18n.JDKWriter.create(JDKWriter.java:79)
at com.caucho.vfs.Encoding.getWriteEncoding(Encoding.java:231)
at com.caucho.server.connection.ToByteResponseStream.setEncoding(ToByteResponseStream.java:137)
at com.caucho.server.connection.AbstractHttpResponse.setLocale(AbstractHttpResponse.java:1683)
at com.caucho.server.connection.HttpServletResponseImpl.setLocale(HttpServletResponseImpl.java: 115)
at javax.servlet.ServletResponseWrapper.setLocale(ServletResponseWrapper.java:139)
at javax.servlet.ServletResponseWrapper.setLocale(ServletResponseWrapper.java:139)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1035)
at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:290)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:114)
Mes questions:
- Si l'exception MANIPULABLES? Si oui, est-ce la responsabilité du conteneur de servlet (Resin) ou du framework web (Grails)?
- Comment voulez-vous résoudre ce problème? (Je préfère ne pas avoir le journal des exceptions encombré avec des exceptions que je ne peux rien faire.)