jconsole查看连接数_在JConsole和VisualVM中查看DiagnosticCommandMBean
jconsole查看連接數
我已經將JConsole用作合適的通用JMX客戶端已有很多年了。 該工具通常隨Oracle JDK一起提供,并且易于使用。 在JMX交互方面,JConsole優于VisualVM的最大優點是JConsole帶有內置的MBeans選項卡,而必須為VisualVM中的相同功能應用插件。 但是,正如我在從JConsole到VisualVM的博客文章中所解釋的那樣,該插件易于安裝。 在本文中,我將探討一個區域,其中帶有MBeans插件的VisualVM優于JConsole,它具有內置的MBeans支持: DiagnosticCommandMBean 。 我正在使用Oracle JDK(Java 8)隨附的JConsole和VisualVM版本。
接下來的三個屏幕快照演示了如何通過JConsole訪問DiagnosticCommandMBean 。 第一個圖像顯示有關DiagnosticCommandMBean詳細信息,例如其ObjectName ( com.sun.management:type=DiagnosticCommand )。 第二幅圖像說明JConsole允許用戶通過單擊操作的“ vmSystemProperties”按鈕來查看VM的系統屬性。 第三個圖像演示了無法從JConsole調用DiagnosticCommandMBean某些操作(在本例中為“ help”)。
如最后顯示的圖像所示,某些MBean操作被禁用。 這樣做的原因是,如StackOverflow所述 ,“它們僅對采用簡單類型的操作啟用。” Andreas Veithen對此進行了詳細說明 :“ JConsole [only]允許調用僅具有簡單類型參數的方法。 這包括原始類型,原始類型的包裝器類和字符串。 帶有其他類型參數的方法不能被調用,因為JConsole不知道如何構造這些類型的實例。”
幸運的是,VisualVM的MBeans插件確實支持對DiagnosticCommandMBean的操作,該操作處理更復雜的數據類型。 通過VISUALVM-574 (“在MBeans插件中添加對DiagnosticCommandMBean的支持”)明確添加了此支持。 下一個屏幕快照描述了有關此插件的基本背景信息,可在VisualVM中通過單擊工具->插件->可用插件-> VisualVM-MBeans獲得。
下載并安裝VisualVM-MBeans插件后,VisualVM將對DiagnosticCommandMBean進行所有操作,如以下三個屏幕快照所示。 第一張圖片顯示所有操作均未“灰顯”。 第二張和第三張圖片顯示“系統屬性”和“幫助操作”均受支持。
在上面調用“ help”的示例中,我沒有向其傳遞任何參數,因此在沒有任何其他參數的情況下調用“ help”并返回給定Java進程可用的jcmd命令選項列表時,它的行為與jcmd完全相同。 下一個屏幕快照描述了這是如何工作類似于jcmd當我提供這些命令的名字之一,“幫助”操作參數(獲取幫助的VM.uptime在這種情況下)。
“ JDK 8中的工具增強功能”頁面說明DiagnosticCommandMBean通過編程方式和遠程方式使jcmd功能可用:“ JDK 8提供了對以前只能通過jcmd工具在本地訪問的診斷命令的遠程訪問。 使用Java管理擴展(JMX)提供了遠程訪問,因此診斷命令將向注冊到平臺MBean服務器的平臺MBean公開。 MBean是com.sun.management.DiagnosticCommandMBean接口。” 用于JConsole / MBeans支持的VisualVM插件使用圖形VisualVM工具的行為類似于在命令行中使用jcmd 。
這篇文章證明了DiagnosticCommandMBean提供對jcmd提供的相同數據的訪問,以進行遠程和編程訪問,并且VisualVM提供了有用的圖形界面,可通過VisualVM-MBeans插件利用DiagnosticCommandMBean 。
翻譯自: https://www.javacodegeeks.com/2016/03/looking-diagnosticcommandmbean-jconsole-visualvm.html
jconsole查看連接數
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的jconsole查看连接数_在JConsole和VisualVM中查看DiagnosticCommandMBean的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 千岛湖在哪里(杭州的千岛湖到底值不值得去
- 下一篇: 如何批量将文件名中的字母改成大写如何批量