簡體   English   中英

JMX和RMI之間的區別

[英]Difference between JMX and RMI

JMX的目的是什么?它用於什么? 我一直在瀏覽JMX上的一些教程,他們所做的只是注冊一些Mbeans並從jconsole調用那些Mbeans。 如果這是它的目的,那么JMX和RMI(遠程過程調用)之間有什么區別?

提前致謝!

JMX架構。

在JMX中,我們使用ObjectNameobjectReference在mbean服務器中注冊對象。 然后我們可以遠程更改屬性或調用方法。

連接器使Java Management Extensions(JMX)技術MBean服務器可供基於Java技術的遠程客戶端訪問。許多不同的連接器實現都是可能的。 特別是,用於通過客戶端和服務器之間的連接進行通信的協議有很多種可能性。由JMX Remote API規范定義的一些連接器是

  • RMI連接器 ”:每個符合JMX Remote API標准的實現都必須支持此標准遠程方法調用(RMI)協議。
  • 通用連接器 ”:JMX遠程API標准還定義了一個直接基於TCP套接字的可選協議,稱為JMX消息傳遞協議(JMXMP)。 標准的實現可以省略JMXMP連接器,但不能省略RMI連接器。 Java SE平台不包含可選的JMXMP連接器。
  • 用戶定義的協議 ”:連接器還可以實現JMX技術中未定義的協議。

如果查看上面的體系結構,連接器使用各種通信框架( RMI, IIOP, JMS, WS-* … )提供對MBeanServer API的完全遠程訪問,而適配器則將API適配到另一個協議(SNMP, …)或者基於Web的GUI (HTML/HTTP, WML/HTTP, …).

通常我們使用JMX連接器連接到MBean服務器,但我們也可以選擇其他連接器。

總結JMX是一種Java技術,RMI用於遠程方法調用,是遠程過程調用接口的Java特定實現,可以在JMX中用於遠程通信。

“遠程過程調用”是一種分布式計算概念,其中在一個主機上運行的進程可以調用另一個遠程主機上的過程。 Java中的RMI是這一概念的一種實現。

MBean是bean類,可以使用JMX總線注冊,以監聽到達總線的事件或在總線上發送事件或從其他參與的Mbeans等收集各種數據。它最常用於健康監控它可以檢查分析引擎的活動連接數,可用內存量和許多其他統計信息。 是的,可以使用RPC機制遠程調用它們。 這對於其作為數據收集器的功能至關重要,因為在應用程序服務器集群中,必須從所有收集器獲取數據並在一個地方進行整理以進行分析。

JMX是一個通用API,用於發布監視Java應用程序內部的接口(Java版本的SNMP)。

RMI用於遠程方法調用遠程過程調用接口的Java特定實現,它們根本不相關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM