草庐IT

【Linux】Tomcat优化

全部标签

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 和从 Linux 中的 CD 驱动器读取数据的问题

我一直在尝试编写一个简单的音频开膛手,我可以用它来了解不同的CODEC是如何工作的,但我在第一步就卡住了,我无法让我的程序从CD读取,下面的代码就是我的代码一直在尝试使用importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.RandomAccessFile;importjava.util.Scanner;publicclasslearning{publicstaticvoidmain(Stri

java - JVM JIT 诊断工具和优化技巧

我听说过很多关于JVMJIT可以做什么的信息,但是没有看到很多关于如何分析JIT在给定的程序运行中实际做什么的信息。有很多关于使用-XX:+PrintCompilation和-XX:+PrintOptoAssembly的提示,但它会产生难以解释的非常低级的信息。一般来说,在优化过程中,我希望有一套具有专用JIT预热时间等的常见操作基准测试套件,但我希望能够看到哪些优化实际上在我的代码上触发。也许我的JVM考虑过内联一个特定的方法调用,但由于某些原因它决定不这样做,或者JIT无法避免在我的循环中进行数组边界检查,因为我对不变量和循环条件的表述过于模糊。我希望像YourKit这样的工具能够

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!