本文来自:http://wangjun.easymorse.com/?p=57#more-57
最近把项目部署到windows服务器上面,通过tomcat跑80端口,一直很稳定。今天在查tomcat日志时,发现了大量的错误日志,错误详细信息如下:
2009-11-15 16:09:05 org.apache.jk.common.MsgAjp processHeader
严重: BAD packet signature 18245
2009-11-15 16:09:05 org.apache.jk.common.ChannelSocket processConnection
严重: Error, processing connection
java.lang.IndexOutOfBoundsException
at java.io.BufferedInputStream.read(BufferedInputStream.java:310)
at org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:620)
at org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:577)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:685)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:619)
通过日志错误信息,可以判定不是程序问题。通过查看相关资料可以判定是有人访问程序的ajp端口造成的,于是我模拟访问ajp的端口,结果真的重现出来了。于是我把tomcat配置文件service.xml中的相关内容注解掉就可以了。
<!–
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
–>
结果这个错误就不会出现了。
相关推荐
- 对于Tomcat服务器,可以在`catalina.bat`(Windows)或`catalina.sh`(Linux)中设置: ``` set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m ``` 2. **优化代码**: - 检查是否存在内存泄露,例如循环引用等。...
"Java.lang.OutOfMemoryError: Java heap space 解决...Java.lang.OutOfMemoryError: Java heap space 是一种常见的 Java 错误,解决该问题需要从多方面入手,包括调整 JVM 的堆大小、调整 Tomcat 的配置、优化程序等。
例如,在`catalina.bat`文件中添加`set JAVA_OPTS=-Xms128m -Xmx350m`,这意味着初始堆大小为128MB,最大堆大小为350MB。根据应用的实际需求,这个值需要适当调整。 2. **检查内存泄漏**:如果即使调整了堆大小仍然...
在Tomcat的配置文件中(如`catalina.bat`或`catalina.sh`),可以通过添加`-XX:PermSize`和`-XX:MaxPermSize`参数来设定 PermGen 的初始大小和最大大小,例如设置为`-XX:PermSize=128M`和`-XX:MaxPermSize=512m`。...
3. 更新`catalina.bat`文件,同样添加上述的`JAVA_OPTS`设置。 三、JVM调优说明: 1. `-Xmx`参数设置最大堆内存,一般建议设置为物理内存的1/4。 2. `-Xms`参数设置初始堆内存,最好将其设置为与最大堆内存相同,...
`catalina.out`是Tomcat默认的日志文件,它记录了Tomcat启动、运行以及错误信息,对开发者和管理员来说非常重要。然而,如果不进行适当管理,这个日志文件可能会无限制增长,占用大量磁盘空间,甚至可能导致服务器...
在处理这类问题时,首先应该定位问题来源,比如查看Tomcat的错误日志(如`catalina.out`或`localhost.log`),这通常能提供更多的报错信息。然后,根据错误信息找到相应的类或库,确认其是否存在于正确的位置。最后...
tomcat-catalina-9.0.31-sources.jar 最新catalina 9 的源码,attach 后可以更加方便调试Bug,更加深入准确的定位错误!
- `org.apache.catalina.core.StandardContext`:Context的实现,解析Web应用的部署描述符。 - `org.apache.catalina.core.StandardWrapper`:Wrapper的实现,管理单个Servlet。 4. **Tomcat 7.0.27版本特性** -...
Linux tomcat下catalina.out日志文件分割 前言: tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志。tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli...
Apache Tomcat 是一款开源的Java Servlet容器,常用于部署Java Web应用程序。在Linux环境中,它作为Java Enterprise Edition(Java EE)的一部分,为开发者提供了一个轻量级的服务器平台。"apache-tomcat-8.5.64.tar...
问题1:TOMCAT下载文件出错:org.apache.catalina.connector.ClientAbortException. 问题2:TOMCAT记录接收数据大小、发送数据大小和请求处理时间
- 当遇到问题时,查看 `logs/catalina.out` 文件可以帮助定位错误。 - 使用 `jstack` 和 `jmap` 工具可以诊断Java进程的线程和内存状况。 10. **更新和升级**: - 要升级Tomcat,只需替换现有版本的文件,但需...
这些设置通常在`bin/catalina.sh`的`JAVA_OPTS`变量中定义。 Apache Tomcat 9.0.53版本带来了许多改进和新特性,包括对Java EE 8的支持、增强的安全性和性能优化。持续保持Tomcat的更新对于维持系统的安全性和稳定...
在"tomcat-6.0.33.catalina.jar.zip"这个压缩包中,我们可以看到"tomcat-6.0.16-catalina.jar"这个文件,这正是Catalina的核心库,包含了Catalina的所有核心功能和实现代码。这个版本号6.0.33表示的是Tomcat的一个...
- 对于Tomcat等应用服务器,可以在`catalina.bat`(Windows环境)或`catalina.sh`(Unix/Linux环境)文件中设置`JAVA_OPTS`环境变量来控制JVM的堆内存大小。 2. **优化代码逻辑**: - 减少不必要的对象创建,特别...
在Tomcat中,默认的日志是通过catalina.out文件记录的,它使用java.util.logging包提供的日志系统。不过,catalina.out文件不具备按天滚动的功能,随着时间的推移,它会变得越来越大,不利于日志文件的管理。另外,...
另外,可以通过调整`catalina.sh`或`catalina.bat`中的JVM参数来优化内存分配和垃圾回收,以适应你的特定需求。 9. **部署应用**:将`.war`文件复制到`$CATALINA_HOME/webapps`目录下,Tomcat会自动解压并启动应用...