草庐IT

tomcat8.5

全部标签

java - 如何用jvisualvm监控Tomcat,显示visualgc?

我仔细检查了以下内容:我在运行Tomcat的同一个机器上运行jvisualvm。这是Java6u19。我的Tomcat服务以与我登录时相同的用户身份运行。我的Tomcat服务使用的JVM目录与我从中使用的jvisualvm完全相同。Tomcat在特定端口上启用了JMX,但我认为这对我没有帮助。通过所有这些,我确实在jvisualvm的“本地”列表中看到了我的Tomcat进程。它显示为“(pid5644)”。如果我双击它,那么每个选项卡都会显示“此JVM不支持”。但是,VisualVM显示在“本地”中,并且所有选项卡都适用于它,显然使用相同的JVM实例。没有明显的方法可以将JMX连接添加

spring - 使用 Spring 和 Tomcat 从 JDK 6 迁移到 JDK 7 有什么问题吗?

我想利用JDK7的一些特性。如果我使用ApacheTomcat7.0.x(最新)和Spring3.1(最新),我可能会遇到什么问题? 最佳答案 有一些编译问题,JDK6可以正确推断泛型类型,而JDK7不能。这显然是JDK6中的一个错误,引用here.如果您正在使用特定于容器的资源(例如,数据源等),请务必验证这些资源是否仍在正常运行(尽管如果连接了其中任何一个,这将在Spring启动时立即显而易见)。如果您使用的是SpringSecurity,并且升级后,您本身无需进行任何更改即可运行。但是,您应该利用SpringSecurity3

java - Tomcat 上的 Tapestry Web App 偶尔会吐出垃圾

我们有一个在Tomcat6上运行的Tapestry-Spring-Hibernate网络应用程序,每秒处理大约1000个请求。随机地,没有明显的原因,一个页面只是在浏览器上显示一堆随机字符。但是,当页面刷新时,它显示正常。以下是Chrome上乱码页面来源的屏幕截图:这是我目前的发现:它似乎不是特定于浏览器的。我在Chrome和Firefox上看到过这种情况,但用户也曾在IE7及更高版本上报告过这种情况。服务器上的负载似乎与发生这种情况的时间无关。刷新页面正常显示页面,就好像什么都没发生过一样。我在服务器或应用程序日志中没有看到任何相关内容页面的内容类型标签是在同一个容器上部署了几个其他

java - 将 Websockets 实现到我的 Tomcat Servlet 中?

我正在尝试在我已经工作的servlet中使用websockets。我的问题是我使用“writer”类将HTML发布到浏览器上,但我找不到类似的WebSockets类。我的servlet看起来像这样:@WebServlet("/TestServlet")publicclassTestServletextendsHttpServlet{privateListsortierListe=newArrayList();privateFilefile1;privatePrintWriterwriter2;privatebooleansortFinished;booleanbSubmitForFil

java - 通过 JAVA_OPTS 将包含空格的系统属性传递给 Tomcat

我需要通过JAVA_OPTS环境变量将多个系统属性传递给Tomcat6。我似乎无法传递包含空格的系统属性:JRE_HOME=/root/jre1.6.0_34/JAVA_OPTS="-DsysProp1=foo-DsysProp2=barwithspaces"./catalina.shrun失败:UsingCATALINA_BASE:/root/apache-tomcat-6.0.37UsingCATALINA_HOME:/root/apache-tomcat-6.0.37UsingCATALINA_TMPDIR:/root/apache-tomcat-6.0.37/tempUsing

java - Tomcat 崩溃 : There is insufficient memory for the Java Runtime Environment to continue

我们正在运行一个用户数量较少的网络应用程序,大约7个,但显示图像的负载很高。最近我们升级到Java6u43和Tomcat6.036,在使用了一段时间(大约一周)后,tomcat服务崩溃了。重新启动后,它可以运行几天,或者只运行几个小时,然后再次崩溃。即使在重新启动服务器后它再次崩溃,我们甚至在Activity10分钟后看到了这种情况。在tomcat的bin文件夹中的hs_err_pid文件中总是有相同的信息。请参阅下面的完整错误消息示例。native内存总是不足,主要Activity线程始终是JavaThread“C2CompilerThread1”,但始终处于不同的方法中。我们在wi

java - 如何在 Tomcat 7 中代理不同的 WAR?

我正在开发一个Web应用程序,它由两个独立部分组成-身份验证和真实应用程序部分。这两个部分都是部署在(当前)一个Tomcat7实例上的WAR。因此,我的webapps文件夹中有以下两个WAR:webapps|+-BloggofantAuthentication|+-Bloggofant到目前为止,它们可以在http://127.0.0.1:8080/BloggofanAuthentication和http://127.0.0.1:8080/Bloggofant上获得。是否可以直接在Tomcat上代理WAR(这样我就不必使用Apachehttpd及其mod_proxy模块)?所以最后,服

java - 如何停止从 Eclipse Gradle 插件启动的 Tomcat 服务器?

我正在运行来自http://spring.io的教程关于RESTful网络服务。我希望能够从Eclipse启动我的Web项目作为Gradle构建(RunAs=>GradleBuild...),然后在我完成测试后停止它。我知道如何启动它,但如果不退出Eclipse(SpringToolSuite),我就无法让它停止。有什么建议吗? 最佳答案 借自GradleTomcatplugin文档,只需这样做:ext{tomcatStopPort=8081tomcatStopKey='stopKey'}taskdoTomcatRun(type:o

java - 在tomcat中记录所有请求和响应数据

某个人说,世界上每时每刻都在发生变化。我们坐在一个庞大的RESTAPI服务器上,它的维护负担越来越重,因为优秀的Java开发人员很难找到,价格昂贵,开发需要更多时间,所以我们正在慢慢切换各种应用程序Rails的一部分,这是......好吧,没关系。有太多的API(有些文档很少)只能通过查看文档来克隆功能,所以我的想法是找到一种方法来记录一段时间内通过该服务的所有内容,在机器中-可读格式,我们以后可以索引、处理和报告,因此我们可以逐渐重写代码。是否有一种“干净”而不是“hacky”的方式来使用Tomcat执行此操作?或者我应该使用wireshark/反向代理方式吗?TIA!

java - Tomcat的 "URIEncoding"、Encoding Filter和request.setCharacterEncoding有什么区别

解决编码问题的方法可能有很多:像SpringMVCUTF-8Encoding这样的编码过滤器在Tomcat的server.xml中设置URIEncoding=UTF-8,如http://struts.apache.org/release/2.1.x/docs/how-to-support-utf-8-uriencoding-with-tomcat.html.request.setCharacterEncoding(utf-8)今天,我有一个问题,路径参数没有像这样解码好@ResponseBody@RequestMapping(value="/context/method/{key}",