JavaはJDK6のためのAPIを取り付けはVirtualMachine
にする方法getAgentProperties()
を提供しています。Java Attach API:エージェントのプロパティを設定するには?
パブリック抽象プロパティgetAgentProperties() は、ターゲット仮想 マシンにおける現在のエージェントのプロパティを返します
にIOException
をスローします。ターゲット仮想マシンはエージェントに代わって プロパティのリストを保持できます。これが実行される方法は 、プロパティの名前、および が許可される値の種類は実装固有のものです。エージェントのプロパティは、通常、通信エンドポイントおよびその他のエージェント構成の詳細を格納するために使用される です。たとえば、デバッガエージェント は、そのトランスポートアドレス用のエージェントプロパティを作成することがあります。このメソッドは、キーと値が の文字列であるエージェントプロパティを返します。キーまたは値が文字列でないプロパティは、 が省略されています。 ターゲット仮想マシンにエージェントプロパティがない場合、空のプロパティリストが返されます。
(Java Attach APIから)私の質問は、が(エージェントが実行されているJVM内すなわち )他の側にこれらのプロパティを設定する方法、ありますか?
instrument APIのドキュメントでは、このことについても言及していません。
私はあなたができるとは思わない。あなたは何をする必要がありますか? –
エージェントの状態をチェックしたいと思います。私。私は、ポートで待機し、開始および停止することができるエージェントを持っています。現時点では、エージェントが起動され、停止したときに削除されたときに設定したシステムプロパティを使用します。これは動作しますが、グローバルシステムプロパティの名前空間を汚染しない方が良いでしょう。 –
上記のJavadocから: "たとえば、デバッガ・エージェントがそのトランスポート・アドレスのエージェント・プロパティを作成する可能性があります。"したがって、そのようなプロパティを作成するには誰かが可能でなければなりません。 –