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

纠结的mod_jk与jetty的组合

    博客分类:
  • java
阅读更多

最近,公司要尝试jetty,我们几个人凑在一块做一下jetty相关的测试. 希望可以用轻量级的jetty替换Jboss , tomact,目前还是小步前进,还是以jetty软件的形式引入,以后Embed Jetty也会是一种方向,真正做到轻量级。


我这边主要测试一下, mod_jk与Jetty链接(以前一直都是用mod_jk 1.2.18)

配置形式: Apache 2.2 + mod_jk 1.2.18 + Jetty 7.1.5

我这里不详细描述具体的安装配置过程,这类教程网上一搜一大把,只记录重点的几个配置和遇到的问题,头痛中。。。


1. Apache 2.2配置

......
Include /home/admin/benni/script/config/mod_jk.conf
......

 

2. mod_jk 1.2.18配置

 

 

LoadModule jk_module /usr/alibaba/httpd/mod_jk.so
JkLogFile "|/usr/alibaba/cronolog/sbin/cronolog /home/admin/output/logs/jk_logs/mod_jk.log.%w"
JkLogLevel error
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

JkOptions +ForwardURICompatUnparsed
JkOptions +ForwardDirectories

JkMountCopy All
JkShmFile /home/admin/output/jk.shm

.....

JkWorkerProperty worker.list=localnode

JkWorkerProperty worker.localnode.port=7011
JkWorkerProperty worker.localnode.host=localhost
JkWorkerProperty worker.localnode.type=ajp13
JkWorkerProperty worker.localnode.lbfactor=1

JkWorkerProperty worker.localnode.socket_keepalive=True
JkWorkerProperty worker.localnode.socket_timeout=20

JkWorkerProperty worker.localnode.connection_pool_minsize=25
JkWorkerProperty worker.localnode.connection_pool_timeout=600

 

 

3. Jetty 配置

 

 

<Call name="addConnector">
          <Arg>
              <New class="org.eclipse.jetty.ajp.Ajp13SocketConnector">
                   <Set name="port">7011</Set>
                   <!--
                   <Set name="maxIdleTime">600000</Set>
                   <Set name="acceptQueueSize">256</Set>
                   <Set name="statsOn">false</Set>
                   <Set name="confidentialPort">8443</Set>
                   <Set name="lowResourcesMaxIdleTime">5000</Set>
                   <Set name="responseBufferSize">65536</Set>
                   -->
              </New>
          </Arg>
    </Call>
 

 

 

出现的问题:

 

1. Jetty日志:

 

java.io.IOException: FULL
        at org.eclipse.jetty.ajp.Ajp13Parser.fill(Ajp13Parser.java:199)
        at org.eclipse.jetty.ajp.Ajp13Parser.parseNext(Ajp13Parser.java:553)
        at org.eclipse.jetty.ajp.Ajp13Parser.parseAvailable(Ajp13Parser.java:156)
        at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:424)
        at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:241)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
        at java.lang.Thread.run(Thread.java:619)

 2. mod_jk wrong message

[Wed Oct 20 19:49:34 2010][20298:1599269184] [error] ajp_connection_tcp_get_message::jk_ajp_common.c (1212): wrong message size 8195 8192 from 127.0.0.1:7011
[Wed Oct 20 19:49:34 2010][20298:1599269184] [error] ajp_get_reply::jk_ajp_common.c (1992): (localnode) Tomcat is down or network problems. Part of the response has already been sent to the client
[Wed Oct 20 19:49:34 2010][20298:1599269184] [error] ajp_connection_tcp_get_message::jk_ajp_common.c (1212): wrong message size 8195 8192 from 127.0.0.1:7011
[Wed Oct 20 19:49:34 2010][20298:1599269184] [error] ajp_get_reply::jk_ajp_common.c (1992): (localnode) Tomcat is down or network problems. Part of the response has already been sent to the client
[Wed Oct 20 19:49:34 2010][20298:1599269184] [error] ajp_service::jk_ajp_common.c (2466): (localnode) connecting to tomcat failed.
 

  3. mod_jk  can't receive the response body

[Wed Oct 20 19:50:00 2010][21270:1598732608] [error] ajp_connection_tcp_get_message::jk_ajp_common.c (1242): (localnode) can't receive the response body message from tomcat, network problems or tomcat (127.0.0.1:7011) is down (errno=11)
[Wed Oct 20 19:50:00 2010][21270:1598732608] [error] ajp_get_reply::jk_ajp_common.c (1992): (localnode) Tomcat is down or network problems. Part of the response has already been sent to the client
[Wed Oct 20 19:50:00 2010][21270:1598732608] [error] ajp_service::jk_ajp_common.c (2466): (localnode) connecting to tomcat failed

 

最后:

查询了相关资料,发现网上还是有很多人出现了类似的情况,目前一直还未解决问题,先记录着,等以后解决

 

几点建议:

1.  jetty使用jetty 7.1.6, 修复了几个问题,可查看 changeLog 

2.  关注下jdk 1.6中nio的bug ,  JDK1.6+Problems , 可能会出现类似mail list提到的问题,cpu使用100%, 具体查看http://dev.eclipse.org/mhonarc/lists/jetty-users/msg00613.html

 

 

 

相关资料:

分享到:
评论
4 楼 agapple 2011-04-03  
weifly 写道
应该是jetty的一个bug

https://bugs.eclipse.org/bugs/show_bug.cgi?id=341694


可能是,我在公司里当时选的是7.2.0版本,当时应该算最新的版本了。

jetty的版本升级太快了,即说明了作者很勤快,也同样暴露小问题很多。

至少在我们使用中也修复了几个jety bug,通过classload控制加入了一些我们写的代码
3 楼 weifly 2011-04-02  
应该是jetty的一个bug

https://bugs.eclipse.org/bugs/show_bug.cgi?id=341694
2 楼 agapple 2011-04-01  
weifly 写道
mod_j + jetty的问题解决了吗?

我这里是 apache httpd 2.2 + jetty7.3

对于静态内容是能正常访问的,对于*.jsp内容会有问题


功能上是正常的,就是有这样的异常日志。 非常抱歉,最后没有继续跟进解决。

目前我们最后使用了apache2.2.15 + mod_proxy + jetty的方式替换了原先的mod_jk,稳定性用着也不错。
1 楼 weifly 2011-04-01  
mod_j + jetty的问题解决了吗?

我这里是 apache httpd 2.2 + jetty7.3

对于静态内容是能正常访问的,对于*.jsp内容会有问题

相关推荐

    Eclipse_Maven_Jetty配置

    Eclipse作为一款流行的集成开发环境(IDE),结合Maven(一种项目管理工具)与Jetty(一款开源的Servlet容器),能够提供高效的开发流程。本文将详细介绍如何在Eclipse中配置Maven与Jetty,实现快速启动和调试Web...

    Eclipse+_maven_+_jetty_开发web

    Eclipse、Maven和Jetty是当前流行的软件开发工具和框架,它们可以高效地协同工作于Web项目的开发过程中。本知识点将详细介绍如何结合这三个工具开发Web项目。 Eclipse是一个开源的集成开发环境(IDE),它广泛用于...

    i-server-common.rar_android_androidsslso_httpclient_jetty_mina

    3. Jetty:Jetty是一个开源的Java Web服务器和Servlet容器。它轻量级、高效且易于集成。在Android环境中,Jetty可以用于创建嵌入式服务器,这特别适合需要在设备上运行小型HTTP服务的情况。通过将Jetty集成到Android...

    YunaiV#Blog#2018_01_06_Jetty 源码剖析系列(5) - Server 与 Handler1

    摘要:原创出处

    jsf_primefaces_app_with_embedded_jetty_9_container:一个非常酷的成就。 我设法运行了一个 JSF

    jsf_primefaces_app_with_embedded_jetty_9_container 真是一件很酷的事情。 我设法使用嵌入式 Jetty9 容器运行带有 primefaces 框架的 JSF 应用程序。

    网站应用部署介绍

    发展过程 2007年之前 apache + mod_weblogic + Weblogic 2008年 apache + mod_weblogic + jboss(4.05) ...apache(2.0.61) + mod_jk(1.2.26) + jboss(4.05) 2010年低 apache(2.2) + mod_proxy + jetty(7.2.0)

    i_jetty安卓端源码

    《深入解析i_jetty安卓端源码》 i_jetty是一款专门为Android平台设计的轻量级Web服务器组件,它基于著名的Java Web服务器Jetty进行优化和定制,为Android应用提供了强大的HTTP服务支持。本文将围绕i_jetty安卓端...

    Jetty嵌入项目代码中示例

    把${jetty_home}/lib/jsp-2.1目录复制到${project_home}/jetty/lib目录下(如果不复制jsp-2.1或jsp-2.0也可以正常启动,只是不能解析jsp,打开主页时提示 JSP not support)。 同样把jetty-6.1.14.jar、jetty-util-...

    eclipse_jetty9离线插件

    Eclipse Jetty 9离线插件是专为开发者设计的一款工具,旨在简化在Eclipse集成开发环境中配置和运行Jetty服务器的过程。Jetty是一款轻量级、高性能的Java Web服务器和Servlet容器,广泛用于开发、测试和部署Web应用...

    maven3 + jetty 新建webapp

    在创建一个基于Maven的Webapp时,`pom.xml`中需要包含特定的Maven插件和依赖,例如`jetty-maven-plugin`,这是Jetty与Maven集成的关键。 在`pom.xml`中,你需要配置以下内容: 1. **项目基本设置**:包括groupId、...

    jetty实施手册

    相比于基于AJP协议的Mod_JK,Mod_Proxy的优势在于: - **无需额外协议转换**:客户端请求可以直接被代理给后端应用,无需进行复杂的协议转换。 - **标准化HTTP协议**:后端应用可以直接接收和响应HTTP协议,这有利...

    springbatch_嵌入式jetty_动态控制的quartz

    支持web接口的批处理框架 在eclipse中导出为可执行的jar,无需部署到任何web容器中。直接通过bat或shell启动即可。...mybatis3.4.1 druid1.0.17 smg3(决策引擎) jetty8.1.5 fastjson1.2.7 springjdbc3.2.14

    Java_嵌入式Jetty WebSocket示例.zip

    确保版本号与你的其他Jetty依赖匹配。 2. **创建WebSocket服务器端点**:在Java中,你可以通过继承`javax.websocket.Endpoint`类或使用注解`@ServerEndpoint`来创建WebSocket服务器端点。例如: ```java @...

    apache+jetty负载配置案例

    在Apache与Jetty的组合中,Apache作为反向代理服务器接收来自客户端的请求,并根据预设策略将这些请求分发到后端的Jetty服务器集群。 二、Apache的 mod_proxy 模块 Apache的mod_proxy模块是实现反向代理的关键。它...

    setup_jetty_frp_java_c#.rar

    标题 "setup_jetty_frp_java_c#.rar" 暗示了这个压缩包包含与设置Jetty服务器、Java和C#之间通过Socket进行通信相关的资源。Jetty是一个轻量级的开源HTTP服务器和Servlet容器,它允许开发人员构建和部署Web应用程序...

    Jetty插件_eclipse

    2. **创建Links文件夹**:在Eclipse的安装目录下,找到`plugins`或`dropins`文件夹(取决于你的Eclipse版本),然后创建一个新的文件夹,命名为`jetty_links`。 3. **创建Link文件**:在`jetty_links`文件夹中,...

    Eclipse与Jetty集成

    Eclipse与Jetty服务器集成的最简单方法

    Jetty中文手册

    配置Apache mod_proxy和Jetty 配置Jetty中的AJP13 在JBoss中配置Jetty Remote Glassfish EJBs from Jetty Jetty and Spring EJB3 (Pitchfork) JBoss EJB3 ObjectWeb EasyBeans (aka JOnAS EJB3Container) 集群技术 ...

    Eclipse与jetty插件的安装和使用

    Eclipse与jetty插件的安装和使用 Eclipse是一个功能强大的集成开发环境(IDE),它提供了许多插件来扩展其功能。Jetty是一个流行的Web服务器和Servlet容器,Eclipse提供了一个jetty插件来支持Jetty服务器的集成。...

Global site tag (gtag.js) - Google Analytics