登錄 MBean 的範例

應用程式可以將自己的 MBean 實例登錄在 Liberty 設定檔上。之後其他應用程式或外部管理者就可以使用該 MBean 實例。

任何應用程式都可以利用 MBeanServer 實例來登錄 MBean。 假設應用程式包含一個稱為 org.example.Example 的類別,其實作的 org.example.ExampleMBean 介面定義了一些屬性和作業。 如同下列範例,這個應用程式有可能只是將 Example 類別實例化,然後利用唯一的 ObjectName 來登錄它。 如果所選的 ObjectName 已在使用中,就會報告一則 javax.management.InstanceAlreadyExistsException
import java.lang.management.ManagementFactory;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.example.Example;

...

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
Object mbean = new Example();
ObjectName name = new ObjectName("org.example.MyApplication:name=Example");
mbs.registerMBean(mbean, name);
此外,應用程式也可能登錄一個繼承 java.lang.ClassLoader 的 MBean,其可供存取任意數目的 MBean 實作類別。 之後,您可以利用任何在本端或遠端的其他 JMX 用戶端,來建立及登錄這個應用程式所提供的 MBean。 比方說,假設這個應用程式有一個執行下列作業的 MBean 類別 org.example.ApplicationClassLoader
  • 實作任何空白的 org.example.ApplicationClassLoaderMBean 介面
  • 繼承 java.lang.Classloader,且
  • 可供存取 org.example.Example MBean 實作類別
這個應用程式可以依照下列方式來登錄 ApplicationClassLoader 的實例,以將 Example MBean 提供給其他 JMX 用戶端:
import java.lang.management.ManagementFactory;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.example.ApplicationClassLoader;

...

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
Object classLoader = new ApplicationClassLoader();
ObjectName name = new ObjectName("org.example.MyApplication:name=ClassLoader");
mbs.registerMBean(classLoader, name);
任何 JMX 用戶端都可以建立 Example 實例。 下列範例假設 mbs 變數是一個 MBeanServerMBeanServerConnection 實例。 請參閱 在 Liberty 設定檔上使用 JMX MBean
import javax.management.ObjectName;

...

ObjectName loaderName = new ObjectName("org.example.MyApplication:name=ClassLoader");
ObjectName exampleName = new ObjectName("org.example.MyApplication:name=Example");
mbs.createMBean("org.example.Example", exampleName, loaderName);

必要的話,您可以利用其他形式的 MBeanServer.createMBean 方法,使用非預設的建構子來建立 MBean。

如需管理介面的相關資訊,請參閱 Liberty 設定檔的 Java API 文件。每一個 Liberty 設定檔 API 的 Java API 文件都詳述於資訊中心的程式設計介面 (API) 區段,也以個別的 .zip 檔來提供(其位於 ${wlp.install.dir}/dev 目錄下的其中一個 javadoc 子目錄中)。


指示主題類型的圖示 參照主題

資訊中心條款 | 意見


「時間戳記」圖示 前次更新: 2015 年 6 月 22 日
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=rwlp_mbeans_registration
檔名:rwlp_mbeans_registration.html