- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 NetBeans 下运行的 WildFly 8.1.0.Final 安装中,我不断收到以下看似随机的错误:
08:51:09,742 ERROR [io.undertow.request] (default task-40) Blocking request failed HttpServerExchange{ GET /web/faces/javax.faces.resource/dynamiccontent.properties}: java.lang.RuntimeException: java.io.IOException: Broken pipe
at io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:527)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:287)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:177)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_20]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_20]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_20]
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method) [rt.jar:1.8.0_20]
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) [rt.jar:1.8.0_20]
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) [rt.jar:1.8.0_20]
at sun.nio.ch.IOUtil.write(IOUtil.java:65) [rt.jar:1.8.0_20]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:470) [rt.jar:1.8.0_20]
at org.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:150) [xnio-nio-3.2.2.Final.jar:3.2.2.Final]
at io.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:531)
at io.undertow.conduits.ChunkedStreamSinkConduit.flush(ChunkedStreamSinkConduit.java:256)
at org.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162) [xnio-api-3.2.2.Final.jar:3.2.2.Final]
at io.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:100)
at org.xnio.channels.Channels.flushBlocking(Channels.java:63) [xnio-api-3.2.2.Final.jar:3.2.2.Final]
at io.undertow.servlet.spec.ServletOutputStreamImpl.close(ServletOutputStreamImpl.java:625)
at io.undertow.servlet.spec.HttpServletResponseImpl.closeStreamAndWriter(HttpServletResponseImpl.java:451)
at io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:525)
... 9 more
请求的页面加载似乎没有问题,因此除了日志中的异常之外,我没有注意到任何中断。有什么想法吗?
最佳答案
我遇到了类似的问题,感谢 this response 的想法,我先进一点吧。我要揭露我的案子。
我正在使用 Java (Java 7) (javax.ws.rs
) 创建 REST API 并将其部署在 JBoss 服务器 (8.x) 上。
我的 Api 响应这些路径:
/myapi/a
/myapi/a?filer=myfilter
所以我这样编码:
private static final String FILTER = "filter";
@GET
@Path("/a")
@Produces(MediaType.APPLICATION_JSON)
public Object
foo(@Context UriInfo requestInfo) {
LOG.info("Http request: GET /myapi/a");
if (requestParameters.getQueryParameters().containsKey(FILTER)) {
return foo(requestInfo.getQueryParameters().get(FILTER));
}
// no params
return ...
}
public Object foo(List<String> filter) {
LOG.info(" > Requested filter");
return ...;
}
但是我有时从服务器(不是我的代码)收到此异常UT005023:对... sessionState的异常处理请求:org.jboss.resteasy.spi.UnhandledException:响应已提交,无法处理由
java.io.IOException引起的异常
:管道损坏
在调查它时,我发现了一些非常有趣的东西:它只能从 Safari 浏览器重现它,而不能从 Chrome 浏览器重现它。所以呢?重点是 Safari 具有 Chrome 所没有的功能:当 Safari 自动完成请求时,它会发送请求。在按下回车按钮之前,Chrome 不会发送请求。这很重要,因为只有在以下情况下才会出现错误:
此时,我不知道原因(它与http header 相关)=>作为stephen-c,问题是你正在尝试做一些需要更改的事情HTTP 响应 header ...发送 header 后
[已编辑]
我几乎可以肯定(99%)我们无法处理该异常。基本上,它表示您丢失了一个请求,并且作为警告,服务器告诉您您不会处理它。
还有另一种方法可以重新创建异常:尝试将手指放在 F5
或 CMD-R
上。您将创建数百个请求...但是您将丢失其中一些请求(与池线程、工作线程等相关),并且您将看到这些丢失请求的异常。 p>
我决定不再担心这个了。
关于wildfly-8 - 是什么导致了 WildFly/Undertow 管道破裂错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26061606/
最近我的 Undertow 应用程序触发 Cloud Run 报告以下内容: Container Sandbox Limitation: Unsupported syscall setsockopt(
要使用 undertow 作为代理服务器来跟踪所有流量(调试目的所需),我目前使用的代码片段如下: Undertow.builder() .addHttpListener(8080, null
当我访问我的网络服务器时,我使用 ResourceHandler 来提供 javascript 文件。现在的问题是,我想提供完全相同的 JavaScript,但在我的 url 中接受/{id},这样当
我正在使用 undertow 开发一个 web 应用程序,并且对 java 相当陌生。运行 ServeletEngine.java 时出现错误。我检查了其他相关帖子,但他们没有解决我的疑问。请帮我。
有没有关于undertow.routing模板格式的文档?我想像这样设置处理程序: / or /index.html -> Use handler 1 Anything else -> Use han
本文整理了Java中io.undertow.server.XnioBufferPoolAdaptor类的一些代码示例,展示了XnioBufferPoolAdaptor类的具体用法。这些代码示例主要来源
本文整理了Java中io.undertow.server.XnioByteBufferPool类的一些代码示例,展示了XnioByteBufferPool类的具体用法。这些代码示例主要来源于Githu
我们目前正在调整使用 undertow 的服务,但找不到以下属性的默认值: server.undertow.worker-threads server.undertow.io-threads 我们了解
我有一个使用各种依赖项的应用程序。这些依赖项都使用了一堆乱七八糟的日志框架。由于我不希望任何库进行任何类型的日志记录,因此我有一个小程序试图将其全部禁用。 这已经运行了一段时间,但最近由于一些不为人知
我正在尝试使用 undertow.io 启动一个简单的 api 服务器API。这是我的启动代码。 this.server = Undertow.builder().addHttpListener(th
我的要求是提供“index.html”,无论请求中设置什么路由。我已经引用了Routing template format for undertow但无济于事。这似乎对人们有用。处理程序看起来像 Pa
我有一个简单的示例,其中我实现了一个访问日志处理程序。它确实记录到控制台。如何配置记录器记录到指定文件? package com.zetcode; import io.undertow.Underto
如 separate question 中所述,当使用Undertow时,所有处理都应该在专用的Worker线程池中完成,如下所示: public class Start { public sta
public class HelloWorldServer { public static void main(final String[] args) { Undertow
我正在尝试提供一个简单的“Hello world!”使用 Undertow 嵌入式服务器通过 HTTPS 使用自签名证书进行响应。但是,我在客户端 (Chrome) 上得到了 ERR_SSL_VERS
我有一个运行嵌入式 Undertow 的 Web 服务,一些处理程序利用常见的 Undertow 模式将请求卸载到工作线程: if (exchange.isInIoThread()) { ex
在 undertow documentation site 上列出的示例中,它展示了如何配置 2 个 servlet 及其映射。但我找不到如何配置默认 Servlet 以允许目录列表和资源服务。 De
我创建了一个网络服务器,允许我的网站通过 API 访问我的游戏数据。我的网络服务器看起来像这样(我正在使用 me.apachenick 框架) public class WebServer {
我正在与 Undertow 合作,我的目标是使用 AWS 实例获得最大吞吐量。 我面临的问题是: 当我使用一个线程数 = 1000 的实例时,我得到的吞吐量为 9900。当我使用两个线程数 = 100
根据the spec Undertow 有一个很好的基于文本的配置。 但是,我没有看到任何如何使用此类配置启动 Undertow 的示例代码。 如何使用 Undertow.builder()... 构
我是一名优秀的程序员,十分优秀!