从受管 Bean 发布时"[Parameters] Parameters : Invalid chunk ignored"警告



我正在从托管bean内打开HttpURLConnection以发布到外部服务。当我呼叫HttpUrlConnection.getInputStream()时,我得到以下警告:

WARN [Parameters]参数:Invalid chunk ignored

一切都很好,但是我想把这些警告从我们的日志中删除。是什么导致了这个警告,我该如何阻止它的发生?

相关代码如下:

@ManagedBean
@SessionScoped
public class MyController {
  private void doStuff() {
    ...
    URL url = new URL(externalServiceUrl);
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setDoOutput(true);
    conn.setDoInput(true);
    wr = new OutputStreamWriter(conn.getOutputStream());
    wr.write(postData);
    wr.flush();
    InputStream is = conn.getInputStream(); // Warning logged after this line
    ...
  }
}

只要查询字符串包含无效块,例如没有名称的请求参数,就会出现此警告:

name1=value1&=value2&name3=value3

或者在您的特殊情况下,在开始的&(本质上,第一个块是无效的):

&name1=value1&name2=value2&name3=value3

根据评论,你似乎是http连接到一个服务,运行在相同的容器和日志到相同的日志文件。此警告实际上来自服务容器本身,而不是来自HttpURLConnection

我通过添加:

将此警告从日志中删除
<category name="org.apache.tomcat.util.http.Parameters">
  <priority value="ERROR"/>

到我的jboss-log4j.xml配置文件。

相关内容

  • 没有找到相关文章

最新更新