2011-08-01 35 views
3

Java的附加爲JDK6 API提供了一種方法getAgentProperties()VirtualMachineJava Attach API:如何設置代理屬性?

公共抽象屬性getAgentProperties() 拋出IOException異常

返回目標虛擬機 當前代理屬性。目標虛擬機可以代表代理維護一個包含 屬性的列表。 完成的方式,屬性名稱以及允許的值類型 是特定於實現的。代理屬性爲 ,通常用於存儲通信端點和其他代理配置詳細信息。例如,調試器代理 可能會爲其傳輸地址創建代理屬性。

此方法返回代理屬性,其鍵和值爲 a String。其鍵或值不是字符串的屬性省略了 。如果 目標虛擬機中沒有維護代理屬性,則返回空屬性列表。

(從Java Attach API

我的問題是,如何設置在另一側上,這些性質(即,其中運行代理程序的JVM中 )?

instrument API的文檔也沒有提到這個問題。

+0

我不認爲你可以。你需要做什麼? –

+0

我想查看代理的狀態。即我有一個在端口上偵聽並可以啓動和停止的代理。目前,我使用我設置的系統屬性,代理程序啓動時停止並刪除。這是有效的,但如果我不污染全局系統屬性名稱空間會更好。 –

+0

從上面的Javadoc:「_例如,調試器代理可能會爲其傳輸地址創建代理屬性」。所以一定有可能有人創造這樣的財產。 –

回答

1

在熱點虛擬機上,您可以使用sun.misc.VMSupport.getAgentProperties()設置代理屬性。