我正在运行tomcat 7,并且在测试服务器上配置了2个虚拟主机。称它们为“ hostA”和“ hostB”。
工作正常,但我现在想使用javamelody监视两个应用程序。仅在1个应用程序上使用javamelody即可正常工作。但是在同时将Javamelody部署到两个应用程序时会出现问题。
在tomcat / temp / javamelody /中查看,我发现为每个上下文创建了不同的目录。不幸的是,javamelody将hostA和hostB视为相同的上下文(ROOT)。
简而言之,javamelody无法分辨hostA和hostB之间的区别,因为即使它们被配置为不同的虚拟主机,但两者都是ROOT上下文,因此javamelody忽略了这一点。
我正在寻找一种监视应用程序的方法,但是出于生产目的,我需要将它们作为ROOT上下文,否则用户将看到错误的URL。
例如必须
www.hostA.co.uk
www.hostB.co.uk
不
www.hostA.co.uk/contextA/
www.hostB.co.uk/contextB/
谢谢
最佳答案
我已经解决了这个问题,我在javamelody中找到了一个设置,可以让您设置自定义存储目录。现在,两个上下文都是根目录,但是数据是独立的,因此没有冲突。
server.xml的更改部分如下
<Host name="localhost" appBase="webappsA/">
<Context docBase="ROOT" path="" reloadable="false" >
<Parameter name='javamelody.storage-directory' value='storeA'/>
</Context>
</Host>
<Host name="127.0.0.1" appBase="webappsB/">
<Context docBase="ROOT" path="" reloadable="false" >
<Parameter name='javamelody.storage-directory' value='storeB'/>
</Context>
</Host>