我们有一个部署到JBoss 5.0.1 GA的java web应用程序。有时候,我们看到从我们的服务器日志中这样的例外奇怪的illegalArgumentException根源于JBoss 5.0.1 GA
java.lang.IllegalArgumentException
at java.nio.Buffer.position(Buffer.java:216)
at org.apache.tomcat.util.buf.B2CConverter.convert(B2CConverter.java:84)
at org.apache.catalina.connector.InputBuffer.realReadChars(InputBuffer.java:403)
at org.apache.tomcat.util.buf.CharChunk.substract(CharChunk.java:416)
at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:432)
at org.apache.catalina.connector.CoyoteReader.read(CoyoteReader.java:105)
at org.apache.catalina.connector.CoyoteReader.readLine(CoyoteReader.java:158)
....
从我们的部分引发异常的代码是
public static String getStringFromRequest(HttpServletRequest request) {
String data = "";
try {
BufferedReader reader = request.getReader();
StringBuilder sb = new StringBuilder();
// the line below is the the line that blows the exception
String line = reader.readLine();
while (line != null) {
sb.append(line + "\n");
line = reader.readLine();
}
reader.close();
data = sb.toString();
}
catch (IOException e) {
...
}
return data;
}
我们从来没有见过这样的异常在我们的测试环境。只有在生产中,交通绝对会更重。有没有人见过这个?如果我们知道什么可能触发异常,那么我们知道如何重现和修复异常会非常有帮助。任何提示/帮助深表感谢
非常感谢Federico。真的很感激它。你碰巧知道如何重现错误,即在什么情况下JBoss会吐出这个错误?我想知道,所以我可以确定事情是固定的,否则我将不得不长时间穿过手指以确保它不再出现 – gigi2 2014-12-08 19:35:01