- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个配置看似相同的虚拟机(从相同的 VM 模板创建,除了主机名配置外,Tomcat 文件夹的差异没有产生任何差异)。在两台机器上,部署了相同的 Web 应用程序。
一台机器工作正常。在另一台机器上,我得到错误,因为找不到类。我重新启动了 tomcat 3 次,并且总是在不同的应用程序中出现不同的错误。一个这样的错误是:
java.lang.NoClassDefFoundError: org/springframework/web/context/request/ServletRequestAttributes
org.springframework.web.context.request.RequestContextListener.requestInitialized(RequestContextListener.java:64)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:776)
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:705)
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:898)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
java.lang.Thread.run(Thread.java:662)
到目前为止,在每次出现此错误时,缺少的类(例如 ServletRequestAttributes
)与需要它的类(例如 RequestContextListener
)位于同一个 jar 中。
我在两台机器上都使用 CentOS、Apache 2.2.3、Tomcat 6.0.30 和 Oracle JDK 1.6.0_24。 Tomcat 配置有充足的堆和永久代空间(两台机器上也相同)。
似乎Tomcat 6 "losing" classes in production是一个类似的问题,但至今没有解决。
一个可能的问题是“您可能已达到操作系统中打开文件句柄的最大数量”。凭借基本的 Linux 知识,我设法执行了一些在互联网上找到的命令,这些命令告诉我
cat /proc/sys/fs/file-max
),cat /proc/sys/fs/file-nr
),ulimit -n
),lsof -p <TOMCAT-PID> | wc -l
)。更新:我重新启动了失败的 Tomcat,并在浏览器中同时打开了所有应用程序。 Tomcat 的文件使用率上升到 1926。现在我几乎在每个应用程序中都看到了 NoClassDefFoundError,而且我还在一个日志文件中看到了这条消息:
2011-12-12 18:38:36,225 ERROR [TP-Processor3] [rplansecurity] org.jasig.cas.client.validation.Cas20ServiceTicketValidator java.net.SocketException: Too many open files
java.net.SocketException: Too many open files
at java.net.Socket.createImpl(Socket.java:397) ~[na:1.6.0_24]
我在正确的 Tomcat 上做了同样的事情,但也失败了。所以看起来两台机器在这里没有区别:两者似乎都打开了太多文件。
最佳答案
超出最大打开文件数是我的第一个想法。我还认为“ulimit -n”显示每个用户而不是每个进程的最大文件句柄,但我可能是错的。请记住,Tomcat 也可能在不同的用户下运行。
我会尝试使用“-verbose:class”启动 tomcat,以查看正在加载哪些类以及从何处加载,以查看是否存在任何类型的模式。
关于java - Tomcat 找不到现有的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8476921/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!