`
benni82
  • 浏览: 122299 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

jetty EofException异常原因分析

阅读更多

 

应用的日志发现大量的,

 

org.eclipse.jetty.io.RuntimeIOException: org.eclipse.jetty.io.EofException
....
Caused by: org.eclipse.jetty.io.EofException
....
Caused by: java.io.IOException: Broken pipe
        at sun.nio.ch.FileDispatcher.write0(Native Method)
        at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:29)
        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:104)
        at sun.nio.ch.IOUtil.write(IOUtil.java:60)
        at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:334)
        at org.eclipse.jetty.io.nio.ChannelEndPoint.flush(ChannelEndPoint.java:187)
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint.flush(SelectChannelEndPoint.java:277)
        at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:856)
 

从异常日志可知是jetty准备会写response发现connection已经被关闭导致。

http2.2.15+mod_proxy+jetty7.2.0

 

mod_proxy连接池配置

<IfModule mod_proxy.c>
    ProxyRequests Off
    ProxyPreserveHost On
    <Directory proxy:*>
        Order deny,allow
        Allow from all
    </Directory>
     ProxyPassMatch ^/(module1|module2)/(.*)$  http://localhost:2200  min=5 smax=16 max=64 ttl=600 timeout=30
</IfModule>
 

用tcpdump抓包

 tcpdump -i eth0  -w /tmp/eof.dat port 80

用wireshark分析发现都是client端主动断开

 

 

 

 

 

 

 

 

对这个异常目前的解决方案是,将jetty io类UncheckedPrintWriter crack掉

其中的属性_throwUnchecked=true正式控制异常是否向上抛出的开关,把它修改掉,然后将这个class单独打成jar包。

启动是添加 java -jar start.jar lib=/home/admin    (假设crack的jar包在admin目录下)

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    jetty-io-9.4.43.v20210629-API文档-中英对照版.zip

    赠送jar包:jetty-io-9.4.43.v20210629.jar; 赠送原API文档:jetty-io-9.4.43.v20210629-javadoc.jar; 赠送源代码:jetty-io-9.4.43.v20210629-sources.jar; 赠送Maven依赖信息文件:jetty-io-9.4.43.v20210629....

    jetty服务器性能调整过程分析

    jetty服务器性能调整过程分析jetty服务器性能调整过程分析jetty服务器性能调整过程分析jetty服务器性能调整过程分析

    Jetty源码分析.pdf

    Jetty源码分析.pdf

    jetty的http服务流程分析

    花了两天整理的jetty的源代码分析的草稿,初学jetty的可以下来看看,懂jetty的就不要看了

    jetty相关的全部jar包

    jetty-security-9.4.8.v20171121.jar,jetty-io-9.4.8.v20171121.jar,jetty-continuation-9.4.8.v20171121.jar,jetty-client-9.4.8.v20171121.jar,jetty-jmx-9.4.8.v20171121.jar,jetty-plus-9.4.8.v20171121....

    eclipse jetty插件run-jetty-run-1.3.3

    eclipse jetty插件,从...下载run-jetty-run.zip文件,解压后再编写个links文件丢到eclipse的dropins目录下即可,省去了使用eclipse update方式安装的麻烦。 link文件样例如: path=d:\\eclipse_plugins\\run-jetty-run

    Jetty多版本软件包

    Jetty软件包内容: jetty-distribution-9.4.51.v20230217.tar.gz jetty-distribution-9.4.51.v20230217.zip jetty-home-10.0.15.tar.gz jetty-home-10.0.15.zip jetty-home-11.0.15.tar.gz jetty-home-11.0.15.zip ...

    jetty6 指南书

    jetty是什么 jetty配置 jetty使用 jetty嵌入 jetty启动 jetty部署 jetty教程 jetty嵌入式 jetty

    Jetty cometd(Continuation)学习笔记

    Jetty是一个纯Java实现的开源Servlet容器,Jetty也可以作为HTTP服务器和HTTP客户端,Jetty仪器轻巧...众所周知因为安全的原因,多数浏览器都限制了Ajax跨域请求和javascript加载的时候只能是与当前域下的应用进行交互。

    jetty-distribution-9.4.47.v20220610

    jetty9.4.47用于部署或替换jar升级jetty解决安全漏洞 下载镜像地址https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.4.47.v20220610/

    jetty嵌入式服务器必须的jar包

    jetty嵌入式服务器开发所必须的jar包,本人使用jetty版本为6.1.3,jar包总数为9个,来自jetty:commons-el-1.0.jar,jasper-compiler-5.5.15,jasper-compiler-jdt-5.5.15.jar,jasper-runtime-5.5.15.jar,jetty-...

    jetty相关所有jar包

    jetty相关所有jar包,包含jar包: jetty-continuation-8.1.15.v20140411,jetty-http-8.1.15.v20140411,jetty-io-8.1.15.v20140411,jetty-security-8.1.15.v20140411,jetty-server-8.1.15.v20140411,jetty-util-8.1.15...

    jetty-9.4.6

    jetty-9.4.6

    PDF的JETTY文档

    .jetty

    Jetty配置支持https

    Jetty配置支持HTTPS以及受信网站证书生成方式

    maven集成jetty所需jar包maven-jetty-plugin,多版本

    maven集成jetty必须jar包maven-jetty-plugin,内含多个版本

    jetty 学习资料合集

    jetty 学习资料合集 jetty 学习资料合集 jetty 学习资料合集 jetty 学习资料合集

    i-jetty libs包

    android i-jetty servlet-api-2.5.jar jetty-servlet-7.6.0.RC4.jar jetty-server-7.6.0.RC4.jar jetty-http-7.6.0.RC4.jar

    jetty 9.2.24

    jetty服务器,9.2版本适合java7+开发环境。 Jetty是一个纯粹的基于Java的网页服务器和Java Servlet容器。 尽管网页服务器通常用来为人们呈现文档,但是Jetty通常在较大的软件框架中用于计算机与计算机之间的通信。 ...

    Jetty嵌入项目代码中示例

    Jetty嵌入项目代码中示例,现我有一示例项目 e:/workspace/web-demo(称为project_home),里面的Web根目录是WebContent。 在project_home建一个jetty目录,子目录如:contexts、etc、lib。 把${jetty_home}/etc...

Global site tag (gtag.js) - Google Analytics