2011-07-20 17 views
3

JMXを使用してtcserver内で実行中のアプリケーションを開始、停止、または再起動する方法はありますか?例えば、6.0のTomcatで、以下では、アプリケーションを起動するために行うことができます。JMX/Hypericエージェントを使用してtcサーバーでアプリケーションを起動/停止する

http://localhost:8080/manager/start?path=/examples 

私はHypericのエージェントを起動すると、私は内のランタイム・インスタンスを停止/起動するエージェントプロセス用に定義されたすべてのMBeanを見ることができませんでしたtcserver。

答えて

2

AのTomcat(およびおそらく同様にtcserver)は、ドメイン名とnameプロパティは、インストールとWebModuleに依存

Catalina:J2EEApplication=none,J2EEServer=none,j2eeType=WebModule,name=//localhost/jolokia

のように見えるすべてのWebModuleのMBeanを登録します。 これらの各MBeanには、start()およびstop()オペレーションがあります。

あなたがJolokia agentを使用している場合、あなたは直接

 
    wget -O - -q 
     http://localhost:8080/jolokia/exec/Catalina:J2EEApplication=none,J2EEServer=none,j2eeType=WebModule,name=/--/localhost/-/jolokia/start 

のようなHTTP呼び出しを使用することができます(エスケープする必要があり、/を持つ単一のスラッシュスラッシュ - /と/ダブルスラッシュ - 。/を参照してください。 Jolokia reference manual)を参照してください。

+0

Jolokiaを参照しています - 私の日を保存します – powerMicha

+0

jconsoleからランタイムインスタンス固有のMBeanを見つけることができませんでした。私は2つのことを理解していません:1)私はすべての同じマシンで実行されているが、jconsoleからのjmx URLを使用してリモートプロセスとして接続することで、私のtcserverランタイムインスタンスmbeansにアクセスできます。 2)私のtcserverがダウンしたとき、私はJMX上でhypericエージェントを使って起動することができたと思っていましたが、それは可能ではないようです。 – Prasanna

+1

jconsoleでは、すべてのモードですべてのMBeanが利用可能かどうかはわかりません。 JSR-160ベースの通信(つまり、JMXサービスURLとの接続)の場合、URLに適切なMBeanServerを指定すると、そのURLを使用できるようになります。複数のMBeanServer pro JVMが存在する可能性があります(Weblogicは少なくとも3つを使用します)。 2番目の点については、明らかにJMX経由でJVMを起動することはできません。なぜなら、JMXはJVMの実行中にのみ使用できるからです。 HypericエージェントがJavaプロセスを起動できるかどうかはわかりませんが、そうであればJMX経由ではありません。 –

関連する問題