MBean 和 MXBean 介面必須為公用

Java 8 對用來建立 MBean 或 MXBean 的介面的可見性需求引進行為變更。 所有 MBean 和 MXBean 介面必須為公用。 在 Java 8 之前,即使規格已定義這些介面應該為公用,但仍容許非公用介面。

設定 jdk.jmx.mbeans.allowNonPublic 系統內容會使管理子系統回復為使用舊的行為,而容許非公用管理介面。 此內容只是過渡性,可能在後續版本中移除。

為了偵測非公用 MBean 和 MXBean 介面,Java 程式碼中會標示下列狀況:

下列範例顯示此規則所標示的非公用介面。

    介面 Example1MBean {}

    介面 Example2MXBean {}

    @MXBean interface Example3Interface {}

    @MXBean(true) interface Example4Interface {}

下列範例顯示此規則未標示的介面,因為它們已是公用或已標註為不是 MXBean。

    public interface Example5MBean{}

    public interface Example6MXBean{}

    @MXBean(false) 介面 Example7MXBean {}

此規則具有自動化修正程式,可將介面可見性設為 public。 將自訂配置複製到應用程式建置檔,以啟用修正程式自動化。

如需相關資訊,請參閱 javax.management 套件 Java 說明文件。