草庐IT

java - 无法使用 VisualVM 连接到 Tomcat

我在监控远程Tomcat进程时遇到问题。我正在尝试使用Java6版本的JConsole/JVisualVM。我在具有适当安全策略的远程服务器上运行jstatd。进程启动,TCP连接可用。当我尝试通过JConsole连接时,我得到'ConnectionFailed:jmxrmi'。当我尝试通过VisualVM连接时,我添加了主机名,我的右键单击选项是“添加JMX连接”。从文档中我不清楚这是否是我希望看到的。当我尝试连接时,我得到:'Cannotconnectusingservice:jmx:rmi:///jndi/rmi://:/jmxrmi'.因此,文档建议我只需要让jstatd远程运

java - EL 表达式不会在 Tomcat 5.5 中执行,但在 tomcat 6.0.20 中工作

我正在使用spring-web-mvc开发我的应用程序...现在在我的Controller中它返回如下:publicclassInterfacesManageControllerimplementsController{publicModelAndViewhandleRequest(HttpServletRequestrequest,HttpServletResponseresponse)throwsException{MapmyModel=newHashMap();myModel.put("interfacesList",this.interfacesSecurityProcesso

java - TOMCAT_OPTS、环境变量和 System.getEnv()

我使用tomcat,我想在我的java代码中获取一个环境变量。要设置环境变量,我使用这个bash命令:exportTOMCAT_OPTS=-Dmy.var=foo之后我启动tomcat./startup.sh(inbinfolderoftomcat)在我的java代码中,我尝试获取这个变量:System.getEnv("my.var")但它返回NULL。我该怎么做?我准确地说,如果我使用maven启动tomcat并使用eclipse环境选项卡,就会找到变量!但是我需要像上面那样在生产模式下启动tomcat。编辑:当直接使用exportMY_VAR时,它在本地运行但不在我的服务器上...

java - Tomcat 线程与 Java 线程

当使用java线程时,必须注意通过同步等并发带来的基本问题。据我所知,Tomcat还使用线程来处理其工作负载。为什么我不必考虑让我的代码在Tomcat中运行时线程安全? 最佳答案 您确实必须使您的代码在tomcat中线程安全。Tomcat将从多个线程调用您的代码(即您的servlet),如果该代码不是线程安全的,您就会遇到问题。Tomcat的线程与您自己创建的任何线程都没有什么不同。 关于java-Tomcat线程与Java线程,我们在StackOverflow上找到一个类似的问题:

java - Tomcat 和 Eclipse 零周转部署

我希望能够在Eclipse中开发时将代码更改部署到Tomcat(几乎是即时的)。到目前为止,我的Eclipse输出将构建的类放在我的Web应用程序的WEB-INF/classes文件夹中。我还有一个可重新加载的上下文,将web.xml作为监视资源。对此文件的任何编辑/保存确实重新加载我的网络应用程序,只需要一秒多一点的时间——比构建一个新的war文件并完全部署它要快得多。但是,我想做的是在我编辑任何源文件时触发重新部署。由于.class文件在Tomcat中被修改,看来我只需要监视WEB-INF/classes文件夹及其子文件夹中的任何更改。我读到我可以在Tomcat的context.x

java - Tomcat 没有在 Eclipse 中关闭

我正在构建一个相对简单的Web应用程序,其中主要servlet实现ServletContextListener接口(interface)以确定上下文是已启动还是已停止。我已经实现了我的contextInitialized、contextDestroyed、init和destroy方法(都是init和destroy在基类上调用super)。我目前没有实现任何实际功能,只是在加载log4j.properties文件的contextInitialized方法中初始化了log4j。然而,当我从Eclipse中启动和停止Tomcat服务器时,一切都以正确的顺序调用(我正在使用一些System.o

java - 在启动时集成 tomcat 和 Quartz 调度程序

我正在使用tomcat版本6.0。我的要求是,当tomcat启动时,我想启动一个QuartzScheduler,它将定期安排一些作业。我试图找出最好的方法来做到这一点。以下是我能想到的选项-我可以通过web.xml文件中带有“load-on-startup”描述符的servlet来启动调度程序并在servlet中安排作业。可以使用ContextListener来完成(这对我来说听起来比1更好)。这可能是一种在contextInitialized方法内启动调度程序并在contextDestroyed方法内关闭调度程序的干净方法。使用MBean描述符。我开发了一个MBean,它将在服务器使

java - Java ConcurrentHashMap 充分利用内存(在 Tomcat 下)

这是一个内存堆栈(用作缓存),仅由静态ConcurrentHashMap(CHM)组成。所有传入的HTTP请求数据都存储在这个ConcurrentHashMap中。并且有一个异步调度程序进程从同一个ConcurrentHashMap中获取数据,并在将它们存储到数据库中后删除key.value。此系统运行良好且流畅,但只是发现在以下条件下,内存已被充分利用(2.5GB)并且所有CPU时间都用于执行GC:-1000/s的并发http命中-保持相同的并发命中15分钟异步进程每次写入数据库时​​都会记录CHM的剩余大小。CHM.size()保持在Min:300到Max:3500左右我认为此应用

java - 我如何在没有 Tomcat 的情况下在 Apache 2.2 上运行 Java 应用程序?

我正在使用不使用JSP或servlet的Java构建Web服务,并且想在我的ApacheHTTP服务器上运行它而无需安装和配置Tomcat。这可能(很容易),我该怎么做?我一直在搜索这方面的信息,我唯一遇到的是mod_jkTomcat连接器,它仍然需要安装Tomcat。我错过了什么吗? 最佳答案 当然可以。您可以使用mod_cgi来完成。一个非常简单的例子是这样的:publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("HelloJav

java - 使用 Java、Eclipse 创建 RESTful Web 服务的教程。 Apache Tomcat,不工作

我想在我的电脑上创建并运行一个简单的RESTful应用程序。我在EclipseHeliosIDE上使用Java编程语言,在MicrosoftWindowsXp操作系统上使用ApacheTomcat7服务器。我一直在尝试复制thistutorial(from3to3.4steps)的相同过程在我的电脑上,但它不起作用。这是我做的:使用ApacheTomcat7设置在Eclipse上创建了一个动态项目将我的Jersey和jsr311-api-1.0jar文件放入项目\WEB-INF\lib\目录将网页中的代码部分复制到我的项目中右键单击该项目,单击“运行方式->在服务器上运行”试图访问ht