一个关于在xp系统中的IIS与JBOSS的连接方式,与你的Apache与JBOSS的方式出现相似的问题,可能会有所帮助,望自努力分析
http://issues.apache.org/bugzilla/show_bug.cgi?id=30551我的观点:
根据以上文档中提到的内容,最终确认的关键一点就是下面的内容:
So the simple reason can be that used OS is workstation level (XP) and
imposes the limit on number of concurrent connections to IIS
For workstations this is 10 IIRC.
So this means that IIS refused connection.
I would suggest that you guys use any Server version of Windows OS
if high load is required.所以 我建议楼主对自己系统的版本确认,并对当前使用的apache server的版本进行更新,最好是下载最新的版本!并且重点寻找相关apache server中定义“the limit on number of concurrent connections ”部分的配置内容,应该类似于port定义那样的一些参数设置,大都在conf目录中,自己查找一下吧以上内容,我也不确定,共同学习。
http://issues.apache.org/bugzilla/show_bug.cgi?id=30551我的观点:
根据以上文档中提到的内容,最终确认的关键一点就是下面的内容:
So the simple reason can be that used OS is workstation level (XP) and
imposes the limit on number of concurrent connections to IIS
For workstations this is 10 IIRC.
So this means that IIS refused connection.
I would suggest that you guys use any Server version of Windows OS
if high load is required.所以 我建议楼主对自己系统的版本确认,并对当前使用的apache server的版本进行更新,最好是下载最新的版本!并且重点寻找相关apache server中定义“the limit on number of concurrent connections ”部分的配置内容,应该类似于port定义那样的一些参数设置,大都在conf目录中,自己查找一下吧以上内容,我也不确定,共同学习。
解决方案 »
- 求一个正则表达式
- 框架刷新问题
- String字符串替换/截取
- hibernate关于映射入门问题
- 调试uddi4j遇到的问题,希望得到解决,已经迷茫好多天了
- 求助,关于validate包的问题
- 请教:做了一个简单的struts+hibernate,发布到tomcat可以运行,但发布到weblogic有问题
- 如何用hibernatte实现一个表中的一个字段对多个表的多对一映射?并且由一个控制字段控制?
- 请教:关于Web Services的异常处理问题
- javabeen+JSP使用tomcat5 ,需要设置嘛?为什么我只要在jsp中用been就出问题!
- Spring中,怎样执行一条SQL语句
- 求救:那位大哥有weblogic的相关书籍!基础的就行!
尽量放大以下(其他的参数自己学习一下吧)的参数值,看看是否能够解决#一个连接的最大请求数量
MaxKeepAliveRequests 100 这个值放大到10000#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 15 这个值放大试试#NT环境,只能配置这个参数来提供性能
<IfModule mpm_winnt.c>
#每个进程的线程数,最大1920。NT只启动父子两个进程,不能设置启动多个进程
ThreadsPerChild 1900
每个子进程能够处理的最大请求数
MaxRequestsPerChild 10000
</IfModule>
ThreadsPerChild 1000然后将JBOSS中的tomcat中的server.xml中的
maxThreads="1000" minSpareThreads="150" maxSpareThreads="500"
enableLookups="false" redirectPort="8443" acceptCount="200"
2005-12-02 03:13:51,031 ERROR [org.jboss.web.localhost.Engine] StandardWrapperValve[loginservlet]: Servlet.service() for servlet loginservlet threw exception
java.lang.NullPointerException
at com.cdsf.cr.servlet.LoginServlet.doGet(LoginServlet.java:69)
at com.cdsf.cr.servlet.LoginServlet.doPost(LoginServlet.java:192)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:72)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:275)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:297)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:371)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:731)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:663)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:859)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
这下就搞不明白了
下面这段错误2005-12-01 23:44:33,578 ERROR [org.apache.jk.common.ChannelSocket] Error, processing connection
java.net.SocketException: Software caused connection abort: recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
at org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:593)
at org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:531)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:651)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:859)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
我也碰到过,是由于AJP13服务器负载平衡协作中间件在APACHE与TOMCAT的命名管道出现问题,一般的你用DOS命令启动JBOSS时,就可以看到,AJP13在JBOSS下是监听8009端口的,你可以在你的APACHE安装的目录下,http.conf文件所在目录下建一个,worker2.properties文件,然后在这个文件中指定一下,AJP13通讯的端口为8009,当然前提是你必须有下载APACHE与TOMCAT5.0.28协作的连接管理器,JK2.SO文件,下面我把我本机整合成功的的worker2.properties文件显示出如下:[shm]
info=Scoreboard. Requried for reconfiguration and status with multiprocess servers.
file=anon# Defines a load balancer named lb. Use even if you only have one machine.
[lb:lb]# Example socket channel, override port and host.
[channel.socket:localhost:8019]
port=8019
host=127.0.0.1# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
group=lb# Map the Tomcat examples webapp to the Web server uri space
[uri:/*.jsp]
group=lb
[uri:/Servlet/*]
group=lb
[status:]
info=Status worker, displays runtime information[uri:/jkstatus/*]
info=The Tomcat /jkstatus handler
group=status:注意,上面一段中# Map the Tomcat examples webapp to the Web server uri space
[uri:/*.jsp]
group=lb
[uri:/Servlet/*]这里表示,所有JSP文件结尾或以/Servlet/*目录下面的请求的就交给JBOSS处理,这样你在WEB.XML文件中,写SERVLET映射的时候,最好就把它加一级目录,
所有.html文件结尾的就由APACHE去解析,达到服务器资源负载平衡的目的.
如果还有不明白的请加我的MSN:[email protected]详谈