2016-07-13 42 views
0

我已經創建了一個自定義JavaBean我想從我的MBean方法返回。以下是自定義的JavaBean:如何在MBean界面中返回自定義對象

package org.text.jmx; 

public class Person { 
private firstName; 
private lastName; 

public Person(){ 
} 

public Person(String firstName, String lastName) { 
    this.firstName = firstName; 
    this.lastName = lastName; 
} 

public String getFirstName() { 
    return firstName; 
} 

public String getLastName() { 
    return lastName; 
} 

public void setFirstName(String firstName) { 
    this.firstName = firstName; 
} 

public void setLastName(String lastName) { 
    this.lastName = lastName; 
} 
} 

MBean接口如下:

package org.text.jmx; 

public interface TestJmxMBean { 
public Person getPerson(); 
public void setPerson(String firstName, String lastName); 
} 

類的工具在MBean:

package org.text.jmx; 

public class TestJmx implements TestJmxMBean { 
private Person person = new Person(); 

public Person getPerson() { 
    return person; 
} 

public void setPerson(String firstName, String lastName) { 
    person.setFirstName(firstName); 
    person.setLastName(lastName); 
} 
} 

我創建了註冊服務器應用程序高於MBean,這是成功的。我創建了一個通過JMX成功連接到服務器應用程序的客戶端應用程序,但是當我從客戶端應用程序調用testJmx.getPerson()方法時收到一個錯誤,它無法返回Person對象。我究竟做錯了什麼?它工作正常,我只是從TestJmx.getPerson()定義返回類型爲String或String []。

回答

0

爲了將自定義對象作爲JMX屬性或返回值或操作公開,必須將其定義爲OpenType。通常的做法是定義一個MXBean。我回答了一個類似question這應該給你一個關於如何進行的想法。

相關問題