2

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/

ありがとう

4

1 に答える 1

3

この問題を解決しました。カスタムストレージディレクトリを設定できる設定を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>
于 2012-06-19T14:49:05.790 に答える