我們有一個部署到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